{"version":3,"file":"index.mjs","names":[],"sources":["../../../../../../../../src/astro/routes/api/schema/collections/[slug]/fields/index.ts"],"sourcesContent":["/**\n * Schema fields list and create endpoints\n *\n * GET  /_emdash/api/schema/collections/{slug}/fields - List fields\n * POST /_emdash/api/schema/collections/{slug}/fields - Create field\n */\n\nimport type { APIRoute } from \"astro\";\n\nimport { requirePerm } from \"#api/authorize.js\";\nimport { requireDb, unwrapResult } from \"#api/error.js\";\nimport { handleSchemaFieldList, handleSchemaFieldCreate } from \"#api/index.js\";\nimport { parseBody, isParseError } from \"#api/parse.js\";\nimport { createFieldBody } from \"#api/schemas.js\";\n\nexport const prerender = false;\n\nexport const GET: APIRoute = async ({ params, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst collectionSlug = params.slug!;\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"schema:read\");\n\tif (denied) return denied;\n\n\tconst result = await handleSchemaFieldList(emdash.db, collectionSlug);\n\treturn unwrapResult(result);\n};\n\nexport const POST: APIRoute = async ({ params, request, locals }) => {\n\tconst { emdash, user } = locals;\n\tconst collectionSlug = params.slug!;\n\n\tconst dbErr = requireDb(emdash?.db);\n\tif (dbErr) return dbErr;\n\n\tconst denied = requirePerm(user, \"schema:manage\");\n\tif (denied) return denied;\n\n\tconst body = await parseBody(request, createFieldBody);\n\tif (isParseError(body)) return body;\n\n\tconst result = await handleSchemaFieldCreate(emdash.db, collectionSlug, body);\n\treturn unwrapResult(result, 201);\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,MAAa,YAAY;AAEzB,MAAa,MAAgB,OAAO,EAAE,QAAQ,aAAa;CAC1D,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,iBAAiB,OAAO;CAE9B,MAAM,QAAQ,UAAU,QAAQ,GAAG;AACnC,KAAI,MAAO,QAAO;CAElB,MAAM,SAAS,YAAY,MAAM,cAAc;AAC/C,KAAI,OAAQ,QAAO;AAGnB,QAAO,aADQ,MAAM,sBAAsB,OAAO,IAAI,eAAe,CAC1C;;AAG5B,MAAa,OAAiB,OAAO,EAAE,QAAQ,SAAS,aAAa;CACpE,MAAM,EAAE,QAAQ,SAAS;CACzB,MAAM,iBAAiB,OAAO;CAE9B,MAAM,QAAQ,UAAU,QAAQ,GAAG;AACnC,KAAI,MAAO,QAAO;CAElB,MAAM,SAAS,YAAY,MAAM,gBAAgB;AACjD,KAAI,OAAQ,QAAO;CAEnB,MAAM,OAAO,MAAM,UAAU,SAAS,gBAAgB;AACtD,KAAI,aAAa,KAAK,CAAE,QAAO;AAG/B,QAAO,aADQ,MAAM,wBAAwB,OAAO,IAAI,gBAAgB,KAAK,EACjD,IAAI"}