diff --git a/src/Project/Project.types.ts b/src/Project/Project.types.ts index 7ce71604..4199e740 100644 --- a/src/Project/Project.types.ts +++ b/src/Project/Project.types.ts @@ -77,3 +77,13 @@ export const searchableProjectProperties: (keyof ProjectAttributes)[] = [ 'is_template', 'template_status', ] + +export const sortableTemplateProperties = { + sort: { + by: [ + 'template_status', + 'created_at', + 'updated_at', + ] as (keyof ProjectAttributes)[], + }, +} diff --git a/src/Project/SearchableProject.ts b/src/Project/SearchableProject.ts index a66e02a5..9319d62a 100644 --- a/src/Project/SearchableProject.ts +++ b/src/Project/SearchableProject.ts @@ -1,6 +1,11 @@ import { String } from 'aws-sdk/clients/codebuild' import { Request } from 'express' -import { ProjectAttributes, Project, searchableProjectProperties } from '.' +import { + ProjectAttributes, + Project, + searchableProjectProperties, + sortableTemplateProperties, +} from '.' import { AuthRequest } from '../middleware' import { RequestParameters } from '../RequestParameters' import { @@ -36,7 +41,8 @@ export class SearchableProject { Project.tableName ) const parameters = new SearchableParameters( - requestParameters + requestParameters, + sortableTemplateProperties ) const conditions = new SearchableConditions( requestParameters,