Add applicationSchema

This commit is contained in:
Alex Gleason 2024-10-23 10:23:48 -05:00
parent 0a6532f34a
commit 1417399663
No known key found for this signature in database
GPG Key ID: 7211D1F99744FBB7
1 changed files with 22 additions and 0 deletions

View File

@ -0,0 +1,22 @@
import { z } from 'zod';
const applicationSchema = z.object({
name: z.string(),
website: z.string().url().nullable().catch(null),
scopes: z.string().array().catch([]),
redirect_uris: z.string().url().array().optional().catch(undefined),
redirect_uri: z.string().url().optional().catch(undefined),
}).transform((app) => {
const { name, website, scopes, redirect_uris, redirect_uri } = app;
return {
name,
website,
scopes,
redirect_uris: redirect_uris || (redirect_uri ? [redirect_uri] : []),
};
});
type Application = z.infer<typeof applicationSchema>;
export { applicationSchema, Application };