chore(scripts): rename contributionTier → contributionAmount in seed + legacy migration

This commit is contained in:
Jennie Robinson Faber 2026-04-19 19:10:37 +01:00
parent b17e006d65
commit 9f557d7e7a
3 changed files with 24 additions and 24 deletions

View file

@ -182,7 +182,7 @@ async function main() {
const membersColl = mongoose.connection.collection('members') const membersColl = mongoose.connection.collection('members')
const rawMembers = await membersColl const rawMembers = await membersColl
.find({ helcimSubscriptionId: { $exists: true } }) .find({ helcimSubscriptionId: { $exists: true } })
.project({ _id: 1, email: 1, status: 1, helcimSubscriptionId: 1, contributionTier: 1, billingCadence: 1 }) .project({ _id: 1, email: 1, status: 1, helcimSubscriptionId: 1, contributionAmount: 1, billingCadence: 1 })
.toArray() .toArray()
mongoMembers = rawMembers mongoMembers = rawMembers
console.log(`Found ${mongoMembers.length} members`) console.log(`Found ${mongoMembers.length} members`)
@ -347,14 +347,14 @@ async function main() {
if (!runMongoDestructive) { if (!runMongoDestructive) {
console.log(` [DRY RUN] Would updateMany on ${mongoMembers.length} members:`) console.log(` [DRY RUN] Would updateMany on ${mongoMembers.length} members:`)
console.log(' { $set: { contributionTier: \'0\', billingCadence: \'monthly\' }, $unset: { helcimSubscriptionId: \'\' } }') console.log(' { $set: { contributionAmount: 0, billingCadence: \'monthly\' }, $unset: { helcimSubscriptionId: \'\' } }')
console.log(' (Status field is NOT changed — active stays active, pending_payment stays pending_payment)') console.log(' (Status field is NOT changed — active stays active, pending_payment stays pending_payment)')
} else { } else {
console.log(` Running updateMany on ${mongoMembers.length} members with helcimSubscriptionId...`) console.log(` Running updateMany on ${mongoMembers.length} members with helcimSubscriptionId...`)
const result = await membersColl.updateMany( const result = await membersColl.updateMany(
{ helcimSubscriptionId: { $exists: true } }, { helcimSubscriptionId: { $exists: true } },
{ {
$set: { contributionTier: '0', billingCadence: 'monthly' }, $set: { contributionAmount: 0, billingCadence: 'monthly' },
$unset: { helcimSubscriptionId: '' }, $unset: { helcimSubscriptionId: '' },
}, },
{ runValidators: false }, { runValidators: false },

View file

@ -10,7 +10,7 @@ const sampleMembers = [
email: 'alex.rivera@pixelcollective.coop', email: 'alex.rivera@pixelcollective.coop',
name: 'Alex Rivera', name: 'Alex Rivera',
circle: 'founder', circle: 'founder',
contributionTier: '50', contributionAmount: 50,
status: 'active', status: 'active',
avatar: 'sweet', avatar: 'sweet',
slackInvited: true, slackInvited: true,
@ -23,7 +23,7 @@ const sampleMembers = [
email: 'sam.chen@legalcoop.com', email: 'sam.chen@legalcoop.com',
name: 'Sam Chen', name: 'Sam Chen',
circle: 'practitioner', circle: 'practitioner',
contributionTier: '30', contributionAmount: 30,
status: 'active', status: 'active',
avatar: 'mild', avatar: 'mild',
slackInvited: true, slackInvited: true,
@ -36,7 +36,7 @@ const sampleMembers = [
email: 'maria.garcia@collectivegames.coop', email: 'maria.garcia@collectivegames.coop',
name: 'Maria Garcia', name: 'Maria Garcia',
circle: 'founder', circle: 'founder',
contributionTier: '50', contributionAmount: 50,
status: 'active', status: 'active',
avatar: 'double-take', avatar: 'double-take',
helcimCustomerId: 'cust_12345', helcimCustomerId: 'cust_12345',
@ -51,7 +51,7 @@ const sampleMembers = [
email: 'david.park@impactinvest.org', email: 'david.park@impactinvest.org',
name: 'David Park', name: 'David Park',
circle: 'practitioner', circle: 'practitioner',
contributionTier: '30', contributionAmount: 30,
status: 'active', status: 'active',
avatar: 'exasperated', avatar: 'exasperated',
slackInvited: true, slackInvited: true,
@ -64,7 +64,7 @@ const sampleMembers = [
email: 'jennifer.wu@grantspecialist.org', email: 'jennifer.wu@grantspecialist.org',
name: 'Jennifer Wu', name: 'Jennifer Wu',
circle: 'practitioner', circle: 'practitioner',
contributionTier: '15', contributionAmount: 15,
status: 'active', status: 'active',
avatar: 'disbelieving', avatar: 'disbelieving',
slackInvited: true, slackInvited: true,
@ -77,7 +77,7 @@ const sampleMembers = [
email: 'jordan.lee@indiedev.com', email: 'jordan.lee@indiedev.com',
name: 'Jordan Lee', name: 'Jordan Lee',
circle: 'community', circle: 'community',
contributionTier: '15', contributionAmount: 15,
status: 'active', status: 'active',
avatar: 'wtf', avatar: 'wtf',
slackInvited: true, slackInvited: true,
@ -90,7 +90,7 @@ const sampleMembers = [
email: 'taylor.smith@gamemaker.studio', email: 'taylor.smith@gamemaker.studio',
name: 'Taylor Smith', name: 'Taylor Smith',
circle: 'community', circle: 'community',
contributionTier: '5', contributionAmount: 5,
status: 'active', status: 'active',
avatar: 'sweet', avatar: 'sweet',
slackInvited: true, slackInvited: true,
@ -103,7 +103,7 @@ const sampleMembers = [
email: 'casey.wong@studiocoop.dev', email: 'casey.wong@studiocoop.dev',
name: 'Casey Wong', name: 'Casey Wong',
circle: 'founder', circle: 'founder',
contributionTier: '30', contributionAmount: 30,
status: 'active', status: 'active',
avatar: 'mild', avatar: 'mild',
helcimCustomerId: 'cust_54321', helcimCustomerId: 'cust_54321',
@ -117,7 +117,7 @@ const sampleMembers = [
email: 'riley.johnson@cooperativedev.org', email: 'riley.johnson@cooperativedev.org',
name: 'Riley Johnson', name: 'Riley Johnson',
circle: 'community', circle: 'community',
contributionTier: '0', contributionAmount: 0,
status: 'active', status: 'active',
avatar: 'double-take', avatar: 'double-take',
slackInvited: false, slackInvited: false,
@ -130,7 +130,7 @@ const sampleMembers = [
email: 'morgan.davis@gamecollective.coop', email: 'morgan.davis@gamecollective.coop',
name: 'Morgan Davis', name: 'Morgan Davis',
circle: 'founder', circle: 'founder',
contributionTier: '50', contributionAmount: 50,
status: 'active', status: 'active',
avatar: 'exasperated', avatar: 'exasperated',
helcimCustomerId: 'cust_98765', helcimCustomerId: 'cust_98765',
@ -145,7 +145,7 @@ const sampleMembers = [
email: 'avery.brown@newdevstudio.com', email: 'avery.brown@newdevstudio.com',
name: 'Avery Brown', name: 'Avery Brown',
circle: 'community', circle: 'community',
contributionTier: '5', contributionAmount: 5,
status: 'active', status: 'active',
avatar: 'disbelieving', avatar: 'disbelieving',
slackInvited: false, slackInvited: false,
@ -158,7 +158,7 @@ const sampleMembers = [
email: 'phoenix.martinez@coopgames.dev', email: 'phoenix.martinez@coopgames.dev',
name: 'Phoenix Martinez', name: 'Phoenix Martinez',
circle: 'practitioner', circle: 'practitioner',
contributionTier: '15', contributionAmount: 15,
status: 'active', status: 'active',
avatar: 'wtf', avatar: 'wtf',
slackInvited: true, slackInvited: true,
@ -171,7 +171,7 @@ const sampleMembers = [
email: 'sage.anderson@collaborativestudio.org', email: 'sage.anderson@collaborativestudio.org',
name: 'Sage Anderson', name: 'Sage Anderson',
circle: 'community', circle: 'community',
contributionTier: '15', contributionAmount: 15,
status: 'active', status: 'active',
avatar: 'sweet', avatar: 'sweet',
slackInvited: true, slackInvited: true,
@ -184,7 +184,7 @@ const sampleMembers = [
email: 'dakota.wilson@indieguildstudio.com', email: 'dakota.wilson@indieguildstudio.com',
name: 'Dakota Wilson', name: 'Dakota Wilson',
circle: 'founder', circle: 'founder',
contributionTier: '30', contributionAmount: 30,
status: 'active', status: 'active',
avatar: 'mild', avatar: 'mild',
slackInvited: true, slackInvited: true,
@ -197,7 +197,7 @@ const sampleMembers = [
email: 'charlie.thompson@gamecooperative.net', email: 'charlie.thompson@gamecooperative.net',
name: 'Charlie Thompson', name: 'Charlie Thompson',
circle: 'practitioner', circle: 'practitioner',
contributionTier: '50', contributionAmount: 50,
status: 'active', status: 'active',
avatar: 'double-take', avatar: 'double-take',
helcimCustomerId: 'cust_11111', helcimCustomerId: 'cust_11111',
@ -213,7 +213,7 @@ const sampleMembers = [
email: 'robin.nakamura@workerowned.games', email: 'robin.nakamura@workerowned.games',
name: 'Robin Nakamura', name: 'Robin Nakamura',
circle: 'founder', circle: 'founder',
contributionTier: '50', contributionAmount: 50,
status: 'active', status: 'active',
avatar: 'exasperated', avatar: 'exasperated',
slackInvited: true, slackInvited: true,
@ -226,7 +226,7 @@ const sampleMembers = [
email: 'emery.okafor@solidaritygames.org', email: 'emery.okafor@solidaritygames.org',
name: 'Emery Okafor', name: 'Emery Okafor',
circle: 'community', circle: 'community',
contributionTier: '15', contributionAmount: 15,
status: 'active', status: 'active',
avatar: 'wtf', avatar: 'wtf',
slackInvited: true, slackInvited: true,
@ -239,7 +239,7 @@ const sampleMembers = [
email: 'quinn.fairweather@mutualgames.dev', email: 'quinn.fairweather@mutualgames.dev',
name: 'Quinn Fairweather', name: 'Quinn Fairweather',
circle: 'practitioner', circle: 'practitioner',
contributionTier: '30', contributionAmount: 30,
status: 'active', status: 'active',
avatar: 'disbelieving', avatar: 'disbelieving',
slackInvited: true, slackInvited: true,
@ -252,7 +252,7 @@ const sampleMembers = [
email: 'wren.castellano@commonsdev.coop', email: 'wren.castellano@commonsdev.coop',
name: 'Wren Castellano', name: 'Wren Castellano',
circle: 'founder', circle: 'founder',
contributionTier: '30', contributionAmount: 30,
status: 'active', status: 'active',
avatar: 'sweet', avatar: 'sweet',
slackInvited: true, slackInvited: true,
@ -265,7 +265,7 @@ const sampleMembers = [
email: 'indigo.ramirez@collectivecraft.studio', email: 'indigo.ramirez@collectivecraft.studio',
name: 'Indigo Ramirez', name: 'Indigo Ramirez',
circle: 'community', circle: 'community',
contributionTier: '5', contributionAmount: 5,
status: 'active', status: 'active',
avatar: 'mild', avatar: 'mild',
slackInvited: true, slackInvited: true,

View file

@ -25,7 +25,7 @@ async function main() {
name: "Welcome Tester", name: "Welcome Tester",
email, email,
circle: "community", circle: "community",
contributionTier: "0", contributionAmount: 0,
role: "member", role: "member",
status: "active", status: "active",
craftTags: [], craftTags: [],