diff --git a/src/constants/creator-list-sort.constants.ts b/src/constants/creator-list-sort.constants.ts new file mode 100644 index 0000000..425f25c --- /dev/null +++ b/src/constants/creator-list-sort.constants.ts @@ -0,0 +1,5 @@ +/** Default sort field used by creator list handlers. */ +export const DEFAULT_CREATOR_LIST_SORT = 'createdAt' as const; + +/** Default sort order used by creator list handlers. */ +export const DEFAULT_CREATOR_LIST_ORDER = 'desc' as const; diff --git a/src/modules/creator/creator.utils.ts b/src/modules/creator/creator.utils.ts index 2631840..2a348b2 100644 --- a/src/modules/creator/creator.utils.ts +++ b/src/modules/creator/creator.utils.ts @@ -1,5 +1,9 @@ // src/modules/creator/creator.utils.ts import { Prisma } from '@prisma/client'; +import { + DEFAULT_CREATOR_LIST_ORDER, + DEFAULT_CREATOR_LIST_SORT, +} from '../../constants/creator-list-sort.constants'; export type CreatorSortField = 'createdAt' | 'handle' | 'displayName'; export type SortOrder = 'asc' | 'desc'; @@ -22,11 +26,11 @@ export function parseCreatorSortOptions( const field = validFields.includes(sortBy as CreatorSortField) ? (sortBy as CreatorSortField) - : 'createdAt'; + : DEFAULT_CREATOR_LIST_SORT; const order = validOrders.includes(sortOrder as SortOrder) ? (sortOrder as SortOrder) - : 'desc'; + : DEFAULT_CREATOR_LIST_ORDER; return { field, order }; } diff --git a/src/modules/creators/creators.schemas.ts b/src/modules/creators/creators.schemas.ts index a9624c2..d602765 100644 --- a/src/modules/creators/creators.schemas.ts +++ b/src/modules/creators/creators.schemas.ts @@ -10,6 +10,10 @@ import { MIN_PAGE_SIZE, MAX_PAGE_SIZE, } from '../../constants/pagination.constants'; +import { + DEFAULT_CREATOR_LIST_SORT, + DEFAULT_CREATOR_LIST_ORDER, +} from '../../constants/creator-list-sort.constants'; /** * Validation schema for creator list query parameters. @@ -36,8 +40,11 @@ export const CreatorListQuerySchema = z.object({ }), // Sorting - sort: z.enum(CREATOR_LIST_SORT_OPTIONS).optional().default('createdAt'), - order: z.enum(CREATOR_LIST_SORT_ORDERS).optional().default('desc'), + sort: z.enum(CREATOR_LIST_SORT_OPTIONS).optional().default(DEFAULT_CREATOR_LIST_SORT), + order: z + .enum(CREATOR_LIST_SORT_ORDERS) + .optional() + .default(DEFAULT_CREATOR_LIST_ORDER), // Filters verified: z