| 53 | } |
| 54 | |
| 55 | export default async function handler( |
| 56 | request: NextApiRequest, |
| 57 | response: NextApiResponse |
| 58 | ) { |
| 59 | if (request.method === 'OPTIONS') { |
| 60 | return preflight(request, response, ['GET']); |
| 61 | } |
| 62 | cors(request, response); |
| 63 | if (request.method === 'GET') { |
| 64 | const communityId = request.query.communityId as string; |
| 65 | const permissions = await PermissionsService.get({ |
| 66 | request, |
| 67 | response, |
| 68 | params: { |
| 69 | communityId, |
| 70 | }, |
| 71 | }); |
| 72 | if (!permissions.manage) { |
| 73 | return response.status(401).json({}); |
| 74 | } |
| 75 | const { status, data } = await index({ communityId }); |
| 76 | return response.status(status).json(data); |
| 77 | } |
| 78 | return response.status(405).json({}); |
| 79 | } |