21 lines
530 B
TypeScript
21 lines
530 B
TypeScript
import type { APIRoute } from 'astro'
|
|
import crypto from 'node:crypto'
|
|
import StatusCode from '../../../../../../libs/HTTP/StatusCode'
|
|
import DaoFactory from '../../../../../../models/DaoFactory'
|
|
|
|
export const post: APIRoute = async ({ params, locals }) => {
|
|
const userId = params.userId as string
|
|
|
|
const dao = await DaoFactory.get('apiKey').create({
|
|
user: userId,
|
|
key: crypto.randomUUID(),
|
|
permissions: [
|
|
'admin.user.list'
|
|
]
|
|
})
|
|
return locals.responseBuilder
|
|
.status(StatusCode.CREATED)
|
|
.body(dao)
|
|
.build()
|
|
}
|