diff --git a/CHANGELOG.md b/CHANGELOG.md index 42968da..1ac6fd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ -### 1.10.0 Nov 15, 2024 +### 1.10.0 Nov 22, 2024 * Modified project definition to accomodate shape file colours. [DESENG-743](https://apps.itsm.gov.bc.ca/jira/browse/DESENG-743) +* Modified project definition to accomodate project type multiselect. [DESENG-745](https://apps.itsm.gov.bc.ca/jira/browse/DESENG-745) ### 1.9.0 Mar 11, 2024 * Add option for contact form on projects [DESENG-373](https://apps.itsm.gov.bc.ca/jira/browse/DESENG-373) diff --git a/api/controllers/project.js b/api/controllers/project.js index b15bf20..8f393ac 100644 --- a/api/controllers/project.js +++ b/api/controllers/project.js @@ -45,6 +45,7 @@ const tagList = [ 'provElecDist', 'shortName', 'projectPhase', + 'projectTypes', 'substitution', 'updatedBy', 'projectLead', @@ -848,6 +849,7 @@ exports.protectedPut = async (args, res) => { obj.region = projectObj.region; obj.shapeFileColour = projectObj.shapeFileColour; obj.projectPhase = projectObj.projectPhase; + obj.projectTypes = projectObj.projectTypes; obj.name = projectObj.name; obj.centroid = projectObj.centroid; obj.projectLead = projectObj.projectLead; diff --git a/api/helpers/models/project.js b/api/helpers/models/project.js index ff3036e..10585b8 100644 --- a/api/helpers/models/project.js +++ b/api/helpers/models/project.js @@ -37,6 +37,7 @@ const definition = { provElecDist: { type: String, default: '' }, shortName: { type: String, default: '', index: true }, projectPhase: { type: String, default: '' }, + projectTypes: { type: Array, default: [] }, substitution: { type: Boolean, default: false }, projectLead: { type: 'ObjectId', ref: 'User', default: null, index: true }, projectDirector: { type: 'ObjectId', ref: 'User', default: null, index: true }, diff --git a/api/swagger/swagger.yaml b/api/swagger/swagger.yaml index 3b583eb..1b518a3 100644 --- a/api/swagger/swagger.yaml +++ b/api/swagger/swagger.yaml @@ -115,6 +115,7 @@ definitions: - currentPhase - currentPhaseCode - currentPhaseName + - projectTypes - description - details - engagementStatus @@ -137,6 +138,9 @@ definitions: - activitiesAndUpdatesEnabled - contactFormEnabled - contactFormEmails + enum: &projectTypes + - name + - checked TopicSortByFields: type: string description: "Optional fields to sort by (prefixed with + or - for order)" @@ -900,6 +904,15 @@ paths: type: string required: false description: "Get a Project that relates to this Project Phase." + - in: query + collectionFormat: multi + name: projectTypes + type: array + required: false + description: "Get a Project that relates to these project types." + items: + type: string + enum: *projectTypes - in: query name: agreements type: string @@ -1016,6 +1029,15 @@ paths: type: string required: false description: "Get a Project that relates to this Project Phase." + - in: query + collectionFormat: multi + name: projectTypes + type: array + required: false + description: "Get a Project that relates to these project types." + items: + type: string + enum: *projectTypes - in: query name: agreements type: string diff --git a/seed/jsongenerator/projectschema b/seed/jsongenerator/projectschema index 8a91e0c..7847aaf 100644 --- a/seed/jsongenerator/projectschema +++ b/seed/jsongenerator/projectschema @@ -32,7 +32,8 @@ proMember : '{{lorem(1, "words")}}', provElecDist : '{{lorem(1, "words")}}', shortName : '{{lorem(1, "words")}}', - projectPhase : '{{lorem(1, "words")}}', + projectPhase : '{{lorem(1, "words")}}', + projectTypes : '{{lorem(2, "words")}}', substitution : 'false', } }