@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
52 lines • 1.91 kB
JavaScript
import { z } from 'zod';
import { BaseResponseSchema, BaseGetParamsSchema } from '../../../core/schemas';
// User Group schemas
export const UserGroupSchema = z.object({
id: z.number(),
parentId: z.number(),
title: z.string(),
level: z.number(),
lft: z.number(),
rgt: z.number(),
});
export const UserGroupListParamsSchema = BaseGetParamsSchema.extend({
orderBy: z.string().optional(),
parentIdList: z.string().optional(),
});
// Response schemas using BaseResponseSchema (8-field format)
export const UserGroupListResponseSchema = BaseResponseSchema(z.array(UserGroupSchema));
// Parameters for user's groups endpoint (/users/{id}/groups)
export const UserGroupMembershipParamsSchema = BaseGetParamsSchema.extend({
limit: z.number().optional().default(10),
offset: z.number().optional().default(0),
});
// User's group membership schema - returned by /users/{id}/groups
export const UserGroupMembershipSchema = z.object({
userId: z.number(),
username: z.string(),
groupId: z.number(),
title: z.string(),
});
// User's groups response with pagination
export const UserGroupMembershipResponseSchema = BaseResponseSchema(z.array(UserGroupMembershipSchema));
// User group detail schema (for /users/:id/groups/:groupId)
export const UserGroupDetailSchema = z.object({
id: z.number(),
groupId: z.number(),
userId: z.number(),
title: z.string(),
level: z.number(),
});
export const UserGroupDetailResponseSchema = BaseResponseSchema(UserGroupDetailSchema);
// User group mapping schemas
export const UserGroupMappingRequestSchema = z.object({
groupId: z.number(),
// Additional fields as needed based on implementation
});
export const UserGroupMappingResponseSchema = BaseResponseSchema(z.object({
id: z.number(),
groupId: z.number(),
userId: z.number(),
created: z.boolean(),
}));
//# sourceMappingURL=groups.js.map