Skip to content

Commit

Permalink
refactor: Remove old FetchSpecificationSchema from requests that fetc…
Browse files Browse the repository at this point in the history
…h data and replace it in favour of generateEntityQuerySchema
  • Loading branch information
alepefe committed Sep 19, 2024
1 parent 95b9386 commit 4a0b958
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 10 deletions.
4 changes: 2 additions & 2 deletions shared/contracts/sections.contract.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { JSONAPIError } from '@shared/dto/errors/json-api.error';
import { ApiPaginationResponse } from '@shared/dto/global/api-response.dto';
import { Section } from '@shared/dto/sections/section.entity';
import { generateEntityQuerySchema } from '@shared/schemas/query-param.schema';
import { initContract } from '@ts-rest/core';
import { FetchSpecificationSchema } from '@shared/schemas/query-param.schema';

const contract = initContract();
export const sectionContract = contract.router({
searchSections: {
method: 'GET',
path: '/sections',
query: FetchSpecificationSchema,
query: generateEntityQuerySchema(Section),
responses: {
200: contract.type<ApiPaginationResponse<Section>>(),
400: contract.type<JSONAPIError>(),
Expand Down
11 changes: 6 additions & 5 deletions shared/contracts/users.contract.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ import {
CreateCustomWidgetSchema,
UpdateCustomWidgetSchema,
} from '@shared/schemas/widget.schemas';
import { FetchSpecificationSchema } from '@shared/schemas/query-param.schema';
import { generateEntityQuerySchema } from '@shared/schemas/query-param.schema';
import { User } from '@shared/dto/users/user.entity';

const contract = initContract();
export const usersContract = contract.router({
Expand All @@ -37,7 +38,7 @@ export const usersContract = contract.router({
400: contract.type<{ message: string }>(),
},
summary: 'Get all users',
query: FetchSpecificationSchema,
query: generateEntityQuerySchema(User),
},
findMe: {
method: 'GET',
Expand All @@ -46,7 +47,7 @@ export const usersContract = contract.router({
200: contract.type<ApiResponse<UserDto>>(),
401: contract.type<JSONAPIError>(),
},
query: FetchSpecificationSchema,
query: generateEntityQuerySchema(User),
},
updatePassword: {
method: 'PATCH',
Expand All @@ -70,7 +71,7 @@ export const usersContract = contract.router({
400: contract.type<JSONAPIError>(),
401: contract.type<JSONAPIError>(),
},
query: FetchSpecificationSchema,
query: generateEntityQuerySchema(User),
summary: 'Get a user by id',
},
updateUser: {
Expand Down Expand Up @@ -111,7 +112,7 @@ export const usersContract = contract.router({
method: 'GET',
path: '/users/:userId/widgets',
pathParams: z.object({ userId: z.string().uuid() }),
query: FetchSpecificationSchema,
query: generateEntityQuerySchema(CustomWidget),
responses: {
200: contract.type<ApiPaginationResponse<CustomWidget>>(),
400: contract.type<JSONAPIError>(),
Expand Down
6 changes: 3 additions & 3 deletions shared/schemas/query-param.schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,9 @@ const generateQuerySchema = <
const sort = z.array(z.enum(config.sort as [SORT, ...SORT[]])).optional();

return z.object({
pageSize: z.number().optional(),
pageNumber: z.number().optional(),
disablePagination: z.boolean().optional(),
pageSize: z.coerce.number().optional(),
pageNumber: z.coerce.number().optional(),
disablePagination: z.coerce.boolean().optional(),
fields,
omitFields,
include,
Expand Down

0 comments on commit 4a0b958

Please sign in to comment.