@@ -20,30 +20,133 @@ export default function projectsRouter(
2020) {
2121 const router = Router ( )
2222
23- // Getting all User
23+ // Get all User
24+ /**
25+ * @api {get } /api/v1/projects Get all projects
26+ * @apiName getProjects
27+ * @apiGroup Project
28+ *
29+ * @apiSuccess {Object{}} An array of all projects
30+ */
2431 router . get ( '/' , getProjects )
2532
2633 // get Project by Id
34+ /**
35+ * @api {get } /api/v1/projects/:projectId Get specific project by its ID
36+ * @apiName getProjectById
37+ * @apiGroup Project
38+ *
39+ * @apiParam {UUID} projectId ID of the project
40+ * @apiSuccess {object{}} Get single project whoes ID -> projectID
41+ *
42+ * @apiError {object{}} No projects with such ID
43+ */
2744 router . get ( '/:projectId' , getProjectById )
2845
2946 // Create project
47+ /**
48+ * @api {post } /api/v1/projects/create Create the new Project
49+ * @apiName createProject
50+ * @apiGroup Project
51+ *
52+ * @apiParam {Request body} {string} Name of the project
53+ * @apiParam {Request body} {string} Image usrl of project Photo
54+ * @apiParam {Request body} {string} githubUrl of project
55+ * @apiParam {Request body} {string} deploy link of project
56+ * @apiParam { UUID } {string} AdminID ID of the admin who create the project
57+ *
58+ * @apiSuccess {object{}} created project by the admin
59+ *
60+ * @apiError { error 400} some fields are missing
61+ * @apiError { error 500} error related to the db interaction
62+ */
3063 router . post ( '/create' , createProject )
3164
3265 // Update Project
33- router . patch ( '/:projectId' , updateProjects )
66+ /**
67+ * @api {patch } /api/v1/projects/:projectId/update Update the projects with given project id
68+ * @apiName updateProjects
69+ * @apiGroup Project
70+ *
71+ * @apiParam {Request body} ? {string} Name of the project
72+ * @apiParam {Request body} ? {string} Image usrl of project Photo
73+ * @apiParam {Request body} ? {string} githubUrl of project
74+ * @apiParam {Request body} ? {string} deploy link of project
75+ * @apiParam { UUID } {string} AdminID ID of the admin who update the project
76+ * @apiParam { projectID } {number} projectID ID of the project
77+ *
78+ * @apiSuccess {object{}} updated project by the admin
79+ *
80+ * @apiError { error 400} some fields are missing
81+ * @apiError { error 500} error related to the db interaction
82+ */
83+ router . patch ( '/:projectId/update' , updateProjects )
3484
3585 // delete projects
36- router . delete ( '/:projectId' , deleteProjects )
86+
87+ /**
88+ * @api {delete } /api/v1/projects/:projectId/delete Delete the project
89+ * @apiName deleteProjects
90+ * @apiGroup Project
91+ *
92+ * @apiParam { projectId } { number } projectID ID of the project to be delete
93+ * @apiParam { UUID } {string} AdminID ID of the admin who delete the project
94+ *
95+ * @apiSuccess {Object{}} A deleted project
96+ *
97+ * @apiError {error 400} Some fields are missing
98+ * @apiError {error 500} Internal server error
99+ */
100+ router . delete ( '/:projectId/delete' , deleteProjects )
37101
38102 // getMember by ProjectId
103+ /**
104+ * @api {get } /api/v1/projects/:projectId/members Get members enroll in projects
105+ * @apiName getMembersBYProjectId
106+ * @apiGroup MemberProject
107+ *
108+ * @apiParam { projectId } { number } projectID ID of the project
109+ *
110+ * @apiSuccess {Object{}} array of member associated with projects
111+ *
112+ * @apiError {error 400} Some fields are missing
113+ * @apiError {error 500} Internal server error
114+ */
39115
40116 router . get ( '/:projectId/members' , getMembersByProjectId )
41117
42118 // add member to project
119+ /**
120+ * @api {post } /api/v1/projects/:projectId/members add members into projects
121+ * @apiName addmembers
122+ * @apiGroup MemberProject
123+ *
124+ * @apiParam { projectId } { number } projectID ID of the project
125+ * @apiParam { Request body} { array } constains the array of memberId
126+ *
127+ * @apiSuccess {Object{}} array of member added into projects
128+ *
129+ * @apiError {error 400} Some fields are missing
130+ * @apiError {error 500} Internal server error
131+ */
132+
43133
44134 router . post ( '/:projectId/members' , addMembers )
45135
46136 // Remover the memnber
137+ /**
138+ * @api {delete } /api/v1/projects/:projectId/members/:memberId add members into projects
139+ * @apiName removeMembers
140+ * @apiGroup MemberProject
141+ *
142+ * @apiParam { projectId } { number } projectID ID of the project
143+ * @apiParam { memberId} { string } memberID ID of the member
144+ *
145+ * @apiSuccess {Object{}} member which are deleted
146+ *
147+ * @apiError {error 400} Some fields are missing
148+ * @apiError {error 500} Internal server error
149+ */
47150
48151 router . delete ( '/:projectId/members/:memberId' , removeMembers )
49152
0 commit comments