Add unique member ID generation to registration process
All checks were successful
Build And Push Image / docker (push) Successful in 3m25s
All checks were successful
Build And Push Image / docker (push) Successful in 3m25s
- Generate and store unique member IDs during user registration - Update email templates to include formatted member ID and registration date - Add member_id field mapping in NocoDB utility functions - Enhance email service with better logging and template data handling
This commit is contained in:
@@ -116,7 +116,11 @@ export default defineEventHandler(async (event) => {
|
||||
membershipData
|
||||
});
|
||||
|
||||
// 6. Create member record
|
||||
// 6. Generate unique member ID and create member record
|
||||
console.log('[api/registration.post] Generating unique member ID...');
|
||||
const { generateMemberID } = await import('~/server/utils/member-id');
|
||||
const generatedMemberID = await generateMemberID();
|
||||
|
||||
console.log('[api/registration.post] Creating member record...');
|
||||
const memberData = {
|
||||
first_name: body.first_name,
|
||||
@@ -131,6 +135,7 @@ export default defineEventHandler(async (event) => {
|
||||
membership_status: 'Active',
|
||||
registration_date: new Date().toISOString(),
|
||||
member_since: new Date().toISOString().split('T')[0], // YYYY-MM-DD format
|
||||
member_id: generatedMemberID, // Include the generated member ID
|
||||
membership_date_paid: '',
|
||||
payment_due_date: paymentDueDate.toISOString() // 1 month from registration
|
||||
};
|
||||
@@ -154,7 +159,12 @@ export default defineEventHandler(async (event) => {
|
||||
firstName: body.first_name,
|
||||
lastName: body.last_name,
|
||||
verificationLink,
|
||||
memberId: createdMemberId
|
||||
memberId: member.member_id || `MUSA-${createdMemberId}`, // Use formatted member_id
|
||||
registrationDate: new Date().toLocaleDateString('en-US', {
|
||||
year: 'numeric',
|
||||
month: 'long',
|
||||
day: 'numeric'
|
||||
})
|
||||
});
|
||||
|
||||
console.log('[api/registration.post] Welcome email sent successfully');
|
||||
@@ -163,13 +173,13 @@ export default defineEventHandler(async (event) => {
|
||||
// Don't fail the registration if email fails - user can resend verification email later
|
||||
}
|
||||
|
||||
console.log(`[api/registration.post] ✅ Registration successful - Member ID: ${createdMemberId}, Keycloak ID: ${createdKeycloakId}`);
|
||||
console.log(`[api/registration.post] ✅ Registration successful - Member ID: ${member.member_id || `MUSA-${createdMemberId}`}, Keycloak ID: ${createdKeycloakId}`);
|
||||
|
||||
return {
|
||||
success: true,
|
||||
message: 'Registration successful! Please check your email to verify your account and set your password.',
|
||||
data: {
|
||||
memberId: createdMemberId,
|
||||
memberId: member.member_id || `MUSA-${createdMemberId}`, // Return formatted member_id
|
||||
email: body.email
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user