@@ -22,21 +22,21 @@ export default function membersRouter(
2222 router . get ( "/unapproved" , memberCtrl . getUnapprovedMembers ) ;
2323
2424 /**
25- * @api {get } /members/:memberId Get a member's details
26- * @apiName GetUserDetails
27- * @apiGroup Member
28- *
29- * @apiParam (URL Params) {String} memberId Member's unique ID.
30- *
31- * @apiSuccess {Object} user Member object.
32- * @apiError (Error 400) BadRequest No memberId provided.
33- *
34- * @apiExample {curl} Example usage:
35- * curl -X GET http://localhost:3000/members/123
36- */
25+ * @api {get } /members/:memberId Get a member's details
26+ * @apiName GetUserDetails
27+ * @apiGroup Member
28+ *
29+ * @apiParam (URL Params) {String} memberId Member's unique ID.
30+ *
31+ * @apiSuccess {Object} user Member object.
32+ * @apiError (Error 400) BadRequest No memberId provided.
33+ *
34+ * @apiExample {curl} Example usage:
35+ * curl -X GET http://localhost:3000/members/123
36+ */
3737 router . get ( "/:memberId" , memberCtrl . getUserDetails ) ;
38-
39- /**
38+
39+ /**
4040 * @api {get } /members List all approved members or get member by email
4141 * @apiName ListAllApprovedMembers
4242 * @apiGroup Member
@@ -62,85 +62,85 @@ export default function membersRouter(
6262 router . get ( "/" , memberCtrl . listAllApprovedMembers ) ;
6363
6464 /**
65- * @api {post } /members Create a new member
66- * @apiName CreateAMember
67- * @apiGroup Member
68- *
69- * @apiBody {String} email Email of the member. (Required)
70- * @apiBody {String} name Full name of the member. (Required)
71- * @apiBody {String} password Member's password. (Required)
72- * @apiBody {String} passoutYear Graduation year (Required, e.g., "2026").
73- * @apiBody {String} provider Authentication provider (Required, e.g., "local", "google").
74- * @apiBody {File} [file] Profile photo file (field name: "file").
75- *
76- * @apiSuccess {Boolean} success Request status.
77- * @apiSuccess {Object} user Created member object.
78- *
79- * @apiError (Error 400) ApiError Required fields absent.
80- * @apiError (Error 500) ServerError Error creating user.
81- *
82- * @apiExample {curl} Example usage:
83- * curl -X POST -F "file=@profile.jpg" \
84- * -F "email=john@example.com" \
85- * -F "name=John Doe" \
86- * -F "password=securePass123" \
87- * -F "passoutYear=2026" \
88- * -F "provider=local" \
89- * http://localhost:3000/members
90- */
91-
65+ * @api {post } /members Create a new member
66+ * @apiName CreateAMember
67+ * @apiGroup Member
68+ *
69+ * @apiBody {String} email Email of the member. (Required)
70+ * @apiBody {String} name Full name of the member. (Required)
71+ * @apiBody {String} password Member's password. (Required)
72+ * @apiBody {String} passoutYear Graduation year (Required, e.g., "2026").
73+ * @apiBody {String} provider Authentication provider (Required, e.g., "local", "google").
74+ * @apiBody {File} [file] Profile photo file (field name: "file").
75+ *
76+ * @apiSuccess {Boolean} success Request status.
77+ * @apiSuccess {Object} user Created member object.
78+ *
79+ * @apiError (Error 400) ApiError Required fields absent.
80+ * @apiError (Error 500) ServerError Error creating user.
81+ *
82+ * @apiExample {curl} Example usage:
83+ * curl -X POST -F "file=@profile.jpg" \
84+ * -F "email=john@example.com" \
85+ * -F "name=John Doe" \
86+ * -F "password=securePass123" \
87+ * -F "passoutYear=2026" \
88+ * -F "provider=local" \
89+ * http://localhost:3000/members
90+ */
9291 router . post ( "/" , upload . single ( "file" ) , memberCtrl . createAMember ( supabase ) ) ;
9392
9493 /**
95- * @api {patch } /members/:memberId Update a member
96- * @apiName UpdateAMember
97- * @apiGroup Member
98- *
99- * @apiParam {String} memberId Member's unique ID.
100- *
101- * @apiBody {String} memberData JSON string containing the member's updated details.
102- * @apiBody {File} [file] Profile photo file (field name: "file").
103- *
104- * @apiBody (memberData fields) {String} [name] Full name of the member.
105- * @apiBody (memberData fields) {String} [email] Email address.
106- * @apiBody (memberData fields) {String} [phone] Phone number.
107- * @apiBody (memberData fields) {String} [bio] Short bio.
108- * @apiBody (memberData fields) {String} [github] GitHub handle.
109- * @apiBody (memberData fields) {String} [linkedin] LinkedIn handle.
110- * @apiBody (memberData fields) {String} [twitter] Twitter handle.
111- * @apiBody (memberData fields) {String} [geeksforgeeks] GeeksforGeeks username.
112- * @apiBody (memberData fields) {String} [leetcode] LeetCode username.
113- * @apiBody (memberData fields) {String} [codechef] CodeChef username.
114- * @apiBody (memberData fields) {String} [codeforces] Codeforces username.
115- * @apiBody (memberData fields) {Date} [passoutYear] Graduation year (ISO string format).
116- * @apiBody (memberData fields) {String} [profilePhoto] (Auto-assigned if a new file is uploaded).
117- *
118- * @apiSuccess {Boolean} success Request status.
119- * @apiSuccess {Object} user Updated member object.
120- *
121- * @apiError (Error 400) ApiError No memberId provided or invalid request data.
122- * @apiError (Error 404) NotFound Member not found.
123- * @apiError (Error 500) ServerError Unexpected error occurred during update.
124- *
125- * @apiExample {curl} Example usage:
126- * curl -X PATCH -F "file=@profile.jpg" \
127- * -F 'memberData={"name":"John Doe","email":"john@example .com"}' \
128- * http://localhost:3000/members/123
129- */
94+ * @api {patch } /members/:memberId Update a member
95+ * @apiName UpdateAMember
96+ * @apiGroup Member
97+ *
98+ * @apiParam {String} memberId Member's unique ID.
99+ *
100+ * @apiBody {String} memberData JSON string containing the member's updated details.
101+ * @apiBody {File} [file] Profile photo file (field name: "file").
102+ *
103+ * @apiBody (memberData fields) {String} [name] Full name of the member.
104+ * @apiBody (memberData fields) {String} [email] Email address.
105+ * @apiBody (memberData fields) {String} [phone] Phone number.
106+ * @apiBody (memberData fields) {String} [bio] Short bio.
107+ * @apiBody (memberData fields) {String} [github] GitHub handle.
108+ * @apiBody (memberData fields) {String} [linkedin] LinkedIn handle.
109+ * @apiBody (memberData fields) {String} [twitter] Twitter handle.
110+ * @apiBody (memberData fields) {String} [geeksforgeeks] GeeksforGeeks username.
111+ * @apiBody (memberData fields) {String} [leetcode] LeetCode username.
112+ * @apiBody (memberData fields) {String} [codechef] CodeChef username.
113+ * @apiBody (memberData fields) {String} [codeforces] Codeforces username.
114+ * @apiBody (memberData fields) {Date} [passoutYear] Graduation year (ISO string format).
115+ * @apiBody (memberData fields) {String} [profilePhoto] (Auto-assigned if a new file is uploaded).
116+ *
117+ * @apiSuccess {Boolean} success Request status.
118+ * @apiSuccess {Object} user Updated member object.
119+ *
120+ * @apiError (Error 400) ApiError No memberId provided or invalid request data.
121+ * @apiError (Error 404) NotFound Member not found.
122+ * @apiError (Error 500) ServerError Unexpected error occurred during update.
123+ *
124+ * @apiExample {curl} Example usage:
125+ * curl -X PATCH -F "file=@profile.jpg" \
126+ * -F 'memberData={"name":"John Doe","email":"john@example .com"}' \
127+ * http://localhost:3000/members/123
128+ */
130129 router . patch (
131130 "/:memberId" ,
132131 upload . single ( "file" ) ,
133132 memberCtrl . updateAMember ( supabase ) ,
134133 ) ;
135134
136- /**
135+
136+ /**
137137 * @api {patch } /members/approve/:memberId Approve a member
138138 * @apiName UpdateApprovalRequest
139139 * @apiGroup Member
140140 *
141141 * @apiParam (URL Params) {String} memberId Member ID.
142142 * @apiBody {Boolean} isApproved Approval status (true = approved, false = rejected).
143- * @apiBody {String} adminId ID of the admin who approved.
143+ * @apiBody {String} adminId ID of the admin who approved/rejected .
144144 *
145145 * @apiSuccess {Object} update Approval status update result.
146146 * @apiError (Error 400) BadRequest Missing required fields.
@@ -152,18 +152,19 @@ export default function membersRouter(
152152 */
153153 router . patch ( "/approve/:memberId" , memberCtrl . updateRequest ) ;
154154
155- /**
156- * @api {get } /members/:memberId/achievements Get member's achievements
157- * @apiName GetUserAchievements
158- * @apiGroup Member
159- *
160- * @apiParam (URL Params) {String} memberId Member ID.
161- *
162- * @apiSuccess {Object[]} achievements List of achievements.
163- *
164- * @apiExample {curl} Example usage:
165- * curl -X GET http://localhost:3000/members/123/achievements
166- */
155+
156+ /**
157+ * @api {get } /members/:memberId/achievements Get member's achievements
158+ * @apiName GetUserAchievements
159+ * @apiGroup Member
160+ *
161+ * @apiParam (URL Params) {String} memberId Member ID.
162+ *
163+ * @apiSuccess {Object[]} achievements List of achievements.
164+ *
165+ * @apiExample {curl} Example usage:
166+ * curl -X GET http://localhost:3000/members/123/achievements
167+ */
167168 router . get ( "/:memberId/achievements" , memberCtrl . getUserAchievements ) ;
168169
169170 /**
0 commit comments