mirror of
				https://github.com/xfarrow/blink
				synced 2025-06-27 09:03:02 +02:00 
			
		
		
		
	create org post
This commit is contained in:
		| @@ -22,6 +22,7 @@ app.post('/blinkapi/login', api_controller.login); // Login | ||||
| app.get('/blinkapi/person/:id', api_controller.verifyToken, api_controller.getPerson); // Obtain Person's details | ||||
| app.post('/blinkapi/organization', api_controller.verifyToken, api_controller.createOrganization); // Create organization | ||||
| app.delete('/blinkapi/organization/:id', api_controller.verifyToken, api_controller.deleteOrganization); // Delete organization | ||||
| app.post('/blinkapi/organization/post', api_controller.verifyToken, api_controller.createOrganizationPost); // Create a organization's post | ||||
|  | ||||
| // Start the server | ||||
| app.listen(process.env.API_SERVER_PORT, () => { | ||||
|   | ||||
| @@ -188,6 +188,34 @@ async function deleteOrganization(req, res){ | ||||
|   } | ||||
| } | ||||
|  | ||||
| // POST | ||||
| async function createOrganizationPost(req, res){ | ||||
|   const organizationPostData = req.body; | ||||
|    | ||||
|   // Ensure that the required fields are present before proceeding | ||||
|   if (!organizationPostData.organization_id || !organizationPostData.content) { | ||||
|     return res.status(400).json("Invalid request."); | ||||
|   } | ||||
|  | ||||
|   try { | ||||
|     if (await isPersonOrganizationAdmin(req.jwt.person_id, organizationPostData.organization_id)){ | ||||
|       const organizationPost = await db.one('INSERT INTO "OrganizationPost" (organization_id, content) VALUES ($1, $2) RETURNING *',  | ||||
|                                             [organizationPostData.organization_id, organizationPostData.content]); | ||||
|       if(organizationPost){ | ||||
|         return res.status(200).json(organizationPost); | ||||
|       } | ||||
|       else{ | ||||
|         return res.status(500).json("Internal server error"); | ||||
|       } | ||||
|     } | ||||
|     else{ | ||||
|       return res.status(401).json("Forbidden"); | ||||
|     } | ||||
|   } catch (error) { | ||||
|     return res.status(500).json("Internal server error"); | ||||
|   } | ||||
| } | ||||
|  | ||||
| // ======== END API ENDPOINTS ======== | ||||
|  | ||||
| async function checkUserCredentials(email, password){ | ||||
| @@ -256,5 +284,6 @@ module.exports = { | ||||
|     getPerson, | ||||
|     verifyToken, | ||||
|     createOrganization, | ||||
|     deleteOrganization | ||||
|     deleteOrganization, | ||||
|     createOrganizationPost | ||||
| }; | ||||
		Reference in New Issue
	
	Block a user