| 1234567891011121314151617 |
- import { brivenError, mutation, type Ctx } from '@briven/cli/server';
- import { ulid } from '@briven/shared';
- interface Args {
- name: string;
- }
- export default mutation(async (ctx: Ctx, args: Args) => {
- const name = args.name?.trim();
- if (!name) throw new brivenError('validation_failed', 'name is required', { status: 400 });
- if (name.length > 64)
- throw new brivenError('validation_failed', 'name too long (max 64 chars)', { status: 400 });
- const id = ulid('rm');
- const [row] = await ctx.db('rooms').insert({ id, name }).returning();
- return row;
- });
|