Example
select: selectUserValidator(),export const UserEntityOperations: CrudGeneratorConfig<'user'> = {
dto: UserDTO, //The Data Transfer Object (DTO) used to defines the shape of the data that should be sent/received from the client.
path: 'user', // here where you add your own path
operations: [
{ type: 'GET' }, // get user by id
{
type: 'LIST',
queryParam: UserFilterDTO,
filter: {
queryParams: UserFilterDTO, // Metadata type for query parameters
mapper: (params: UserFilterDTO) => ({
...(params.name && {
name: { contains: params.name, mode: 'insensitive' },
}),
}),
},
order: {
queryParams: UserOrderDTO, // Metadata type for ordering parameters
mapper: (params: UserOrderDTO) => ({
...(params.orderBy && {
[params.orderBy]: params.direction ?? 'asc',
}),
}),
},
{ type: 'CREATE', body: CreateUserDTO },
{ type: 'UPDATE', body: UpdateUserDTO },
{ type: 'DELETE_BY_ID' },
{ type: 'METADATA' },
{
type: 'EXPORT',
decorators: [() => SetPermission<Permission>('user:write')],
select: { name: true, age: true, salary: true },
},
],
prismaConfig: {
entityName: 'user',
select: selectUserValidator(),
},
} as const;
Last updated