bigbuffet-rw/app/soapbox/schemas/group-member.ts
2023-03-14 15:16:00 -04:00

26 lines
No EOL
475 B
TypeScript

import z from 'zod';
enum TruthSocialGroupRoles {
ADMIN = 'owner',
MODERATOR = 'admin',
USER = 'user'
}
enum BaseGroupRoles {
ADMIN = 'admin',
MODERATOR = 'moderator',
USER = 'user'
}
const groupMemberSchema = z.object({
id: z.string(),
account: z.any(),
role: z.union([
z.nativeEnum(TruthSocialGroupRoles),
z.nativeEnum(BaseGroupRoles),
]),
});
type GroupMember = z.infer<typeof groupMemberSchema>;
export { groupMemberSchema, GroupMember };