diff --git a/packages/backend/server/src/data/migrations/1712224382221-refresh-free-plan.ts b/packages/backend/server/src/data/migrations/1712224382221-refresh-free-plan.ts index 7d94a9d74a..5db27509a8 100644 --- a/packages/backend/server/src/data/migrations/1712224382221-refresh-free-plan.ts +++ b/packages/backend/server/src/data/migrations/1712224382221-refresh-free-plan.ts @@ -1,14 +1,17 @@ import { PrismaClient } from '@prisma/client'; -import { Quotas } from '../../core/quota'; -import { upgradeQuotaVersion } from './utils/user-quotas'; +import { QuotaType } from '../../core/quota/types'; +import { upgradeLatestQuotaVersion } from './utils/user-quotas'; export class RefreshFreePlan1712224382221 { // do the migration static async up(db: PrismaClient) { - // free plan 1.0 - const quota = Quotas[4]; - await upgradeQuotaVersion(db, quota, 'free plan 1.1 migration'); + // free plan 1.1 + await upgradeLatestQuotaVersion( + db, + QuotaType.FreePlanV1, + 'free plan 1.1 migration' + ); } // revert the migration diff --git a/packages/backend/server/src/data/migrations/utils/user-quotas.ts b/packages/backend/server/src/data/migrations/utils/user-quotas.ts index 45a59e636c..c245453282 100644 --- a/packages/backend/server/src/data/migrations/utils/user-quotas.ts +++ b/packages/backend/server/src/data/migrations/utils/user-quotas.ts @@ -1,7 +1,8 @@ import { PrismaClient } from '@prisma/client'; import { FeatureKind } from '../../../core/features'; -import { Quota } from '../../../core/quota/types'; +import { Quotas } from '../../../core/quota/schema'; +import { Quota, QuotaType } from '../../../core/quota/types'; import { upsertFeature } from './user-features'; export async function upgradeQuotaVersion( @@ -63,3 +64,14 @@ export async function upgradeQuotaVersion( }); }); } + +export async function upgradeLatestQuotaVersion( + db: PrismaClient, + type: QuotaType, + reason: string +) { + const quota = Quotas.filter(f => f.feature === type); + quota.sort((a, b) => b.version - a.version); + const latestQuota = quota[0]; + await upgradeQuotaVersion(db, latestQuota, reason); +}