feat(server): rename contributionTier → contributionAmount in routes + utils
This commit is contained in:
parent
7a2acd4628
commit
57f5152be4
18 changed files with 35 additions and 35 deletions
|
|
@ -17,9 +17,9 @@ export default defineEventHandler(async (event) => {
|
|||
})
|
||||
|
||||
// Calculate monthly revenue from member contributions
|
||||
const members = await Member.find({}, 'contributionTier').lean()
|
||||
const members = await Member.find({}, 'contributionAmount').lean()
|
||||
const monthlyRevenue = members.reduce((total, member) => {
|
||||
return total + parseInt(member.contributionTier || '0')
|
||||
return total + (member.contributionAmount || 0)
|
||||
}, 0)
|
||||
|
||||
const pendingSlackInvites = await Member.countDocuments({ slackInvited: false })
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ export default defineEventHandler(async (event) => {
|
|||
name: body.name,
|
||||
email: body.email,
|
||||
circle: body.circle,
|
||||
contributionTier: body.contributionTier,
|
||||
contributionAmount: body.contributionAmount,
|
||||
slackInvited: false
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ export default defineEventHandler(async (event) => {
|
|||
name: body.name,
|
||||
email: body.email,
|
||||
circle: body.circle,
|
||||
contributionTier: body.contributionTier,
|
||||
contributionAmount: body.contributionAmount,
|
||||
status: body.status,
|
||||
}, { new: true })
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ export default defineEventHandler(async (event) => {
|
|||
if (existing.name !== body.name) changedFields.push('name')
|
||||
if (existing.email !== body.email) changedFields.push('email')
|
||||
if (existing.circle !== body.circle) changedFields.push('circle')
|
||||
if (existing.contributionTier !== body.contributionTier) changedFields.push('contributionTier')
|
||||
if (existing.contributionAmount !== body.contributionAmount) changedFields.push('contributionAmount')
|
||||
if (existing.status !== body.status) changedFields.push('status')
|
||||
|
||||
if (changedFields.length) {
|
||||
|
|
@ -58,7 +58,7 @@ export default defineEventHandler(async (event) => {
|
|||
name: updated.name,
|
||||
email: updated.email,
|
||||
circle: updated.circle,
|
||||
contributionTier: updated.contributionTier,
|
||||
contributionAmount: updated.contributionAmount,
|
||||
status: updated.status,
|
||||
role: updated.role,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ export default defineEventHandler(async (event) => {
|
|||
name: row.name,
|
||||
email: row.email,
|
||||
circle: row.circle,
|
||||
contributionTier: row.contributionTier,
|
||||
contributionAmount: row.contributionAmount,
|
||||
slackInvited: false
|
||||
})
|
||||
const saved = await member.save()
|
||||
|
|
|
|||
|
|
@ -11,10 +11,10 @@ export default defineEventHandler(async (event) => {
|
|||
status: member.status,
|
||||
role: member.role || 'member',
|
||||
circle: member.circle,
|
||||
contributionTier: member.contributionTier,
|
||||
contributionAmount: member.contributionAmount,
|
||||
billingCadence: member.billingCadence,
|
||||
helcimCustomerId: member.helcimCustomerId,
|
||||
membershipLevel: `${member.circle}-${member.contributionTier}`,
|
||||
membershipLevel: `${member.circle}-${member.contributionAmount}`,
|
||||
// Profile fields
|
||||
pronouns: member.pronouns,
|
||||
timeZone: member.timeZone,
|
||||
|
|
|
|||
|
|
@ -30,8 +30,8 @@ export default defineEventHandler(async (event) => {
|
|||
name: member.name,
|
||||
circle: member.circle,
|
||||
status: member.status,
|
||||
contributionTier: member.contributionTier,
|
||||
membershipLevel: `${member.circle}-${member.contributionTier}`
|
||||
contributionAmount: member.contributionAmount,
|
||||
membershipLevel: `${member.circle}-${member.contributionAmount}`
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ export default defineEventHandler(async (event) => {
|
|||
$setOnInsert: {
|
||||
name: "Test Admin",
|
||||
circle: "founder",
|
||||
contributionTier: "0",
|
||||
contributionAmount: 0,
|
||||
role: "admin",
|
||||
status: "active",
|
||||
},
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ export default defineEventHandler(async (event) => {
|
|||
eventData.registrations.push({
|
||||
name: body.name,
|
||||
email: body.email.toLowerCase(),
|
||||
membershipLevel: `${member.circle}-${member.contributionTier}`,
|
||||
membershipLevel: `${member.circle}-${member.contributionAmount}`,
|
||||
isMember: true,
|
||||
paymentStatus: 'not_required',
|
||||
amountPaid: 0
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ export default defineEventHandler(async (event) => {
|
|||
|
||||
if (memberHasAccess) {
|
||||
isMember = true;
|
||||
membershipLevel = `${member.circle}-${member.contributionTier}`;
|
||||
membershipLevel = `${member.circle}-${member.contributionAmount}`;
|
||||
}
|
||||
|
||||
// Add registration
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ export default defineEventHandler(async (event) => {
|
|||
// Check if user is a member
|
||||
const member = await Member.findOne({
|
||||
email: body.email.toLowerCase(),
|
||||
}).select("email name circle contributionTier");
|
||||
}).select("email name circle contributionAmount");
|
||||
|
||||
if (!member) {
|
||||
return {
|
||||
|
|
@ -28,7 +28,7 @@ export default defineEventHandler(async (event) => {
|
|||
eligibleForMemberPricing: true,
|
||||
memberInfo: {
|
||||
circle: member.circle,
|
||||
tier: member.contributionTier,
|
||||
amount: member.contributionAmount,
|
||||
name: member.name,
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ export default defineEventHandler(async (event) => {
|
|||
email: body.email.toLowerCase(),
|
||||
name: body.name,
|
||||
circle: "community",
|
||||
contributionTier: "0",
|
||||
contributionAmount: 0,
|
||||
status: "guest",
|
||||
},
|
||||
},
|
||||
|
|
@ -117,7 +117,7 @@ export default defineEventHandler(async (event) => {
|
|||
name: body.name,
|
||||
email: body.email.toLowerCase(),
|
||||
membershipLevel: memberHasAccess
|
||||
? `${member.circle}-${member.contributionTier}`
|
||||
? `${member.circle}-${member.contributionAmount}`
|
||||
: "non-member",
|
||||
isMember: memberHasAccess,
|
||||
ticketType: ticketInfo.ticketType,
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ export default defineEventHandler(async (event) => {
|
|||
const member = await Member.findOne({ email: email.toLowerCase() });
|
||||
if (member) {
|
||||
memberName = memberName || member.name;
|
||||
memberLevel = `${member.circle}-${member.contributionTier}`;
|
||||
memberLevel = `${member.circle}-${member.contributionAmount}`;
|
||||
}
|
||||
|
||||
// Add to waitlist
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ export default defineEventHandler(async (event) => {
|
|||
email: body.email,
|
||||
name: body.name,
|
||||
circle: body.circle,
|
||||
contributionTier: body.contributionTier,
|
||||
contributionAmount: body.contributionAmount,
|
||||
helcimCustomerId: customerData.id,
|
||||
status: 'pending_payment',
|
||||
agreement: { acceptedAt: new Date() }
|
||||
|
|
@ -46,7 +46,7 @@ export default defineEventHandler(async (event) => {
|
|||
email: member.email,
|
||||
name: member.name,
|
||||
circle: member.circle,
|
||||
contributionTier: member.contributionTier,
|
||||
contributionAmount: member.contributionAmount,
|
||||
status: member.status
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -43,9 +43,9 @@ export default defineEventHandler(async (event) => {
|
|||
pronouns: body.pronouns || undefined,
|
||||
location: body.location || undefined,
|
||||
circle: body.circle,
|
||||
contributionTier: body.contributionTier,
|
||||
contributionAmount: body.contributionAmount,
|
||||
bio: body.motivation || undefined,
|
||||
status: body.contributionTier === '0' ? 'active' : 'pending_payment',
|
||||
status: body.contributionAmount === 0 ? 'active' : 'pending_payment',
|
||||
agreement: { acceptedAt: new Date() },
|
||||
})
|
||||
|
||||
|
|
@ -66,7 +66,7 @@ export default defineEventHandler(async (event) => {
|
|||
})
|
||||
|
||||
// For free tier, issue session and redirect to welcome
|
||||
if (body.contributionTier === '0') {
|
||||
if (body.contributionAmount === 0) {
|
||||
const sessionToken = jwt.sign(
|
||||
{ memberId: member._id, email: member.email, tv: member.tokenVersion },
|
||||
config.jwtSecret,
|
||||
|
|
@ -90,7 +90,7 @@ export default defineEventHandler(async (event) => {
|
|||
email: member.email,
|
||||
name: member.name,
|
||||
circle: member.circle,
|
||||
contributionTier: member.contributionTier,
|
||||
contributionAmount: member.contributionAmount,
|
||||
status: member.status,
|
||||
}
|
||||
}
|
||||
|
|
@ -105,7 +105,7 @@ export default defineEventHandler(async (event) => {
|
|||
email: member.email,
|
||||
name: member.name,
|
||||
circle: member.circle,
|
||||
contributionTier: member.contributionTier,
|
||||
contributionAmount: member.contributionAmount,
|
||||
status: member.status,
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,12 +7,12 @@ export default defineEventHandler(async (event) => {
|
|||
const member = await requireAuth(event);
|
||||
|
||||
// If already on free tier, nothing to cancel
|
||||
if (member.contributionTier === "0" || !member.helcimSubscriptionId) {
|
||||
if (member.contributionAmount === 0 || !member.helcimSubscriptionId) {
|
||||
return {
|
||||
success: true,
|
||||
message: "No active subscription to cancel",
|
||||
status: member.status,
|
||||
contributionTier: member.contributionTier,
|
||||
contributionAmount: member.contributionAmount,
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ export default defineEventHandler(async (event) => {
|
|||
{
|
||||
$set: {
|
||||
status: 'pending_payment',
|
||||
contributionTier: '0',
|
||||
contributionAmount: 0,
|
||||
helcimSubscriptionId: null,
|
||||
paymentMethod: 'none',
|
||||
subscriptionEndDate: new Date(),
|
||||
|
|
@ -46,7 +46,7 @@ export default defineEventHandler(async (event) => {
|
|||
success: true,
|
||||
message: "Subscription cancelled successfully",
|
||||
status: 'pending_payment',
|
||||
contributionTier: '0',
|
||||
contributionAmount: 0,
|
||||
};
|
||||
} catch (error) {
|
||||
console.error("Error cancelling subscription:", error);
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ async function inviteToSlack(member) {
|
|||
member.name,
|
||||
member.email,
|
||||
member.circle,
|
||||
member.contributionTier,
|
||||
member.contributionAmount,
|
||||
inviteResult.status
|
||||
)
|
||||
|
||||
|
|
@ -128,7 +128,7 @@ export default defineEventHandler(async (event) => {
|
|||
email: member.email,
|
||||
name: member.name,
|
||||
circle: member.circle,
|
||||
contributionTier: member.contributionTier,
|
||||
contributionAmount: member.contributionAmount,
|
||||
status: member.status
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ export default defineEventHandler(async (event) => {
|
|||
email: member.email,
|
||||
name: member.name,
|
||||
circle: member.circle,
|
||||
contributionTier: member.contributionTier,
|
||||
contributionAmount: member.contributionAmount,
|
||||
pronouns: member.pronouns,
|
||||
timeZone: member.timeZone,
|
||||
avatar: member.avatar,
|
||||
|
|
|
|||
|
|
@ -181,7 +181,7 @@ export class SlackService {
|
|||
memberName: string,
|
||||
memberEmail: string,
|
||||
circle: string,
|
||||
contributionTier: string,
|
||||
contributionAmount: number,
|
||||
invitationStatus: string = "manual_invitation_required",
|
||||
): Promise<void> {
|
||||
try {
|
||||
|
|
@ -240,7 +240,7 @@ export class SlackService {
|
|||
},
|
||||
{
|
||||
type: "mrkdwn",
|
||||
text: `*Contribution:*\n$${contributionTier}/month`,
|
||||
text: `*Contribution:*\n$${contributionAmount}/month`,
|
||||
},
|
||||
],
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue