From 133335d9f4c5b314f26f76ec7fdf556a49b87b2e Mon Sep 17 00:00:00 2001 From: Maksym Mykhailenko Date: Mon, 27 Jan 2020 17:09:03 +0800 Subject: [PATCH] fix: bookmarks validation rule allow audit fields --- src/services/ProcessorServiceProject.js | 6 +++++- test/data/project/project.action.create.json | 2 +- test/data/project/project.action.update.json | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/services/ProcessorServiceProject.js b/src/services/ProcessorServiceProject.js index a05e6e6..1f5568d 100644 --- a/src/services/ProcessorServiceProject.js +++ b/src/services/ProcessorServiceProject.js @@ -43,7 +43,11 @@ function createSchema () { })).allow(null), bookmarks: Joi.array().items(Joi.object().keys({ title: Joi.string(), - address: Joi.string().regex(REGEX.URL) + address: Joi.string().regex(REGEX.URL), + createdAt: Joi.date(), + createdBy: Joi.number().integer().positive(), + updatedAt: Joi.date(), + updatedBy: Joi.number().integer().positive(), })).optional().allow(null), external: Joi.object().keys({ id: Joi.string(), diff --git a/test/data/project/project.action.create.json b/test/data/project/project.action.create.json index ec24633..abeca34 100644 --- a/test/data/project/project.action.create.json +++ b/test/data/project/project.action.create.json @@ -1 +1 @@ -{"topic":"project.action.create","originator":"project-api","timestamp":"2019-06-20T13:43:25.817Z","mime-type":"application/json","payload":{"resource":"project","createdAt":"2019-06-20T13:43:23.554Z","updatedAt":"2019-06-20T13:43:23.555Z","terms":[],"order":1,"id":1,"name":"test project","description":"Hello I am a test project","type":"app","createdBy":40051333,"updatedBy":40051333,"challengeEligibility":[],"bookmarks":[],"external":null,"status":"draft","lastActivityAt":"2019-06-20T13:43:23.514Z","lastActivityUserId":"40051333","members":[{"createdAt":"2019-06-20T13:43:23.555Z","updatedAt":"2019-06-20T13:43:23.625Z","id":2,"isPrimary":true,"role":"manager","userId":40051333,"updatedBy":40051333,"createdBy":40051333,"projectId":2,"deletedAt":null,"deletedBy":null}],"version":"v2","directProjectId":null,"billingAccountId":null,"estimatedPrice":null,"actualPrice":null,"details":null,"cancelReason":null,"templateId":null,"deletedBy":null,"attachments":null,"phases":null,"projectUrl":"https://connect.topcoder-dev.com/projects/2"}} \ No newline at end of file +{"topic":"project.action.create","originator":"project-api","timestamp":"2019-06-20T13:43:25.817Z","mime-type":"application/json","payload":{"resource":"project","createdAt":"2019-06-20T13:43:23.554Z","updatedAt":"2019-06-20T13:43:23.555Z","terms":[],"order":1,"id":1,"name":"test project","description":"Hello I am a test project","type":"app","createdBy":40051333,"updatedBy":40051333,"challengeEligibility":[],"bookmarks":[{"title":"Test link","address":"http://test.link.url","createdAt":"2020-01-27T17:06:15.898Z","createdBy":40152856,"updatedAt":"2020-01-27T17:06:15.899Z","updatedBy":40152856}],"external":null,"status":"draft","lastActivityAt":"2019-06-20T13:43:23.514Z","lastActivityUserId":"40051333","members":[{"createdAt":"2019-06-20T13:43:23.555Z","updatedAt":"2019-06-20T13:43:23.625Z","id":2,"isPrimary":true,"role":"manager","userId":40051333,"updatedBy":40051333,"createdBy":40051333,"projectId":2,"deletedAt":null,"deletedBy":null}],"version":"v2","directProjectId":null,"billingAccountId":null,"estimatedPrice":null,"actualPrice":null,"details":null,"cancelReason":null,"templateId":null,"deletedBy":null,"attachments":null,"phases":null,"projectUrl":"https://connect.topcoder-dev.com/projects/2"}} \ No newline at end of file diff --git a/test/data/project/project.action.update.json b/test/data/project/project.action.update.json index b0377fb..552384e 100644 --- a/test/data/project/project.action.update.json +++ b/test/data/project/project.action.update.json @@ -1 +1 @@ -{"topic":"project.action.update","originator":"project-api","timestamp":"2019-06-20T13:45:20.179Z","mime-type":"application/json","payload":{"resource":"project","id":1,"directProjectId":12,"billingAccountId":null,"name":"project name updated","description":"Hello I am a test project","external":null,"bookmarks":[],"utm":null,"estimatedPrice":null,"actualPrice":null,"terms":[],"type":"app","status":"draft","details":null,"challengeEligibility":[],"cancelReason":null,"templateId":null,"createdAt":"2019-06-20T13:43:23.554Z","updatedAt":"2019-06-20T13:45:20.091Z","deletedBy":null,"createdBy":40051333,"updatedBy":40051333,"version":"v2","lastActivityAt":"2019-06-20T13:43:23.514Z","lastActivityUserId":"40051333","projectUrl":"https://connect.topcoder-dev.com/projects/2"}} \ No newline at end of file +{"topic":"project.action.update","originator":"project-api","timestamp":"2019-06-20T13:45:20.179Z","mime-type":"application/json","payload":{"resource":"project","id":1,"directProjectId":12,"billingAccountId":null,"name":"project name updated","description":"Hello I am a test project","external":null,"bookmarks":[{"title":"Test link","address":"http://test.link.url","createdAt":"2020-01-27T17:06:15.898Z","createdBy":40152856,"updatedAt":"2020-01-27T17:06:15.899Z","updatedBy":40152856}],"utm":null,"estimatedPrice":null,"actualPrice":null,"terms":[],"type":"app","status":"draft","details":null,"challengeEligibility":[],"cancelReason":null,"templateId":null,"createdAt":"2019-06-20T13:43:23.554Z","updatedAt":"2019-06-20T13:45:20.091Z","deletedBy":null,"createdBy":40051333,"updatedBy":40051333,"version":"v2","lastActivityAt":"2019-06-20T13:43:23.514Z","lastActivityUserId":"40051333","projectUrl":"https://connect.topcoder-dev.com/projects/2"}} \ No newline at end of file