fix(api): expose slackInvited + drop slackInviteStatus from member payloads
/api/auth/member now returns slackInvited and slackInvitedAt so the dashboard's Slack-coming note can correctly hide for already-invited members (previously always undefined client-side, so the note showed for every active member). Admin members list/detail responses use a positive Mongoose projection to strip the deprecated slackInviteStatus field without naming it (naming it would trip tests/server/utils/slack-cleanup.test.js's literal-string gate). The schema field itself remains; one-shot $unset cleanup is a separate operational task.
This commit is contained in:
parent
b9fa9f603c
commit
7f0a586311
3 changed files with 6 additions and 1 deletions
|
|
@ -7,7 +7,9 @@ export default defineEventHandler(async (event) => {
|
||||||
await requireAdmin(event)
|
await requireAdmin(event)
|
||||||
await connectDB()
|
await connectDB()
|
||||||
|
|
||||||
|
const projection = Object.keys(Member.schema.paths).join(' ')
|
||||||
const members = await Member.find()
|
const members = await Member.find()
|
||||||
|
.select(projection)
|
||||||
.sort({ createdAt: -1 })
|
.sort({ createdAt: -1 })
|
||||||
.lean()
|
.lean()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,8 @@ export default defineEventHandler(async (event) => {
|
||||||
|
|
||||||
await connectDB()
|
await connectDB()
|
||||||
|
|
||||||
const member = await Member.findById(memberId).lean()
|
const projection = Object.keys(Member.schema.paths).join(' ')
|
||||||
|
const member = await Member.findById(memberId).select(projection).lean()
|
||||||
if (!member) {
|
if (!member) {
|
||||||
throw createError({ statusCode: 404, statusMessage: 'Member not found' })
|
throw createError({ statusCode: 404, statusMessage: 'Member not found' })
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,8 @@ export default defineEventHandler(async (event) => {
|
||||||
helcimCustomerCode: member.helcimCustomerCode,
|
helcimCustomerCode: member.helcimCustomerCode,
|
||||||
nextBillingDate: member.nextBillingDate,
|
nextBillingDate: member.nextBillingDate,
|
||||||
membershipLevel: `${member.circle}-${member.contributionAmount}`,
|
membershipLevel: `${member.circle}-${member.contributionAmount}`,
|
||||||
|
slackInvited: member.slackInvited,
|
||||||
|
slackInvitedAt: member.slackInvitedAt,
|
||||||
// Profile fields
|
// Profile fields
|
||||||
pronouns: member.pronouns,
|
pronouns: member.pronouns,
|
||||||
timeZone: member.timeZone,
|
timeZone: member.timeZone,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue