({ request, user }: RequestHandlerParams)
| 13 | } |
| 14 | |
| 15 | async function post({ request, user }: RequestHandlerParams) { |
| 16 | if (!(await AppConfig.isAppEnabled('contacts'))) { |
| 17 | return new Response('Forbidden', { status: 403 }); |
| 18 | } |
| 19 | |
| 20 | const requestBody = await request.clone().json() as RequestBody; |
| 21 | |
| 22 | if (!requestBody.addressBookId) { |
| 23 | return new Response('Bad request', { status: 400 }); |
| 24 | } |
| 25 | |
| 26 | const userId = user!.id; |
| 27 | |
| 28 | await ContactModel.deleteAddressBook(userId, requestBody.addressBookId); |
| 29 | |
| 30 | const addressBooks = await ContactModel.listAddressBooks(userId); |
| 31 | |
| 32 | const responseBody: ResponseBody = { success: true, addressBooks }; |
| 33 | |
| 34 | return new Response(JSON.stringify(responseBody)); |
| 35 | } |
| 36 | |
| 37 | export default page({ |
| 38 | post, |
nothing calls this directly
no test coverage detected