diff --git a/docs/Project API.postman_collection.json b/docs/Project API.postman_collection.json index cb1e0c8e..449b221f 100644 --- a/docs/Project API.postman_collection.json +++ b/docs/Project API.postman_collection.json @@ -1,6 +1,6 @@ { "info": { - "_postman_id": "90ff8f9b-5661-4642-8b8b-84aa4b581706", + "_postman_id": "bd828203-8def-4648-bb54-e509c177ec71", "name": "Project API", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, @@ -244,6 +244,7 @@ "response": [] } ], + "protocolProfileBehavior": {}, "_postman_isSubFolder": true }, { @@ -435,7 +436,8 @@ }, "response": [] } - ] + ], + "protocolProfileBehavior": {} }, { "name": "Project With TemplateId issue", @@ -515,7 +517,8 @@ }, "response": [] } - ] + ], + "protocolProfileBehavior": {} }, { "name": "Project Members", @@ -1024,7 +1027,8 @@ }, "response": [] } - ] + ], + "protocolProfileBehavior": {} }, { "name": "Project Members Invites", @@ -1223,7 +1227,8 @@ ] } } - ] + ], + "protocolProfileBehavior": {} }, { "name": "Projects", @@ -1421,6 +1426,177 @@ }, "response": [] }, + { + "name": "List projects DB", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "url": { + "raw": "{{api-url}}/projects/db", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "db" + ] + }, + "description": "List all the project with no filter. Default sort and limits are applied." + }, + "response": [] + }, + { + "name": "List projects DB with limit and offset", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "url": { + "raw": "{{api-url}}/projects/db?limit=1&offset=1", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "db" + ], + "query": [ + { + "key": "limit", + "value": "1" + }, + { + "key": "offset", + "value": "1" + } + ] + }, + "description": "List all the project with no filter. Limit of 1 and offset of 1 is applied" + }, + "response": [] + }, + { + "name": "List projects DB with filters applied", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "url": { + "raw": "{{api-url}}/projects/db?filter=type%3Dgeneric", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "db" + ], + "query": [ + { + "key": "filter", + "value": "type%3Dgeneric" + } + ] + }, + "description": "List all the project with filters applied. The filter string should be url encoded. Default limit and offset is applicable" + }, + "response": [] + }, + { + "name": "List projects DB with sort applied", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "url": { + "raw": "{{api-url}}/projects/db?sort=type%20desc", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "db" + ], + "query": [ + { + "key": "sort", + "value": "type%20desc" + } + ] + }, + "description": "List all the project with custom sort and no filter. Default sort and limits are applied. The sort string has to be url encoded. Sort is of type `key asc|desc`" + }, + "response": [] + }, + { + "name": "List projects DB and return specific fields", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "url": { + "raw": "{{api-url}}/projects/db?fields=id,name,description", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "db" + ], + "query": [ + { + "key": "fields", + "value": "id,name,description" + } + ] + }, + "description": "List all the project with no filter. Default sort and limits are applied. The fields to return is specified as comma separated list. Only those fields should be returned." + }, + "response": [] + }, + { + "name": "List projects DB with copilot token", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token-copilot-40051332}}" + } + ], + "url": { + "raw": "{{api-url}}/projects/db", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "db" + ] + } + }, + "response": [] + }, { "name": "List projects", "request": { @@ -2157,15 +2333,16 @@ "response": [] } ], - "description": "Requests for all things projects." + "description": "Requests for all things projects.", + "protocolProfileBehavior": {} }, { - "name": "EventHandling and Integration with Direct Project API", + "name": "Workstream", "item": [ { - "name": "mock direct projects", + "name": "Create workstream without payload", "request": { - "method": "GET", + "method": "POST", "header": [ { "key": "Authorization", @@ -2176,25 +2353,27 @@ "value": "application/json" } ], + "body": { + "mode": "raw", + "raw": "{\n\t\n}" + }, "url": { - "raw": "https://api.topcoder-dev.com/v3/direct/projects", - "protocol": "https", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams", "host": [ - "api", - "topcoder-dev", - "com" + "{{api-url}}" ], "path": [ - "v3", - "direct", - "projects" + "projects", + "{{projectId}}", + "workstreams" ] - } + }, + "description": "Request body is mandatory while creating project. If invalid request body is supplied this should return 422 status code." }, "response": [] }, { - "name": " Create direct project when a new project is successfully created", + "name": "Create workstream without valid name", "request": { "method": "POST", "header": [ @@ -2209,22 +2388,40 @@ ], "body": { "mode": "raw", - "raw": "{\n \"type\": \"generic\",\n \"description\": \"test project\",\n \"details\": {},\n \"billingAccountId\": 123,\n \"name\": \"test project1\"\n }" + "raw": "{\n}" }, "url": { - "raw": "{{api-url}}/projects", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams", "host": [ "{{api-url}}" ], "path": [ - "projects" + "projects", + "{{projectId}}", + "workstreams" ] - } + }, + "description": "Certain fields are mandatory while creating project. If invalid request body is supplied this should return 422 status code." }, "response": [] }, { - "name": "Response error from direct project service", + "name": "Create workstream with valid values", + "event": [ + { + "listen": "test", + "script": { + "id": "15506f7a-77d3-46cb-9b37-41015ffbfdbc", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"workStreamId\", pm.response.json().id);", + "});" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "POST", "header": [ @@ -2239,30 +2436,31 @@ ], "body": { "mode": "raw", - "raw": "{\n\n \"role\": \"copilot\"\n}" + "raw": "{\n\t\t\"name\": \"test project\",\n\t\t\"type\": \"generic\",\n\t\t\"status\": \"active\"\n}" }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/members", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "members" + "workstreams" ] - } + }, + "description": "Valid request body. Project should be created successfully." }, "response": [] }, { - "name": " Add co-pilot when a co-pilot is added to a project", + "name": "Create workstream by inactive user", "request": { "method": "POST", "header": [ { "key": "Authorization", - "value": "Bearer {{jwt-token}}" + "value": "Bearer userId_{{inactive-userId}}" }, { "key": "Content-Type", @@ -2271,98 +2469,82 @@ ], "body": { "mode": "raw", - "raw": "{\n\t\"role\": \"copilot\"\n}" + "raw": "{\n\t\t\"name\": \"test project\",\n\t\t\"description\": \"Hello I am a test project\",\n\t\t\"type\": \"generic\"\n}" }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/members", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "members" + "workstreams" ] - } + }, + "description": "Valid request body. Project should be created successfully." }, "response": [] }, { - "name": "remove copilot from direct project when editing project member role", + "name": "Get workstream by id", "request": { - "method": "PATCH", + "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{jwt-token}}" - }, - { - "key": "Content-Type", - "value": "application/json" } ], - "body": { - "mode": "raw", - "raw": " {\n \"role\": \"customer\",\n \"isPrimary\": true\n } " - }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/members/{{memberId}}", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "members", - "{{memberId}}" + "workstreams", + "{{workStreamId}}" ] - } + }, + "description": "Get a project by id. project members and attachments should also be returned." }, "response": [] }, { - "name": " Sync billing account id with direct", + "name": "List workstreams", "request": { - "method": "PATCH", + "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{jwt-token}}" - }, - { - "key": "Content-Type", - "value": "application/json" } ], - "body": { - "mode": "raw", - "raw": "{\n \"billingAccountId\": 9999, \n \"name\": \"new project name\"\n }" - }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams", "host": [ "{{api-url}}" ], "path": [ "projects", - "{{projectId}}" + "{{projectId}}", + "workstreams" ] - } + }, + "description": "List all the project with no filter. Default sort and limits are applied." }, "response": [] }, { - "name": "Delete co-pilot when a co-pilot is removed from a project", + "name": "DELETE workstream by id", "request": { "method": "DELETE", "header": [ { "key": "Authorization", "value": "Bearer {{jwt-token}}" - }, - { - "key": "Content-Type", - "value": "application/json" } ], "body": { @@ -2370,64 +2552,64 @@ "raw": "" }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/members/{{memberId}}", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "members", - "{{memberId}}" + "workstreams", + "{{workStreamId}}" ] - } + }, + "description": "Delete a project by id" }, "response": [] - } - ], - "event": [ - { - "listen": "prerequest", - "script": { - "id": "ef96ac6a-0fc0-4a64-a4fe-5390e17afe67", - "type": "text/javascript", - "exec": [ - "" - ] - } }, { - "listen": "test", - "script": { - "id": "12f9d794-0872-4058-aafa-77b89e72025b", - "type": "text/javascript", - "exec": [ - "" - ] - } + "name": "Update workstream", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\t\"name\": \"test project - updated\"\n}" + }, + "url": { + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "{{projectId}}", + "workstreams", + "{{workStreamId}}" + ] + }, + "description": "Update the project name. Name should be updated successfully." + }, + "response": [] } - ] + ], + "description": "Requests for all things projects.", + "protocolProfileBehavior": {} }, { - "name": "Project Phase", + "name": "Work", "item": [ { - "name": "Create Phase", - "event": [ - { - "listen": "test", - "script": { - "id": "7050133a-b934-4faf-8101-d2e80b5c0710", - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - " pm.environment.set(\"phaseId\", pm.response.json().id);", - "});" - ], - "type": "text/javascript" - } - } - ], + "name": "Create work without payload", "request": { "method": "POST", "header": [ @@ -2442,39 +2624,27 @@ ], "body": { "mode": "raw", - "raw": "{\n\t\"name\": \"test project phase\",\n\t\"status\": \"active\",\n\t\"startDate\": \"2018-05-15T00:00:00\",\n\t\"endDate\": \"2018-05-16T00:00:00\",\n\t\"budget\": 20,\n\t\"details\": {\n\t\t\"aDetails\": \"a details\"\n\t}\n}" + "raw": "{\n\t\n}" }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/phases", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "phases" + "workstreams", + "{{workStreamId}}", + "works" ] - } + }, + "description": "Request body is mandatory while creating project. If invalid request body is supplied this should return 422 status code." }, "response": [] }, { - "name": "Create Phase with order", - "event": [ - { - "listen": "test", - "script": { - "id": "2f771afe-7b4e-4260-b04d-324e880eb61b", - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - " pm.environment.set(\"phaseId\", pm.response.json().id);", - "});" - ], - "type": "text/javascript" - } - } - ], + "name": "Create work without valid name", "request": { "method": "POST", "header": [ @@ -2489,33 +2659,36 @@ ], "body": { "mode": "raw", - "raw": "{\n\t\"name\": \"test project phase\",\n\t\"status\": \"active\",\n\t\"startDate\": \"2018-05-15T00:00:00\",\n\t\"endDate\": \"2018-05-16T00:00:00\",\n\t\"budget\": 20,\n\t\"details\": {\n\t\t\"aDetails\": \"a details\"\n\t},\n\t\"order\": 1\n}" + "raw": "{\n}" }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/phases", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "phases" + "workstreams", + "{{workStreamId}}", + "works" ] - } + }, + "description": "Certain fields are mandatory while creating project. If invalid request body is supplied this should return 422 status code." }, "response": [] }, { - "name": "Create Phase with productTemplateId", + "name": "Create work with valid values", "event": [ { "listen": "test", "script": { - "id": "8415ad98-b3f6-4330-88b6-e1830da2e4f9", + "id": "34d06fac-76f6-47b8-9b70-6e9c558e2bf1", "exec": [ "pm.test(\"Status code is 201\", function () {", " pm.response.to.have.status(201);", - " pm.environment.set(\"phaseId\", pm.response.json().id);", + " pm.environment.set(\"workId\", pm.response.json().id);", "});" ], "type": "text/javascript" @@ -2536,216 +2709,250 @@ ], "body": { "mode": "raw", - "raw": "{\n\t\"name\": \"test project phase\",\n\t\"status\": \"active\",\n\t\"startDate\": \"2018-05-15T00:00:00\",\n\t\"endDate\": \"2018-05-16T00:00:00\",\n\t\"budget\": 20,\n\t\"details\": {\n\t\t\"aDetails\": \"a details\"\n\t},\n\t\"order\": 1,\n\t\"productTemplateId\": {{productTemplateId}}\n}" + "raw": "{\n\t\t\"name\": \"test project phase\",\n\t\t\"status\": \"active\",\n\t\t\"startDate\": \"2018-05-16T00:00:00\",\n\t\t\"endDate\": \"2018-05-17T00:00:00\",\n\t\t\"order\": 1,\n\t\t\"budget\": 20,\n\t\t\"details\": {\n\t\t\t\"aDetails\": \"a details\"\n\t\t}\n\t}" }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/phases", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "phases" + "workstreams", + "{{workStreamId}}", + "works" ] - } + }, + "description": "Valid request body. Project should be created successfully." }, "response": [] }, { - "name": "List Phase", + "name": "Create work - 403", "request": { - "method": "GET", + "method": "POST", "header": [ { "key": "Authorization", - "value": "Bearer {{jwt-token}}" + "value": "Bearer {{jwt-token-member-40051331}}" }, { "key": "Content-Type", "value": "application/json" } ], + "body": { + "mode": "raw", + "raw": "{\n\t\t\"name\": \"test project phase\",\n\t\t\"status\": \"active\",\n\t\t\"startDate\": \"2018-05-15T00:00:00\",\n\t\t\"endDate\": \"2018-05-16T00:00:00\",\n\t\t\"order\": 2,\n\t\t\"budget\": 20,\n\t\t\"details\": {\n\t\t\t\"aDetails\": \"a details\"\n\t\t}\n\t}" + }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/phases", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "phases" + "workstreams", + "{{workStreamId}}", + "works" ] - } + }, + "description": "Valid request body. Project should be created successfully." }, "response": [] }, { - "name": "List Phase with fields", + "name": "Create work by inactive user", "request": { - "method": "GET", + "method": "POST", "header": [ { "key": "Authorization", - "value": "Bearer {{jwt-token}}" + "value": "Bearer userId_{{inactive-userId}}" }, { "key": "Content-Type", "value": "application/json" } ], + "body": { + "mode": "raw", + "raw": "{\n\t\t\"name\": \"test project\",\n\t\t\"description\": \"Hello I am a test project\",\n\t\t\"type\": \"generic\"\n}" + }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/phases?fields=status,name,budget", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "phases" - ], - "query": [ - { - "key": "fields", - "value": "status,name,budget" - } + "workstreams", + "{{workStreamId}}", + "works" ] - } + }, + "description": "Valid request body. Project should be created successfully." }, "response": [] }, { - "name": "List Phase with sort", + "name": "Get work by id", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{jwt-token}}" - }, - { - "key": "Content-Type", - "value": "application/json" } ], "url": { - "raw": "{{api-url}}/projects/{{projectId}}/phases?sort=status desc", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works/{{workId}}", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "phases" - ], - "query": [ - { - "key": "sort", - "value": "status desc" - } + "workstreams", + "{{workStreamId}}", + "works", + "{{workId}}" ] - } + }, + "description": "Get a project by id. project members and attachments should also be returned." }, "response": [] }, { - "name": "List Phase with sort by order", + "name": "List works", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{jwt-token}}" - }, + } + ], + "url": { + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "{{projectId}}", + "workstreams", + "{{workStreamId}}", + "works" + ] + }, + "description": "List all the project with no filter. Default sort and limits are applied." + }, + "response": [] + }, + { + "name": "List works - sort", + "request": { + "method": "GET", + "header": [ { - "key": "Content-Type", - "value": "application/json" + "key": "Authorization", + "value": "Bearer {{jwt-token}}" } ], "url": { - "raw": "{{api-url}}/projects/{{projectId}}/phases?sort=order desc", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works?sort=startDate desc", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "phases" + "workstreams", + "{{workStreamId}}", + "works" ], "query": [ { "key": "sort", - "value": "order desc" + "value": "startDate desc" } ] - } + }, + "description": "List all the project with no filter. Default sort and limits are applied." }, "response": [] }, { - "name": "Get Phase", + "name": "List works - fields", "request": { "method": "GET", "header": [ { "key": "Authorization", "value": "Bearer {{jwt-token}}" - }, - { - "key": "Content-Type", - "value": "application/json" } ], "url": { - "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works?fields=status,name,budget", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "phases", - "{{phaseId}}" + "workstreams", + "{{workStreamId}}", + "works" + ], + "query": [ + { + "key": "fields", + "value": "status,name,budget" + } ] - } + }, + "description": "List all the project with no filter. Default sort and limits are applied." }, "response": [] }, { - "name": "Update Phase", + "name": "DELETE work by id", "request": { - "method": "PATCH", + "method": "DELETE", "header": [ { "key": "Authorization", "value": "Bearer {{jwt-token}}" - }, - { - "key": "Content-Type", - "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\n\t\"name\": \"test project phase xxx\",\n\t\"status\": \"inactive\",\n\t\"startDate\": \"2018-05-14T00:00:00\",\n\t\"endDate\": \"2018-05-15T00:00:00\",\n\t\"budget\": 30,\n\t\"progress\": 15,\n\t\"details\": {\n\t\t\"message\": \"phase details\"\n\t}\n}" + "raw": "" }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works/{{workId}}", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "phases", - "{{phaseId}}" + "workstreams", + "{{workStreamId}}", + "works", + "{{workId}}" ] - } + }, + "description": "Delete a project by id" }, "response": [] }, { - "name": "Update Phase with order", + "name": "Update work", "request": { "method": "PATCH", "header": [ @@ -2760,31 +2967,34 @@ ], "body": { "mode": "raw", - "raw": "{\n\t\"name\": \"test project phase xxx\",\n\t\"status\": \"inactive\",\n\t\"startDate\": \"2018-05-14T00:00:00\",\n\t\"endDate\": \"2018-05-15T00:00:00\",\n\t\"budget\": 30,\n\t\"progress\": 15,\n\t\"details\": {\n\t\t\"message\": \"phase details\"\n\t},\n\t\"order\": 1\n}" + "raw": "{\n\t\t\"name\": \"test project phase 11\",\n\t\t\"status\": \"active\",\n\t\t\"startDate\": \"2018-05-15T00:00:00\",\n\t\t\"endDate\": \"2018-05-16T00:00:00\",\n\t\t\"budget\": 24,\n\t\t\"order\": 2\n}" }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works/{{workId}}", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "phases", - "{{phaseId}}" + "workstreams", + "{{workStreamId}}", + "works", + "{{workId}}" ] - } + }, + "description": "Update the project name. Name should be updated successfully." }, "response": [] }, { - "name": "Delete Phase", + "name": "Update work 403", "request": { - "method": "DELETE", + "method": "PATCH", "header": [ { "key": "Authorization", - "value": "Bearer {{jwt-token}}" + "value": "Bearer {{jwt-token-copilot-40051332}}" }, { "key": "Content-Type", @@ -2793,45 +3003,33 @@ ], "body": { "mode": "raw", - "raw": "" + "raw": "{\n\t\t\"name\": \"test project - updated\",\n\t\t\"type\": \"generic\",\n\t\t\"status\": \"active\"\n}" }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "phases", - "{{phaseId}}" + "workstreams", + "{{workStreamId}}" ] - } + }, + "description": "Update the project name. If user don't have permission to the project than it should return 403." }, "response": [] } - ] + ], + "description": "Requests for all things projects.", + "protocolProfileBehavior": {} }, { - "name": "Phase Products", + "name": "Work Item", "item": [ { - "name": "Create Phase Product", - "event": [ - { - "listen": "test", - "script": { - "id": "77f089b3-cbe6-4fb4-b54f-2a52d138a050", - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - " pm.environment.set(\"phaseProductId\", pm.response.json().id);", - "});" - ], - "type": "text/javascript" - } - } - ], + "name": "Create work item without payload", "request": { "method": "POST", "header": [ @@ -2846,85 +3044,122 @@ ], "body": { "mode": "raw", - "raw": "{\n\t\"name\": \"test phase product\",\n\t\"type\": \"type 1\",\n\t\"estimatedPrice\": 10\n}" + "raw": "{\n\t\n}" }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}/products", + "raw": "{{api-url}}/projects/workstreams/{{workStreamId}}/works/{{workId}}/workitems", "host": [ "{{api-url}}" ], "path": [ "projects", - "{{projectId}}", - "phases", - "{{phaseId}}", - "products" + "workstreams", + "{{workStreamId}}", + "works", + "{{workId}}", + "workitems" ] - } + }, + "description": "Request body is mandatory while creating project. If invalid request body is supplied this should return 422 status code." }, "response": [] }, { - "name": "List Phase Products", + "name": "Create work item without valid name", "request": { - "method": "GET", + "method": "POST", "header": [ { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], + "body": { + "mode": "raw", + "raw": "{\n}" + }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}/products", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works/{{workId}}/workitems", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "phases", - "{{phaseId}}", - "products" + "workstreams", + "{{workStreamId}}", + "works", + "{{workId}}", + "workitems" ] - } + }, + "description": "Certain fields are mandatory while creating project. If invalid request body is supplied this should return 422 status code." }, "response": [] }, { - "name": "Get Phase Product", + "name": "Create work item with valid values", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"itemId\", pm.response.json().id);", + "});" + ] + } + } + ], "request": { - "method": "GET", + "method": "POST", "header": [ { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], + "body": { + "mode": "raw", + "raw": "{\n\t\t\"name\": \"work item - phase product\",\n\t\t\"type\": \"type 1\",\n\t\t\"estimatedPrice\": 12\n}" + }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}/products/{{phaseProductId}}", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works/{{workId}}/workitems", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "phases", - "{{phaseId}}", - "products", - "{{phaseProductId}}" + "workstreams", + "{{workStreamId}}", + "works", + "{{workId}}", + "workitems" ] - } + }, + "description": "Valid request body. Project should be created successfully." }, "response": [] }, { - "name": "Update Phase Product", + "name": "Create work item by inactive user", "request": { - "method": "PATCH", + "method": "POST", "header": [ { "key": "Authorization", - "value": "Bearer {{jwt-token}}" + "value": "Bearer userId_{{inactive-userId}}" }, { "key": "Content-Type", @@ -2933,27 +3168,88 @@ ], "body": { "mode": "raw", - "raw": "{\n\t\"name\": \"test phase product xxx\",\n\t\"type\": \"type 2\",\n\t\"templateId\": 10,\n\t\"estimatedPrice\": 1.234567,\n\t\"actualPrice\": 2.34567,\n\t\"details\": {\n\t\t\"message\": \"this is a JSON type. You can use any json\"\n\t}\n}" + "raw": "{\n\t\t\"name\": \"test project\",\n\t\t\"description\": \"Hello I am a test project\",\n\t\t\"type\": \"generic\"\n}" }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}/products/{{phaseProductId}}", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works/{{workId}}/workitems", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "phases", - "{{phaseId}}", - "products", - "{{phaseProductId}}" + "workstreams", + "{{workStreamId}}", + "works", + "{{workId}}", + "workitems" ] - } + }, + "description": "Valid request body. Project should be created successfully." }, "response": [] }, { - "name": "Delete Phase Product", + "name": "Get work item by id", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "url": { + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works/{{workId}}/workitems/{{itemId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "{{projectId}}", + "workstreams", + "{{workStreamId}}", + "works", + "{{workId}}", + "workitems", + "{{itemId}}" + ] + }, + "description": "Get a project by id. project members and attachments should also be returned." + }, + "response": [] + }, + { + "name": "List work items", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "url": { + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works/{{workId}}/workitems", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "{{projectId}}", + "workstreams", + "{{workStreamId}}", + "works", + "{{workId}}", + "workitems" + ] + }, + "description": "List all the project with no filter. Default sort and limits are applied." + }, + "response": [] + }, + { + "name": "DELETE work item by id", "request": { "method": "DELETE", "header": [ @@ -2967,85 +3263,147 @@ "raw": "" }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}/products/{{phaseProductId}}", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works/{{workId}}/workitems/{{itemId}}", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "phases", - "{{phaseId}}", - "products", - "{{phaseProductId}}" + "workstreams", + "{{workStreamId}}", + "works", + "{{workId}}", + "workitems", + "{{itemId}}" ] - } + }, + "description": "Delete a project by id" + }, + "response": [] + }, + { + "name": "Update work item", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\t\"name\": \"work item - updated\"\n}" + }, + "url": { + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId}}/works/{{workId}}/workitems/{{itemId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "{{projectId}}", + "workstreams", + "{{workStreamId}}", + "works", + "{{workId}}", + "workitems", + "{{itemId}}" + ] + }, + "description": "Update the project name. Name should be updated successfully." }, "response": [] } - ] + ], + "description": "Requests for all things projects.", + "protocolProfileBehavior": {} }, { - "name": "Project Templates", + "name": "Work Management Permission", "item": [ { - "name": "Create project template", - "event": [ - { - "listen": "test", - "script": { - "id": "2f79c07b-8076-4715-abf7-1d6903df444f", - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - " pm.environment.set(\"projectTemplateId\", pm.response.json().id);", - "});" - ], - "type": "text/javascript" - } - } - ], + "name": "Create work management permission without payload", "request": { "method": "POST", "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + }, { "key": "Content-Type", "value": "application/json" - }, + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\n}" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/workManagementPermission", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "workManagementPermission" + ] + }, + "description": "Request body is mandatory while creating project. If invalid request body is supplied this should return 422 status code." + }, + "response": [] + }, + { + "name": "Create work management permission without valid name", + "request": { + "method": "POST", + "header": [ { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"scope\":{\r\n \"scope1\":\"scope 1\"\r\n },\r\n \"phases\":{\r\n \"phase1\":\"phase 1\"\r\n }\r\n }" + "raw": "{\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/projectTemplates", + "raw": "{{api-url}}/projects/metadata/workManagementPermission", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "projectTemplates" + "workManagementPermission" ] - } + }, + "description": "Certain fields are mandatory while creating project. If invalid request body is supplied this should return 422 status code." }, "response": [] }, { - "name": "Create project template with form, priceConfig, planConfig", + "name": "Create work management permission with valid values", "event": [ { "listen": "test", "script": { - "id": "4c442ea3-0834-4a30-8044-a4e94fd4ea2d", + "id": "305f3d68-6e9f-4c4d-b031-7487986a93e2", "exec": [ "pm.test(\"Status code is 201\", function () {", " pm.response.to.have.status(201);", - " pm.environment.set(\"projectTemplateId\", pm.response.json().id);", + " pm.environment.set(\"workManagementPermissionId\", pm.response.json().id);", "});" ], "type": "text/javascript" @@ -3055,44 +3413,45 @@ "request": { "method": "POST", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"form\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1\r\n },\r\n \"priceConfig\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1\r\n },\r\n \"planConfig\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1\r\n }\r\n }" + "raw": "{\n \"policy\": \"work.new.create\",\n \"permission\": {\n \"allowRule\": {\n \"projectRoles\": [\"customer\", \"copilot\"],\n \"topcoderRoles\": [\"Connect Manager\", \"Connect Admin\", \"administrator\"]\n },\n \"denyRule\": { \"projectRoles\": [\"copilot\"] }\n },\n \"projectTemplateId\": 1\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/projectTemplates", + "raw": "{{api-url}}/projects/metadata/workManagementPermission", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "projectTemplates" + "workManagementPermission" ] - } + }, + "description": "Valid request body. Project should be created successfully." }, "response": [] }, { - "name": "Create project template with only form key", + "name": "Create work management permission with valid values", "event": [ { "listen": "test", "script": { - "id": "7d0ae3ca-fe2d-40eb-b5c8-9b03955babec", + "id": "305f3d68-6e9f-4c4d-b031-7487986a93e2", "exec": [ "pm.test(\"Status code is 201\", function () {", " pm.response.to.have.status(201);", - " pm.environment.set(\"projectTemplateId\", pm.response.json().id);", + " pm.environment.set(\"workManagementPermissionId\", pm.response.json().id);", "});" ], "type": "text/javascript" @@ -3102,265 +3461,250 @@ "request": { "method": "POST", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"form\": {\r\n \t\"key\": \"dev\"\r\n }\r\n }" + "raw": "{\n \"policy\": \"work.new.create\",\n \"permission\": {\n \"allowRule\": {\n \"projectRoles\": [\"customer\", \"copilot\"],\n \"topcoderRoles\": [\"Connect Manager\", \"Connect Admin\", \"administrator\"]\n },\n \"denyRule\": { \"projectRoles\": [\"copilot\"] }\n },\n \"projectTemplateId\": 2\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/projectTemplates", + "raw": "{{api-url}}/projects/metadata/workManagementPermission", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "projectTemplates" + "workManagementPermission" ] - } + }, + "description": "Valid request body. Project should be created successfully." }, "response": [] }, { - "name": "Create project template with wrong form key", + "name": "Create work management permission by inactive user", "request": { "method": "POST", "header": [ { - "key": "Content-Type", - "value": "application/json" + "key": "Authorization", + "value": "Bearer userId_{{inactive-userId}}" }, { - "key": "Authorization", - "value": "Bearer {{jwt-token}}" + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"form\": {\r\n \t\"key\": \"wrong-key\"\r\n }\r\n }" + "raw": "{\n \"policy\": \"work.create\",\n \"permission\": {\n \"allowRule\": {\n \"projectRoles\": [\"customer\", \"copilot\"],\n \"topcoderRoles\": [\"Connect Manager\", \"Connect Admin\", \"administrator\"]\n },\n \"denyRule\": { \"projectRoles\": [\"copilot\"] }\n },\n \"projectTemplateId\": 1\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/projectTemplates", + "raw": "{{api-url}}/projects/metadata/workManagementPermission", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "projectTemplates" + "workManagementPermission" ] - } + }, + "description": "Valid request body. Project should be created successfully." }, "response": [] }, { - "name": "Create project template with wrong model version", + "name": "Get work management permission by id", "request": { - "method": "POST", + "method": "GET", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"form\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1123\r\n },\r\n \"priceConfig\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1123\r\n },\r\n \"planConfig\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1123\r\n }\r\n }" - }, "url": { - "raw": "{{api-url}}/projects/metadata/projectTemplates", + "raw": "{{api-url}}/projects/metadata/workManagementPermission/{{workManagementPermissionId}}", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "projectTemplates" + "workManagementPermission", + "{{workManagementPermissionId}}" ] - } + }, + "description": "Get a project by id. project members and attachments should also be returned." }, "response": [] }, { - "name": "List project templates", + "name": "List work management permissions - filter required", "request": { "method": "GET", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" } ], "url": { - "raw": "{{api-url}}/projects/metadata/projectTemplates", + "raw": "{{api-url}}/projects/metadata/workManagementPermission", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "projectTemplates" + "workManagementPermission" ] - } + }, + "description": "List all the project with no filter. Default sort and limits are applied." }, "response": [] }, { - "name": "Get project template", + "name": "List work management permissions - missing filter", "request": { "method": "GET", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" } ], "url": { - "raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}", + "raw": "{{api-url}}/projects/metadata/workManagementPermission?filter=template", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "projectTemplates", - "{{projectTemplateId}}" + "workManagementPermission" + ], + "query": [ + { + "key": "filter", + "value": "template" + } ] - } + }, + "description": "List all the project with no filter. Default sort and limits are applied." }, "response": [] }, { - "name": "Upgrade a project template with from, priceConfig, planConfig", + "name": "List work management permissions - invalid filter", "request": { - "method": "POST", + "method": "GET", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"form\": {\r\n \t\"key\": \"dev\",\t\r\n \t \"version\": 2\r\n },\r\n \"priceConfig\": {\r\n \t\"key\": \"dev\",\t\r\n \t \"version\": 1\r\n },\r\n \"planConfig\": {\r\n \t\"key\": \"qa\",\t\r\n \t \"version\": 2\t\r\n }\r\n }" - }, "url": { - "raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}/upgrade", + "raw": "{{api-url}}/projects/metadata/workManagementPermission?filter=invalid%3D2%26projectTemplateId%3D1", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "projectTemplates", - "{{projectTemplateId}}", - "upgrade" + "workManagementPermission" + ], + "query": [ + { + "key": "filter", + "value": "invalid%3D2%26projectTemplateId%3D1" + } ] - } + }, + "description": "List all the project with no filter. Default sort and limits are applied." }, "response": [] }, { - "name": "Upgrade a project template with wrong model version", + "name": "List work management permissions", "request": { - "method": "POST", + "method": "GET", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"form\": {\r\n \t\"key\": \"dev\",\t\r\n \t \"version\": 1234\r\n },\r\n \"priceConfig\": {\r\n \t\"key\": \"dev\",\t\r\n \t \"version\": 1234\r\n },\r\n \"planConfig\": {\r\n \t\"key\": \"dev\",\t\r\n \t \"version\": 1234\r\n }\r\n }" - }, "url": { - "raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}/upgrade", + "raw": "{{api-url}}/projects/metadata/workManagementPermission?filter=projectTemplateId%3D1", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "projectTemplates", - "{{projectTemplateId}}", - "upgrade" + "workManagementPermission" + ], + "query": [ + { + "key": "filter", + "value": "projectTemplateId%3D1" + } ] - } + }, + "description": "List all the project with no filter. Default sort and limits are applied." }, "response": [] }, { - "name": "Upgrade a project template without define form, priceConfig, planConfig", + "name": "Update work management permission", "request": { - "method": "POST", + "method": "PATCH", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n}" + "raw": "{\n \"policy\": \"work.new.delete\",\n \"permission\": {\n \"allowRule\": {\n \"projectRoles\": [\"customer\", \"copilot\"],\n \"topcoderRoles\": [\"Connect Manager\", \"Connect Admin\", \"administrator\"]\n },\n \"denyRule\": { \"projectRoles\": [\"copilot\"] }\n },\n \"projectTemplateId\": 1\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}/upgrade", + "raw": "{{api-url}}/projects/metadata/workManagementPermission/{{workManagementPermissionId}}", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "projectTemplates", - "{{projectTemplateId}}", - "upgrade" + "workManagementPermission", + "{{workManagementPermissionId}}" ] - } + }, + "description": "Update the project name. Name should be updated successfully." }, "response": [] }, { - "name": "Update project template", + "name": "Delete work management permission by id", "request": { - "method": "PATCH", + "method": "DELETE", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" @@ -3368,882 +3712,769 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"scope\":{\r\n \"scope1\":\"scope 1\",\r\n \"scope2\": [\"a\"]\r\n },\r\n \"phases\":{\r\n \"phase1\":\"phase 1\",\r\n \"phase2\": {\r\n \t\"another\": \"another\"\r\n }\r\n }\r\n }" + "raw": "" }, "url": { - "raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}", + "raw": "{{api-url}}/projects/metadata/workManagementPermission/{{workManagementPermissionId}}", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "projectTemplates", - "{{projectTemplateId}}" + "workManagementPermission", + "{{workManagementPermissionId}}" ] - } + }, + "description": "Delete a project by id" }, "response": [] - }, + } + ], + "description": "Requests for all things projects.", + "protocolProfileBehavior": {} + }, + { + "name": "Permissions", + "item": [ { - "name": "Update project template with define form, priceConfig, planConfig", + "name": "Get permissions - 404", "request": { - "method": "PATCH", + "method": "GET", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"form\": {\r\n \"key\": \"dev\",\r\n \"version\": 1\r\n },\r\n \"priceConfig\": {\r\n \"key\": \"dev\",\r\n \"version\": 1\r\n },\r\n \"planConfig\": {\r\n \"key\": \"dev\",\r\n \"version\": 1\r\n }\r\n }" - }, "url": { - "raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}", + "raw": "{{api-url}}/projects/9999/permissions", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "projectTemplates", - "{{projectTemplateId}}" + "9999", + "permissions" ] - } + }, + "description": "List all the project with no filter. Default sort and limits are applied." }, "response": [] }, { - "name": "Update project template with wrong form, priceConfig, planConfig", + "name": "Create project invite for customer with valid values", "request": { - "method": "PATCH", + "method": "POST", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n\t\"form\": {\r\n \"key\": \"dev\",\r\n \"version\": 1123\r\n },\r\n \"priceConfig\": {\r\n \"key\": \"dev\",\r\n \"version\": 1123\r\n },\r\n \"planConfig\": {\r\n \"key\": \"dev\",\r\n \"version\": 1123\r\n }\r\n }" + "raw": "{\n\t\t\"userIds\": [40051331],\n\t\t\"role\": \"customer\"\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}", + "raw": "{{api-url}}/projects/{{projectId}}/members/invite", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "projectTemplates", - "{{projectTemplateId}}" + "{{projectId}}", + "members", + "invite" ] - } + }, + "description": "If the request payload is valid, than project customer should be added. This should sync with the direct project is project is associated with direct project." }, "response": [] }, { - "name": "Delete project template", + "name": "Update project invite to accept invite", "request": { - "method": "DELETE", + "method": "PUT", "header": [ { - "key": "Content-Type", - "value": "application/json" + "key": "Authorization", + "value": "Bearer {{jwt-token-member-40051331}}" }, { - "key": "Authorization", - "value": "Bearer {{jwt-token}}" + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"new category\",\r\n \"scope\":{\r\n \"scope1\":\"scope 1\",\r\n \"scope2\": [\"a\"]\r\n },\r\n \"phases\":{\r\n \"phase1\":\"phase 1\",\r\n \"phase2\": {\r\n \t\"another\": \"another\"\r\n }\r\n }\r\n }" + "raw": "{\n\t\t\"userId\": 40051331,\n\t\t\"status\": \"accepted\"\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}", + "raw": "{{api-url}}/projects/{{projectId}}/members/invite", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "projectTemplates", - "{{projectTemplateId}}" + "{{projectId}}", + "members", + "invite" ] - } + }, + "description": "If the request payload is valid, than project customer should be added. This should sync with the direct project is project is associated with direct project." }, "response": [] - } - ] - }, - { - "name": "Product Templates", - "item": [ + }, { - "name": "Create product template", - "event": [ - { - "listen": "test", - "script": { - "id": "b5aaf185-6026-4b58-b9b8-56616109cd5a", - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - " pm.environment.set(\"productTemplateId\", pm.response.json().id);", - "});" - ], - "type": "text/javascript" - } - } - ], + "name": "Get permissions", "request": { - "method": "POST", + "method": "GET", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\": \"name 1\",\r\n \"productKey\": \"productKey 1\",\r\n \"category\": \"{{productCategoryId}}\",\r\n \"subCategory\": \"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"brief\": \"brief 1\",\r\n \"details\": \"details 1\",\r\n \"aliases\": [\"product key 1\", \"product_key_1\"],\r\n \"template\": {\r\n \"template1\": {\r\n \"name\": \"template 1\",\r\n \"details\": {\r\n \"anyDetails\": \"any details 1\"\r\n },\r\n \"others\": [\"others 11\", \"others 12\"]\r\n },\r\n \"template2\": {\r\n \"name\": \"template 2\",\r\n \"details\": {\r\n \"anyDetails\": \"any details 2\"\r\n },\r\n \"others\": [\"others 21\", \"others 22\"]\r\n }\r\n }\r\n }" - }, "url": { - "raw": "{{api-url}}/projects/metadata/productTemplates", + "raw": "{{api-url}}/projects/{{projectId}}/permissions", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "productTemplates" + "{{projectId}}", + "permissions" ] - } + }, + "description": "List all the project with no filter. Default sort and limits are applied." }, "response": [] }, { - "name": "Create product template with form", - "event": [ - { - "listen": "test", - "script": { - "id": "d5a2af2e-97d2-415c-a533-1d52dd4003c7", - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - " pm.environment.set(\"productTemplateId\", pm.response.json().id);", - "});" - ], - "type": "text/javascript" - } - } - ], + "name": "Get permissions - manager", "request": { - "method": "POST", + "method": "GET", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", - "value": "Bearer {{jwt-token}}" + "value": "Bearer {{jwt-token-manager-40051334}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\": \"name 1\",\r\n \"productKey\": \"productKey 1\",\r\n \"category\": \"key1\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"brief\": \"brief 1\",\r\n \"details\": \"details 1\",\r\n \"aliases\": [\"product key 1\", \"product_key_1\"],\r\n \"form\": {\r\n\t\t\"key\": \"dev\",\r\n\t\t\"version\": 1\r\n\t}\r\n }" - }, "url": { - "raw": "{{api-url}}/projects/metadata/productTemplates", + "raw": "{{api-url}}/projects/{{projectId}}/permissions", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "productTemplates" + "{{projectId}}", + "permissions" ] - } + }, + "description": "List all the project with no filter. Default sort and limits are applied." }, "response": [] + } + ], + "event": [ + { + "listen": "prerequest", + "script": { + "id": "5197d1ec-429c-4a6f-9e9c-3ec3cd6f292a", + "type": "text/javascript", + "exec": [ + "" + ] + } }, { - "name": "Create product template with wrong form key", + "listen": "test", + "script": { + "id": "cc0cbbf1-54d1-481f-b8fa-a6dc4c80e993", + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "WorkManagementForTemplate", + "item": [ + { + "name": "Create workstream with valid values", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"workStreamId1\", pm.response.json().id);", + "});" + ] + } + } + ], "request": { "method": "POST", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"name 1\",\r\n \"productKey\": \"productKey 1\",\r\n \"category\": \"key1\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"brief\": \"brief 1\",\r\n \"details\": \"details 1\",\r\n \"aliases\": [\"product key 1\", \"product_key_1\"],\r\n \"form\": {\r\n\t\t\"key\": \"wrong-key\"\r\n\t}\r\n }" + "raw": "{\n\t\t\"name\": \"test project\",\n\t\t\"type\": \"generic\",\n\t\t\"status\": \"active\"\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/productTemplates", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "productTemplates" + "{{projectId}}", + "workstreams" ] - } + }, + "description": "Valid request body. Project should be created successfully." }, "response": [] }, { - "name": "Create product template with wrong model version", + "name": "Create project invite for customer with valid values", "request": { "method": "POST", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"name 1\",\r\n \"productKey\": \"productKey 1\",\r\n \"category\": \"key1\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"brief\": \"brief 1\",\r\n \"details\": \"details 1\",\r\n \"aliases\": [\"product key 1\", \"product_key_1\"],\r\n \"form\": {\r\n\t\t\"key\": \"dev\",\r\n\t\t\"version\": 1123\r\n\t}\r\n }" + "raw": "{\n\t\t\"userIds\": [40051331],\n\t\t\"role\": \"customer\"\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/productTemplates", + "raw": "{{api-url}}/projects/{{projectId}}/members/invite", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "productTemplates" + "{{projectId}}", + "members", + "invite" ] - } + }, + "description": "If the request payload is valid, than project customer should be added. This should sync with the direct project is project is associated with direct project." }, "response": [] }, { - "name": "List product templates", + "name": "Update project invite to accept invite", "request": { - "method": "GET", + "method": "PUT", "header": [ { - "key": "Content-Type", - "value": "application/json" + "key": "Authorization", + "value": "Bearer {{jwt-token-member-40051331}}" }, { - "key": "Authorization", - "value": "Bearer {{jwt-token}}" + "key": "Content-Type", + "value": "application/json" } ], + "body": { + "mode": "raw", + "raw": "{\n\t\t\"userId\": 40051331,\n\t\t\"status\": \"accepted\"\n}" + }, "url": { - "raw": "{{api-url}}/projects/metadata/productTemplates", + "raw": "{{api-url}}/projects/{{projectId}}/members/invite", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "productTemplates" + "{{projectId}}", + "members", + "invite" ] - } + }, + "description": "If the request payload is valid, than project customer should be added. This should sync with the direct project is project is associated with direct project." }, "response": [] }, { - "name": "Get product template", + "name": "Update work stream - no match allowRule", "request": { - "method": "GET", + "method": "PATCH", "header": [ { - "key": "Content-Type", - "value": "application/json" + "key": "Authorization", + "value": "Bearer {{jwt-token-copilot-40051332}}" }, { - "key": "Authorization", - "value": "Bearer {{jwt-token}}" + "key": "Content-Type", + "value": "application/json" } ], + "body": { + "mode": "raw", + "raw": "{\n\t\t\"name\": \"work item - updated\"\n}" + }, "url": { - "raw": "{{api-url}}/projects/metadata/productTemplates/{{productTemplateId}}", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId1}}", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "productTemplates", - "{{productTemplateId}}" + "{{projectId}}", + "workstreams", + "{{workStreamId1}}" ] - } + }, + "description": "Update the project name. Name should be updated successfully." }, "response": [] }, { - "name": "Update product template", + "name": "Update work stream - allow access", "request": { "method": "PATCH", "header": [ { - "key": "Content-Type", - "value": "application/json" + "key": "Authorization", + "value": "Bearer {{jwt-token-connectAdmin-40051336}}" }, { - "key": "Authorization", - "value": "Bearer {{jwt-token}}" + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"name\":\"new name\",\r\n \"productKey\":\"new productKey\",\r\n \"category\":\"key1\",\r\n \"icon\":\"http://example.com/icon-new.ico\",\r\n \"brief\": \"new brief\",\r\n \"details\": \"new details\",\r\n \"aliases\":{\r\n \"alias1\":\"scope 1\",\r\n \"alias2\": [\"a\"]\r\n },\r\n \"template\":{\r\n \"template1\":\"template 1\",\r\n \"template2\": {\r\n \t\"another\": \"another\"\r\n }\r\n }\r\n }" + "raw": "{\n\t\t\"name\": \"work item - updated\"\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/productTemplates/{{productTemplateId}}", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId1}}", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "productTemplates", - "{{productTemplateId}}" + "{{projectId}}", + "workstreams", + "{{workStreamId1}}" ] - } + }, + "description": "Update the project name. Name should be updated successfully." }, "response": [] }, { - "name": "Delete product template", + "name": "Update work stream - allow access with ProjectRoles", "request": { - "method": "DELETE", + "method": "PATCH", "header": [ { - "key": "Content-Type", - "value": "application/json" + "key": "Authorization", + "value": "Bearer {{jwt-token-member-40051331}}" }, { - "key": "Authorization", - "value": "Bearer {{jwt-token}}" + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "" + "raw": "{\n\t\t\"name\": \"work item - updated\"\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/productTemplates/{{productTemplateId}}", + "raw": "{{api-url}}/projects/{{projectId}}/workstreams/{{workStreamId1}}", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "productTemplates", - "{{productTemplateId}}" + "{{projectId}}", + "workstreams", + "{{workStreamId1}}" ] - } + }, + "description": "Update the project name. Name should be updated successfully." }, "response": [] }, { - "name": "Upgrade a product template with form", + "name": "Create workstream with valid values - Project 2", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"workStreamId2\", pm.response.json().id);", + "});" + ] + } + } + ], "request": { "method": "POST", "header": [ { - "key": "Content-Type", - "value": "application/json", - "type": "text" + "key": "Authorization", + "value": "Bearer {{jwt-token}}" }, { - "key": "Authorization", - "value": "Bearer {{jwt-token}}", - "type": "text" + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"form\": {\r\n \t\"key\": \"dev\",\t\r\n \t\"version\": 2\r\n }\r\n }" + "raw": "{\n\t\t\"name\": \"test project\",\n\t\t\"type\": \"generic\",\n\t\t\"status\": \"active\"\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/productTemplates/{{productTemplateId}}/upgrade", + "raw": "{{api-url}}/projects/2/workstreams", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "productTemplates", - "{{productTemplateId}}", - "upgrade" + "2", + "workstreams" ] - } + }, + "description": "Valid request body. Project should be created successfully." }, "response": [] }, { - "name": "Upgrade a product template with wrong model version", + "name": "Update work item - allow access", "request": { - "method": "POST", + "method": "PATCH", "header": [ { - "key": "Content-Type", - "value": "application/json", - "type": "text" + "key": "Authorization", + "value": "Bearer {{jwt-token-manager-40051334}}" }, { - "key": "Authorization", - "value": "Bearer {{jwt-token}}", - "type": "text" + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"form\": {\r\n \t\"key\": \"dev\",\t\r\n \t\"version\": 1234\r\n }\r\n }" + "raw": "{\n\t\t\"name\": \"test project - updated\"\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/productTemplates/{{productTemplateId}}/upgrade", + "raw": "{{api-url}}/projects/2/workstreams/{{workStreamId2}}", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "productTemplates", - "{{productTemplateId}}", - "upgrade" + "2", + "workstreams", + "{{workStreamId2}}" ] - } + }, + "description": "Update the project name. If user don't have permission to the project than it should return 403." }, "response": [] }, { - "name": "Upgrade a product template without define form", + "name": "Update workstream - deny access", "request": { - "method": "POST", + "method": "PATCH", "header": [ { - "key": "Content-Type", - "value": "application/json", - "type": "text" + "key": "Authorization", + "value": "Bearer {{jwt-token-copilot-40051332}}" }, { - "key": "Authorization", - "value": "Bearer {{jwt-token}}", - "type": "text" + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \r\n}" + "raw": "{\n\t\t\"name\": \"work item - updated\"\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/productTemplates/{{productTemplateId}}/upgrade", + "raw": "{{api-url}}/projects/2/workstreams/{{workStreamId2}}", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "productTemplates", - "{{productTemplateId}}", - "upgrade" + "2", + "workstreams", + "{{workStreamId2}}" ] - } + }, + "description": "Update the project name. Name should be updated successfully." }, "response": [] } - ] + ], + "description": "Requests for all things projects.", + "protocolProfileBehavior": {} }, { - "name": "Project Type", + "name": "EventHandling and Integration with Direct Project API", "item": [ { - "name": "Create project type", - "event": [ - { - "listen": "test", - "script": { - "id": "fbc45946-a3f2-433a-8ec5-0af82b69d2bd", - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - " pm.environment.set(\"projectTypeId\", pm.response.json().key);", - "});" - ], - "type": "text/javascript" - } - } - ], + "name": "mock direct projects", "request": { - "method": "POST", + "method": "GET", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"key\": \"new key\",\r\n \"displayName\": \"new displayName\",\r\n \"icon\": \"http://example.com/icon4.ico\",\r\n \t\"question\": \"question 4\",\r\n \t\"info\": \"info 4\",\r\n \t\"aliases\": [\"key-41\", \"key_42\"],\r\n \t\"metadata\": {}\r\n }" - }, - "url": { - "raw": "{{api-url}}/projects/metadata/projectTypes", - "host": [ - "{{api-url}}" - ], - "path": [ - "projects", - "metadata", - "projectTypes" - ] - } - }, - "response": [] - }, - { - "name": "List project types", - "request": { - "method": "GET", - "header": [ + }, { "key": "Content-Type", "value": "application/json" - }, - { - "key": "Authorization", - "value": "Bearer {{jwt-token}}" } ], "url": { - "raw": "{{api-url}}/projects/metadata/projectTypes", + "raw": "https://api.topcoder-dev.com/v3/direct/projects", + "protocol": "https", "host": [ - "{{api-url}}" + "api", + "topcoder-dev", + "com" ], "path": [ - "projects", - "metadata", - "projectTypes" + "v3", + "direct", + "projects" ] } }, "response": [] }, { - "name": "Get project type", + "name": " Create direct project when a new project is successfully created", "request": { - "method": "GET", + "method": "POST", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" - } - ], - "url": { - "raw": "{{api-url}}/projects/metadata/projectTypes/{{projectTypeId}}", - "host": [ - "{{api-url}}" - ], - "path": [ - "projects", - "metadata", - "projectTypes", - "{{projectTypeId}}" - ] - } - }, - "response": [] - }, - { - "name": "Update project type", - "request": { - "method": "PATCH", - "header": [ + }, { "key": "Content-Type", "value": "application/json" - }, - { - "key": "Authorization", - "value": "Bearer {{jwt-token}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"displayName\": \"Chatbot-updated\"\r\n }" + "raw": "{\n \"type\": \"generic\",\n \"description\": \"test project\",\n \"details\": {},\n \"billingAccountId\": 123,\n \"name\": \"test project1\"\n }" }, "url": { - "raw": "{{api-url}}/projects/metadata/projectTypes/{{projectTypeId}}", + "raw": "{{api-url}}/projects", "host": [ "{{api-url}}" ], "path": [ - "projects", - "metadata", - "projectTypes", - "{{projectTypeId}}" + "projects" ] } }, "response": [] }, { - "name": "Delete project type", + "name": "Response error from direct project service", "request": { - "method": "DELETE", + "method": "POST", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "" + "raw": "{\n\n \"role\": \"copilot\"\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/projectTypes/{{projectTypeId}}", + "raw": "{{api-url}}/projects/{{projectId}}/members", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "projectTypes", - "{{projectTypeId}}" + "{{projectId}}", + "members" ] } }, "response": [] - } - ] - }, - { - "name": "Product Category", - "item": [ + }, { - "name": "Create product category", - "event": [ - { - "listen": "test", - "script": { - "id": "06156797-ceb2-4f8c-9448-5c453adb7b7a", - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - " pm.environment.set(\"productCategoryId\", pm.response.json().key);", - "});" - ], - "type": "text/javascript" - } - } - ], + "name": " Add co-pilot when a co-pilot is added to a project", "request": { "method": "POST", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"key\": \"generic\",\r\n \"displayName\": \"new displayName\",\r\n \"icon\": \"icon\",\r\n \"question\": \"question\",\r\n \"info\": \"info\",\r\n \"aliases\": [\"key-1\", \"key-2\"]\r\n }" + "raw": "{\n\t\"role\": \"copilot\"\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/productCategories", + "raw": "{{api-url}}/projects/{{projectId}}/members", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "productCategories" + "{{projectId}}", + "members" ] } }, "response": [] }, { - "name": "List product categories", + "name": "remove copilot from direct project when editing project member role", "request": { - "method": "GET", + "method": "PATCH", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" - } - ], - "url": { - "raw": "{{api-url}}/projects/metadata/productCategories", - "host": [ - "{{api-url}}" - ], - "path": [ - "projects", - "metadata", - "productCategories" - ] - } - }, - "response": [] - }, - { - "name": "Get product category", - "request": { - "method": "GET", - "header": [ + }, { "key": "Content-Type", "value": "application/json" - }, - { - "key": "Authorization", - "value": "Bearer {{jwt-token}}" } ], + "body": { + "mode": "raw", + "raw": " {\n \"role\": \"customer\",\n \"isPrimary\": true\n } " + }, "url": { - "raw": "{{api-url}}/projects/metadata/productCategories/{{productCategoryId}}", + "raw": "{{api-url}}/projects/{{projectId}}/members/{{memberId}}", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "productCategories", - "{{productCategoryId}}" + "{{projectId}}", + "members", + "{{memberId}}" ] } }, "response": [] }, { - "name": "Update product category", + "name": " Sync billing account id with direct", "request": { "method": "PATCH", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"displayName\": \"Chatbot-updated\"\r\n }" + "raw": "{\n \"billingAccountId\": 9999, \n \"name\": \"new project name\"\n }" }, "url": { - "raw": "{{api-url}}/projects/metadata/productCategories/{{productCategoryId}}", + "raw": "{{api-url}}/projects/{{projectId}}", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "productCategories", - "{{productCategoryId}}" + "{{projectId}}" ] } }, "response": [] }, { - "name": "Delete product category", + "name": "Delete co-pilot when a co-pilot is removed from a project", "request": { "method": "DELETE", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"new category\",\r\n \"scope\":{\r\n \"scope1\":\"scope 1\",\r\n \"scope2\": [\"a\"]\r\n },\r\n \"phases\":{\r\n \"phase1\":\"phase 1\",\r\n \"phase2\": {\r\n \t\"another\": \"another\"\r\n }\r\n }\r\n }" + "raw": "" }, "url": { - "raw": "{{api-url}}/projects/metadata/productCategories/{{productCategoryId}}", + "raw": "{{api-url}}/projects/{{projectId}}/members/{{memberId}}", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "productCategories", - "{{productCategoryId}}" + "{{projectId}}", + "members", + "{{memberId}}" ] } }, "response": [] } ], - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJhZG1pbmlzdHJhdG9yIl0sImlzcyI6Imh0dHBzOi8vYXBpLnRvcGNvZGVyLWRldi5jb20iLCJoYW5kbGUiOiJwc2hhaDEiLCJleHAiOjI0NjI0OTQ2MTgsInVzZXJJZCI6IjQwMTM1OTc4IiwiaWF0IjoxNDYyNDk0MDE4LCJlbWFpbCI6InBzaGFoMUB0ZXN0LmNvbSIsImp0aSI6ImY0ZTFhNTE0LTg5ODAtNDY0MC04ZWM1LWUzNmUzMWE3ZTg0OSJ9.XuNN7tpMOXvBG1QwWRQROj7NfuUbqhkjwn39Vy4tR5I", - "type": "string" - } - ] - }, "event": [ { "listen": "prerequest", "script": { - "id": "f0092ef5-e624-4c25-87b2-b6a9e4c81ec8", + "id": "ef96ac6a-0fc0-4a64-a4fe-5390e17afe67", "type": "text/javascript", "exec": [ "" @@ -4253,27 +4484,43 @@ { "listen": "test", "script": { - "id": "9183c429-a5e0-4bf9-96a2-89f4d66e9b0d", + "id": "12f9d794-0872-4058-aafa-77b89e72025b", "type": "text/javascript", "exec": [ "" ] } } - ] + ], + "protocolProfileBehavior": {} }, { - "name": "Project upgrade", + "name": "Project Phase", "item": [ { - "name": "Migrate project", - "request": { - "method": "POST", - "header": [ - { - "key": "Authorization", - "value": "Bearer {{jwt-token}}" - }, + "name": "Create Phase", + "event": [ + { + "listen": "test", + "script": { + "id": "7050133a-b934-4faf-8101-d2e80b5c0710", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"phaseId\", pm.response.json().id);", + "});" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + }, { "key": "Content-Type", "value": "application/json" @@ -4281,24 +4528,39 @@ ], "body": { "mode": "raw", - "raw": "{\n\t\t\"targetVersion\": \"v3\",\n\t\t\"defaultProductTemplateId\": 3\n\t}" + "raw": "{\n\t\"name\": \"test project phase\",\n\t\"status\": \"active\",\n\t\"startDate\": \"2018-05-15T00:00:00\",\n\t\"endDate\": \"2018-05-16T00:00:00\",\n\t\"budget\": 20,\n\t\"details\": {\n\t\t\"aDetails\": \"a details\"\n\t}\n}" }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/upgrade", + "raw": "{{api-url}}/projects/{{projectId}}/phases", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "upgrade" + "phases" ] } }, "response": [] }, { - "name": "Migrate project (completed)", + "name": "Create Phase with order", + "event": [ + { + "listen": "test", + "script": { + "id": "2f771afe-7b4e-4260-b04d-324e880eb61b", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"phaseId\", pm.response.json().id);", + "});" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "POST", "header": [ @@ -4313,24 +4575,39 @@ ], "body": { "mode": "raw", - "raw": "{\n\t\t\"targetVersion\": \"v3\",\n\t\t\"defaultProductTemplateId\": 3\n\t}" + "raw": "{\n\t\"name\": \"test project phase\",\n\t\"status\": \"active\",\n\t\"startDate\": \"2018-05-15T00:00:00\",\n\t\"endDate\": \"2018-05-16T00:00:00\",\n\t\"budget\": 20,\n\t\"details\": {\n\t\t\"aDetails\": \"a details\"\n\t},\n\t\"order\": 1\n}" }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/upgrade", + "raw": "{{api-url}}/projects/{{projectId}}/phases", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "upgrade" + "phases" ] } }, "response": [] }, { - "name": "Migrate project with phase name", + "name": "Create Phase with productTemplateId", + "event": [ + { + "listen": "test", + "script": { + "id": "8415ad98-b3f6-4330-88b6-e1830da2e4f9", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"phaseId\", pm.response.json().id);", + "});" + ], + "type": "text/javascript" + } + } + ], "request": { "method": "POST", "header": [ @@ -4345,26 +4622,26 @@ ], "body": { "mode": "raw", - "raw": "{\n\t\t\"targetVersion\": \"v3\",\n\t\t\"defaultProductTemplateId\": 3,\n\t\t\"phaseName\": \"Custom phase name\"\n\t}" + "raw": "{\n\t\"name\": \"test project phase\",\n\t\"status\": \"active\",\n\t\"startDate\": \"2018-05-15T00:00:00\",\n\t\"endDate\": \"2018-05-16T00:00:00\",\n\t\"budget\": 20,\n\t\"details\": {\n\t\t\"aDetails\": \"a details\"\n\t},\n\t\"order\": 1,\n\t\"productTemplateId\": {{productTemplateId}}\n}" }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/upgrade", + "raw": "{{api-url}}/projects/{{projectId}}/phases", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "upgrade" + "phases" ] } }, "response": [] }, { - "name": "Migrate project with phase name (completed)", + "name": "List Phase DB", "request": { - "method": "POST", + "method": "GET", "header": [ { "key": "Authorization", @@ -4375,324 +4652,363 @@ "value": "application/json" } ], - "body": { - "mode": "raw", - "raw": "{\n\t\t\"targetVersion\": \"v3\",\n\t\t\"defaultProductTemplateId\": 3,\n\t\t\"phaseName\": \"Custom phase name\"\n\t}" - }, "url": { - "raw": "{{api-url}}/projects/{{projectId}}/upgrade", + "raw": "{{api-url}}/projects/{{projectId}}/phases/db", "host": [ "{{api-url}}" ], "path": [ "projects", "{{projectId}}", - "upgrade" + "phases", + "db" ] } }, "response": [] - } - ], - "description": "Request to migrate projects." - }, - { - "name": "Timeline", - "item": [ + }, { - "name": "Create timeline", - "event": [ - { - "listen": "test", - "script": { - "id": "c066e7d4-537f-406e-a768-ec4bf73a2634", - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - " pm.environment.set(\"timelineId\", pm.response.json().id);", - "});" - ], - "type": "text/javascript" - } - } - ], + "name": "List Phase DB with fields", "request": { - "method": "POST", + "method": "GET", "header": [ { - "key": "Content-Type", - "value": "application/json" + "key": "Authorization", + "value": "Bearer {{jwt-token}}" }, { - "key": "Authorization", - "value": "Bearer {{jwt-token-connectAdmin-40051336}}" + "key": "Content-Type", + "value": "application/json" } ], - "body": { - "mode": "raw", - "raw": "{\r\n\t\"name\":\"new name\",\r\n\t\"description\":\"new description\",\r\n\t\"startDate\":\"2018-05-29T00:00:00.000Z\",\r\n\t\"endDate\": \"2018-05-30T00:00:00.000Z\",\r\n\t\"reference\": \"project\",\r\n\t\"referenceId\": {{projectId}}\r\n}" - }, "url": { - "raw": "{{api-url}}/timelines", + "raw": "{{api-url}}/projects/{{projectId}}/phases/db?fields=status,name,budget", "host": [ "{{api-url}}" ], "path": [ - "timelines" + "projects", + "{{projectId}}", + "phases", + "db" + ], + "query": [ + { + "key": "fields", + "value": "status,name,budget" + } ] } }, "response": [] }, { - "name": "Create timeline with templateId", - "event": [ - { - "listen": "test", - "script": { - "id": "ee729ed9-0072-4821-9141-3615ff66f728", - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - " pm.environment.set(\"timelineId\", pm.response.json().id);", - "});" - ], - "type": "text/javascript" - } - } - ], + "name": "List Phase DB with sort", "request": { - "method": "POST", + "method": "GET", "header": [ { - "key": "Content-Type", - "value": "application/json" + "key": "Authorization", + "value": "Bearer {{jwt-token}}" }, { - "key": "Authorization", - "value": "Bearer {{jwt-token-connectAdmin-40051336}}" + "key": "Content-Type", + "value": "application/json" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\":\"new name\",\r\n \"description\":\"new description\",\r\n \"startDate\":\"2018-05-29T00:00:00.000Z\",\r\n \"endDate\": \"2018-05-30T00:00:00.000Z\",\r\n \"reference\": \"project\",\r\n \"referenceId\": 1,\r\n \"templateId\": 1\r\n}" - }, "url": { - "raw": "{{api-url}}/timelines", + "raw": "{{api-url}}/projects/{{projectId}}/phases/db?sort=status desc", "host": [ "{{api-url}}" ], "path": [ - "timelines" + "projects", + "{{projectId}}", + "phases", + "db" + ], + "query": [ + { + "key": "sort", + "value": "status desc" + } ] } }, "response": [] }, { - "name": "Create timeline with invalid data", + "name": "List Phase DB with sort by order", "request": { - "method": "POST", + "method": "GET", "header": [ { - "key": "Content-Type", - "value": "application/json" + "key": "Authorization", + "value": "Bearer {{jwt-token}}" }, { - "key": "Authorization", - "value": "Bearer {{jwt-token-connectAdmin-40051336}}" + "key": "Content-Type", + "value": "application/json" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"startDate\":\"2018-05-29T00:00:00.000Z\",\r\n \"endDate\": \"2018-05-28T00:00:00.000Z\",\r\n \"reference\": \"invalid\",\r\n \"referenceId\": 0\r\n}" - }, "url": { - "raw": "{{api-url}}/timelines", + "raw": "{{api-url}}/projects/{{projectId}}/phases/db?sort=order desc", "host": [ "{{api-url}}" ], "path": [ - "timelines" + "projects", + "{{projectId}}", + "phases", + "db" + ], + "query": [ + { + "key": "sort", + "value": "order desc" + } ] } }, "response": [] }, { - "name": "List timelines (filter by reference and referenceId)", + "name": "List Phase", "request": { "method": "GET", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", - "value": "Bearer {{jwt-token-copilot-40051332}}", - "disabled": true + "value": "Bearer {{jwt-token}}" }, { - "key": "Authorization", - "value": "Bearer {{jwt-token}}", - "type": "text" + "key": "Content-Type", + "value": "application/json" } ], "url": { - "raw": "{{api-url}}/timelines?reference=project&referenceId={{projectId}}", + "raw": "{{api-url}}/projects/{{projectId}}/phases", "host": [ "{{api-url}}" ], "path": [ - "timelines" - ], - "query": [ - { - "key": "reference", - "value": "project" - }, - { - "key": "referenceId", - "value": "{{projectId}}" - } + "projects", + "{{projectId}}", + "phases" ] } }, "response": [] }, { - "name": "Get timeline", + "name": "List Phase with fields", "request": { "method": "GET", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}", + "raw": "{{api-url}}/projects/{{projectId}}/phases?fields=status,name,budget", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}" + "projects", + "{{projectId}}", + "phases" + ], + "query": [ + { + "key": "fields", + "value": "status,name,budget" + } ] } }, "response": [] }, { - "name": "Update timeline", + "name": "List Phase with sort", "request": { - "method": "PATCH", + "method": "GET", "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + }, { "key": "Content-Type", "value": "application/json" - }, + } + ], + "url": { + "raw": "{{api-url}}/projects/{{projectId}}/phases?sort=status desc", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "{{projectId}}", + "phases" + ], + "query": [ + { + "key": "sort", + "value": "status desc" + } + ] + } + }, + "response": [] + }, + { + "name": "List Phase with sort by order", + "request": { + "method": "GET", + "header": [ { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\": \"timeline 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"startDate\": \"2018-05-01T00:00:00.000Z\",\r\n \"endDate\": null,\r\n \"reference\": \"project\",\r\n \"referenceId\": {{projectId}}\r\n}" - }, "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}", + "raw": "{{api-url}}/projects/{{projectId}}/phases?sort=order desc", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}" + "projects", + "{{projectId}}", + "phases" + ], + "query": [ + { + "key": "sort", + "value": "order desc" + } ] } }, "response": [] }, { - "name": "Update timeline (startDate)", + "name": "Get Phase", "request": { - "method": "PATCH", + "method": "GET", "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + }, { "key": "Content-Type", "value": "application/json" - }, + } + ], + "url": { + "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "{{projectId}}", + "phases", + "{{phaseId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update Phase", + "request": { + "method": "PATCH", + "header": [ { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"timeline 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"startDate\": \"2018-05-05T00:00:00.000Z\",\r\n \"reference\": \"project\",\r\n \"referenceId\": 1\r\n}" + "raw": "{\n\t\"name\": \"test project phase xxx\",\n\t\"status\": \"inactive\",\n\t\"startDate\": \"2018-05-14T00:00:00\",\n\t\"endDate\": \"2018-05-15T00:00:00\",\n\t\"budget\": 30,\n\t\"progress\": 15,\n\t\"details\": {\n\t\t\"message\": \"phase details\"\n\t}\n}" }, "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}", + "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}" + "projects", + "{{projectId}}", + "phases", + "{{phaseId}}" ] } }, "response": [] }, { - "name": "Update timeline (endDate)", + "name": "Update Phase with order", "request": { "method": "PATCH", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"timeline 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"startDate\": \"2018-05-04T00:00:00.000Z\",\r\n \"endDate\": \"2018-05-05T00:00:00.000Z\",\r\n \"reference\": \"project\",\r\n \"referenceId\": 1\r\n}" + "raw": "{\n\t\"name\": \"test project phase xxx\",\n\t\"status\": \"inactive\",\n\t\"startDate\": \"2018-05-14T00:00:00\",\n\t\"endDate\": \"2018-05-15T00:00:00\",\n\t\"budget\": 30,\n\t\"progress\": 15,\n\t\"details\": {\n\t\t\"message\": \"phase details\"\n\t},\n\t\"order\": 1\n}" }, "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}", + "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}" + "projects", + "{{projectId}}", + "phases", + "{{phaseId}}" ] } }, "response": [] }, { - "name": "Delete timeline", + "name": "Delete Phase", "request": { "method": "DELETE", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], "body": { @@ -4700,34 +5016,37 @@ "raw": "" }, "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}", + "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}" + "projects", + "{{projectId}}", + "phases", + "{{phaseId}}" ] } }, "response": [] } - ] + ], + "protocolProfileBehavior": {} }, { - "name": "Milestone", + "name": "Phase Products", "item": [ { - "name": "Create milestone", + "name": "Create Phase Product", "event": [ { "listen": "test", "script": { - "id": "8fd1d5e9-8e6e-4cd7-9010-b855308be069", + "id": "77f089b3-cbe6-4fb4-b54f-2a52d138a050", "exec": [ "pm.test(\"Status code is 201\", function () {", " pm.response.to.have.status(201);", - " pm.environment.set(\"milestoneId\", pm.response.json().id);", + " pm.environment.set(\"phaseProductId\", pm.response.json().id);", "});" ], "type": "text/javascript" @@ -4738,165 +5057,154 @@ "method": "POST", "header": [ { - "key": "Content-Type", - "value": "application/json" + "key": "Authorization", + "value": "Bearer {{jwt-token}}" }, { - "key": "Authorization", - "value": "Bearer {{jwt-token-admin-40051333}}" + "key": "Content-Type", + "value": "application/json" } ], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"milestone 3\",\r\n \"description\": \"description 3\",\r\n \"duration\": 4,\r\n \"startDate\": \"2018-05-29T00:00:00.000Z\",\r\n \"endDate\": \"2018-05-30T00:00:00.000Z\",\r\n \"completionDate\": \"2018-05-31T00:00:00.000Z\",\r\n \"status\": \"open\",\r\n \"type\": \"type3\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 2,\r\n 3,\r\n 4\r\n ]\r\n },\r\n \"order\": 1,\r\n \"plannedText\": \"plannedText 3\",\r\n \"activeText\": \"activeText 3\",\r\n \"completedText\": \"completedText 3\",\r\n \"blockedText\": \"blockedText 3\"\r\n}" + "raw": "{\n\t\"name\": \"test phase product\",\n\t\"type\": \"type 1\",\n\t\"estimatedPrice\": 10\n}" }, "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}/milestones", + "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}/products", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}", - "milestones" + "projects", + "{{projectId}}", + "phases", + "{{phaseId}}", + "products" ] } }, "response": [] }, { - "name": "Create milestone with invalid data", + "name": "List Phase DB Products", "request": { - "method": "POST", + "method": "GET", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", - "value": "Bearer {{jwt-token-member-40051331}}" + "value": "Bearer {{jwt-token}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"startDate\": \"2018-05-05T00:00:00.000Z\",\r\n \"endDate\": \"2018-05-04T00:00:00.000Z\",\r\n \"completionDate\": \"2018-05-04T00:00:00.000Z\"\r\n}" - }, "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}/milestones", + "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}/products/db", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}", - "milestones" + "projects", + "{{projectId}}", + "phases", + "{{phaseId}}", + "products", + "db" ] } }, "response": [] }, { - "name": "List milestones", + "name": "List Phase Products", "request": { "method": "GET", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", - "value": "Bearer {{jwt-token}}", - "type": "text" + "value": "Bearer {{jwt-token}}" } ], "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}/milestones", + "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}/products", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}", - "milestones" + "projects", + "{{projectId}}", + "phases", + "{{phaseId}}", + "products" ] } }, "response": [] }, { - "name": "List milestones (sort)", + "name": "Get Phase Product", "request": { "method": "GET", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", - "value": "Bearer {{jwt-token-copilot-40051332}}" + "value": "Bearer {{jwt-token}}" } ], "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}/milestones?sort=order desc", + "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}/products/{{phaseProductId}}", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}", - "milestones" - ], - "query": [ - { - "key": "sort", - "value": "order desc" - } + "projects", + "{{projectId}}", + "phases", + "{{phaseId}}", + "products", + "{{phaseProductId}}" ] } }, "response": [] }, { - "name": "Get milestone", + "name": "Update Phase Product", "request": { - "method": "GET", + "method": "PATCH", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" } ], + "body": { + "mode": "raw", + "raw": "{\n\t\"name\": \"test phase product xxx\",\n\t\"type\": \"type 2\",\n\t\"templateId\": 10,\n\t\"estimatedPrice\": 1.234567,\n\t\"actualPrice\": 2.34567,\n\t\"details\": {\n\t\t\"message\": \"this is a JSON type. You can use any json\"\n\t}\n}" + }, "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}/products/{{phaseProductId}}", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}", - "milestones", - "{{milestoneId}}" - ] - } + "projects", + "{{projectId}}", + "phases", + "{{phaseId}}", + "products", + "{{phaseProductId}}" + ] + } }, "response": [] }, { - "name": "Update milestone", + "name": "Delete Phase Product", "request": { - "method": "PATCH", + "method": "DELETE", "header": [ - { - "key": "Content-Type", - "value": "application/json" - }, { "key": "Authorization", "value": "Bearer {{jwt-token}}" @@ -4904,27 +5212,50 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"milestone 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"duration\": 3,\r\n \"completionDate\": \"2018-09-28T00:00:00.000Z\",\r\n \"status\": \"closed\",\r\n \"type\": \"type2\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 4\r\n ]\r\n },\r\n \"order\": 1,\r\n \"plannedText\": \"plannedText 1-updated\",\r\n \"activeText\": \"activeText 1-updated\",\r\n \"completedText\": \"completedText 1-updated\",\r\n \"blockedText\": \"blockedText 1-updated\"\r\n}" + "raw": "" }, "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "raw": "{{api-url}}/projects/{{projectId}}/phases/{{phaseId}}/products/{{phaseProductId}}", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}", - "milestones", - "{{milestoneId}}" + "projects", + "{{projectId}}", + "phases", + "{{phaseId}}", + "products", + "{{phaseProductId}}" ] } }, "response": [] - }, + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "Project Templates", + "item": [ { - "name": "Update milestone (active)", + "name": "Create project template", + "event": [ + { + "listen": "test", + "script": { + "id": "2f79c07b-8076-4715-abf7-1d6903df444f", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"projectTemplateId\", pm.response.json().id);", + "});" + ], + "type": "text/javascript" + } + } + ], "request": { - "method": "PATCH", + "method": "POST", "header": [ { "key": "Content-Type", @@ -4937,27 +5268,41 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"milestone 2-updated\",\r\n \"description\": \"description-updated\",\r\n \"duration\": 3,\r\n \"completionDate\": \"2018-10-28T00:00:00.000Z\",\r\n \"status\": \"active\",\r\n \"type\": \"type2\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 4\r\n ]\r\n },\r\n \"order\": 1,\r\n \"plannedText\": \"plannedText 1-updated\",\r\n \"activeText\": \"activeText 1-updated\",\r\n \"completedText\": \"completedText 1-updated\",\r\n \"blockedText\": \"blockedText 1-updated\"\r\n}" + "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"scope\":{\r\n \"scope1\":\"scope 1\"\r\n },\r\n \"phases\":{\r\n \"phase1\":\"phase 1\"\r\n }\r\n }" }, "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "raw": "{{api-url}}/projects/metadata/projectTemplates", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}", - "milestones", - "{{milestoneId}}" + "projects", + "metadata", + "projectTemplates" ] } }, "response": [] }, { - "name": "Update milestone (completed)", + "name": "Create project template with form, priceConfig, planConfig", + "event": [ + { + "listen": "test", + "script": { + "id": "4c442ea3-0834-4a30-8044-a4e94fd4ea2d", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"projectTemplateId\", pm.response.json().id);", + "});" + ], + "type": "text/javascript" + } + } + ], "request": { - "method": "PATCH", + "method": "POST", "header": [ { "key": "Content-Type", @@ -4970,27 +5315,41 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"milestone 2-updated\",\r\n \"description\": \"description-updated\",\r\n \"duration\": 3,\r\n \"completionDate\": \"2018-10-28T00:00:00.000Z\",\r\n \"status\": \"completed\",\r\n \"type\": \"type2\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 4\r\n ]\r\n },\r\n \"order\": 1,\r\n \"plannedText\": \"plannedText 1-updated\",\r\n \"activeText\": \"activeText 1-updated\",\r\n \"completedText\": \"completedText 1-updated\",\r\n \"blockedText\": \"blockedText 1-updated\"\r\n}" + "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"form\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1\r\n },\r\n \"priceConfig\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1\r\n },\r\n \"planConfig\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1\r\n }\r\n }" }, "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "raw": "{{api-url}}/projects/metadata/projectTemplates", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}", - "milestones", - "{{milestoneId}}" + "projects", + "metadata", + "projectTemplates" ] } }, "response": [] }, { - "name": "Update milestone (order 1 => 2)", + "name": "Create project template with only form key", + "event": [ + { + "listen": "test", + "script": { + "id": "7d0ae3ca-fe2d-40eb-b5c8-9b03955babec", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"projectTemplateId\", pm.response.json().id);", + "});" + ], + "type": "text/javascript" + } + } + ], "request": { - "method": "PATCH", + "method": "POST", "header": [ { "key": "Content-Type", @@ -5003,27 +5362,26 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"milestone 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"duration\": 3,\r\n \"completionDate\": \"2018-05-07T00:00:00.000Z\",\r\n \"status\": \"closed\",\r\n \"type\": \"type2\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 4\r\n ]\r\n },\r\n \"order\": 2,\r\n \"plannedText\": \"plannedText 1-updated\",\r\n \"activeText\": \"activeText 1-updated\",\r\n \"completedText\": \"completedText 1-updated\",\r\n \"blockedText\": \"blockedText 1-updated\"\r\n}" + "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"form\": {\r\n \t\"key\": \"dev\"\r\n }\r\n }" }, "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "raw": "{{api-url}}/projects/metadata/projectTemplates", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}", - "milestones", - "{{milestoneId}}" + "projects", + "metadata", + "projectTemplates" ] } }, "response": [] }, { - "name": "Update milestone (order 2 => 1)", + "name": "Create project template with wrong form key", "request": { - "method": "PATCH", + "method": "POST", "header": [ { "key": "Content-Type", @@ -5036,27 +5394,26 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"milestone 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"duration\": 3,\r\n \"completionDate\": \"2018-05-07T00:00:00.000Z\",\r\n \"status\": \"closed\",\r\n \"type\": \"type2\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 4\r\n ]\r\n },\r\n \"order\": 1,\r\n \"plannedText\": \"plannedText 1-updated\",\r\n \"activeText\": \"activeText 1-updated\",\r\n \"completedText\": \"completedText 1-updated\",\r\n \"blockedText\": \"blockedText 1-updated\"\r\n}" + "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"form\": {\r\n \t\"key\": \"wrong-key\"\r\n }\r\n }" }, "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "raw": "{{api-url}}/projects/metadata/projectTemplates", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}", - "milestones", - "{{milestoneId}}" + "projects", + "metadata", + "projectTemplates" ] } }, "response": [] }, { - "name": "Update milestone (order 1 => 3)", + "name": "Create project template with wrong model version", "request": { - "method": "PATCH", + "method": "POST", "header": [ { "key": "Content-Type", @@ -5069,27 +5426,26 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"milestone 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"duration\": 3,\r\n \"completionDate\": \"2018-05-07T00:00:00.000Z\",\r\n \"status\": \"closed\",\r\n \"type\": \"type2\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 4\r\n ]\r\n },\r\n \"order\": 3,\r\n \"plannedText\": \"plannedText 1-updated\",\r\n \"activeText\": \"activeText 1-updated\",\r\n \"completedText\": \"completedText 1-updated\",\r\n \"blockedText\": \"blockedText 1-updated\"\r\n}" + "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"question\": \"question 1\",\r\n \"info\": \"info 1\",\r\n \"aliases\": [\"key-1\", \"key_1\"],\r\n \"form\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1123\r\n },\r\n \"priceConfig\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1123\r\n },\r\n \"planConfig\": {\r\n \t\"key\": \"dev\",\r\n \t\"version\": 1123\r\n }\r\n }" }, "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "raw": "{{api-url}}/projects/metadata/projectTemplates", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}", - "milestones", - "{{milestoneId}}" + "projects", + "metadata", + "projectTemplates" ] } }, "response": [] }, { - "name": "Update milestone (order 3 => 1)", + "name": "List project templates", "request": { - "method": "PATCH", + "method": "GET", "header": [ { "key": "Content-Type", @@ -5100,29 +5456,24 @@ "value": "Bearer {{jwt-token}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\": \"milestone 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"duration\": 3,\r\n \"completionDate\": \"2018-05-07T00:00:00.000Z\",\r\n \"status\": \"closed\",\r\n \"type\": \"type2\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 4\r\n ]\r\n },\r\n \"order\": 1,\r\n \"plannedText\": \"plannedText 1-updated\",\r\n \"activeText\": \"activeText 1-updated\",\r\n \"completedText\": \"completedText 1-updated\",\r\n \"blockedText\": \"blockedText 1-updated\"\r\n}" - }, "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "raw": "{{api-url}}/projects/metadata/projectTemplates", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}", - "milestones", - "{{milestoneId}}" + "projects", + "metadata", + "projectTemplates" ] } }, "response": [] }, { - "name": "Delete milestone", + "name": "Get project template", "request": { - "method": "DELETE", + "method": "GET", "header": [ { "key": "Content-Type", @@ -5133,47 +5484,23 @@ "value": "Bearer {{jwt-token}}" } ], - "body": { - "mode": "raw", - "raw": "" - }, "url": { - "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}", "host": [ "{{api-url}}" ], "path": [ - "timelines", - "{{timelineId}}", - "milestones", - "{{milestoneId}}" + "projects", + "metadata", + "projectTemplates", + "{{projectTemplateId}}" ] } }, "response": [] - } - ] - }, - { - "name": "Milestone Template", - "item": [ + }, { - "name": "Create milestone template", - "event": [ - { - "listen": "test", - "script": { - "id": "3dbf8b29-2498-4b05-93de-14d809ccc285", - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - " pm.environment.set(\"milestoneTemplateId\", pm.response.json().id);", - "});" - ], - "type": "text/javascript" - } - } - ], + "name": "Upgrade a project template with from, priceConfig, planConfig", "request": { "method": "POST", "header": [ @@ -5183,29 +5510,31 @@ }, { "key": "Authorization", - "value": "Bearer {{jwt-token-admin-40051333}}" + "value": "Bearer {{jwt-token}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"milestoneTemplate 1\",\r\n \"description\": \"description 1\",\r\n \"duration\": 11,\r\n \"type\": \"type3\",\r\n \"order\": 1,\r\n \"activeText\": \"activeText 1\",\r\n \"completedText\": \"completedText 1\",\r\n \"blockedText\": \"blockedText 1\",\r\n \"plannedText\": \"planned Text 1\",\r\n\t\"reference\": \"productTemplate\",\r\n\t\"referenceId\": {{productTemplateId}},\r\n\t\"metadata\": {}\r\n}" + "raw": "{\r\n \"form\": {\r\n \t\"key\": \"dev\",\t\r\n \t \"version\": 2\r\n },\r\n \"priceConfig\": {\r\n \t\"key\": \"dev\",\t\r\n \t \"version\": 1\r\n },\r\n \"planConfig\": {\r\n \t\"key\": \"qa\",\t\r\n \t \"version\": 2\t\r\n }\r\n }" }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates", + "raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}/upgrade", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates" + "projectTemplates", + "{{projectTemplateId}}", + "upgrade" ] } }, "response": [] }, { - "name": "Create milestone template with invalid referenceId", + "name": "Upgrade a project template with wrong model version", "request": { "method": "POST", "header": [ @@ -5215,29 +5544,31 @@ }, { "key": "Authorization", - "value": "Bearer {{jwt-token-admin-40051333}}" + "value": "Bearer {{jwt-token}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"milestoneTemplate 3\",\r\n \"description\": \"description 3\",\r\n \"duration\": 33,\r\n \"type\": \"type3\",\r\n \"order\": 1,\r\n \"activeText\": \"activeText 1\",\r\n \"completedText\": \"completedText 1\",\r\n \"blockedText\": \"blockedText 1\",\r\n \"plannedText\": \"planned Text 1\",\r\n\t\"reference\": \"productTemplate\",\r\n\t\"referenceId\": 1000,\r\n\t\"metadata\": {}\r\n}" + "raw": "{\r\n \"form\": {\r\n \t\"key\": \"dev\",\t\r\n \t \"version\": 1234\r\n },\r\n \"priceConfig\": {\r\n \t\"key\": \"dev\",\t\r\n \t \"version\": 1234\r\n },\r\n \"planConfig\": {\r\n \t\"key\": \"dev\",\t\r\n \t \"version\": 1234\r\n }\r\n }" }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates", + "raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}/upgrade", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates" + "projectTemplates", + "{{projectTemplateId}}", + "upgrade" ] } }, "response": [] }, { - "name": "Create milestone template with invalid data", + "name": "Upgrade a project template without define form, priceConfig, planConfig", "request": { "method": "POST", "header": [ @@ -5247,7 +5578,7 @@ }, { "key": "Authorization", - "value": "Bearer {{jwt-token-admin-40051333}}" + "value": "Bearer {{jwt-token}}" } ], "body": { @@ -5255,23 +5586,25 @@ "raw": "{\r\n}" }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates", + "raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}/upgrade", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates" + "projectTemplates", + "{{projectTemplateId}}", + "upgrade" ] } }, "response": [] }, { - "name": "Clone milestone template", + "name": "Update project template", "request": { - "method": "POST", + "method": "PATCH", "header": [ { "key": "Content-Type", @@ -5279,32 +5612,32 @@ }, { "key": "Authorization", - "value": "Bearer {{jwt-token-admin-40051333}}" + "value": "Bearer {{jwt-token}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"sourceReference\": \"productTemplate\",\r\n \"sourceReferenceId\": 1,\r\n \"reference\": \"productTemplate\",\r\n \"referenceId\": 2\r\n}" + "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"scope\":{\r\n \"scope1\":\"scope 1\",\r\n \"scope2\": [\"a\"]\r\n },\r\n \"phases\":{\r\n \"phase1\":\"phase 1\",\r\n \"phase2\": {\r\n \t\"another\": \"another\"\r\n }\r\n }\r\n }" }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/clone", + "raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates", - "clone" + "projectTemplates", + "{{projectTemplateId}}" ] } }, "response": [] }, { - "name": "Clone milestone template with invalid referenceId", + "name": "Update project template with define form, priceConfig, planConfig", "request": { - "method": "POST", + "method": "PATCH", "header": [ { "key": "Content-Type", @@ -5312,32 +5645,32 @@ }, { "key": "Authorization", - "value": "Bearer {{jwt-token-admin-40051333}}" + "value": "Bearer {{jwt-token}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"sourceReference\": \"productTemplate\",\r\n \"sourceReferenceId\": 1,\r\n \"reference\": \"productTemplate\",\r\n \"referenceId\": 2000\r\n}" + "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n \"form\": {\r\n \"key\": \"dev\",\r\n \"version\": 1\r\n },\r\n \"priceConfig\": {\r\n \"key\": \"dev\",\r\n \"version\": 1\r\n },\r\n \"planConfig\": {\r\n \"key\": \"dev\",\r\n \"version\": 1\r\n }\r\n }" }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/clone", + "raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates", - "clone" + "projectTemplates", + "{{projectTemplateId}}" ] } }, "response": [] }, { - "name": "Clone milestone template with invalid sourceReferenceId", + "name": "Update project template with wrong form, priceConfig, planConfig", "request": { - "method": "POST", + "method": "PATCH", "header": [ { "key": "Content-Type", @@ -5345,32 +5678,32 @@ }, { "key": "Authorization", - "value": "Bearer {{jwt-token-admin-40051333}}" + "value": "Bearer {{jwt-token}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \"sourceReference\": \"productTemplate\",\r\n \"sourceReferenceId\": 1000,\r\n \"reference\": \"productTemplate\",\r\n \"referenceId\": 2\r\n}" + "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"app\",\r\n\t\"form\": {\r\n \"key\": \"dev\",\r\n \"version\": 1123\r\n },\r\n \"priceConfig\": {\r\n \"key\": \"dev\",\r\n \"version\": 1123\r\n },\r\n \"planConfig\": {\r\n \"key\": \"dev\",\r\n \"version\": 1123\r\n }\r\n }" }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/clone", + "raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates", - "clone" + "projectTemplates", + "{{projectTemplateId}}" ] } }, "response": [] }, { - "name": "List milestone templates", + "name": "Delete project template", "request": { - "method": "GET", + "method": "DELETE", "header": [ { "key": "Content-Type", @@ -5378,27 +5711,53 @@ }, { "key": "Authorization", - "value": "Bearer {{jwt-token-copilot-40051332}}" + "value": "Bearer {{jwt-token}}" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"new category\",\r\n \"scope\":{\r\n \"scope1\":\"scope 1\",\r\n \"scope2\": [\"a\"]\r\n },\r\n \"phases\":{\r\n \"phase1\":\"phase 1\",\r\n \"phase2\": {\r\n \t\"another\": \"another\"\r\n }\r\n }\r\n }" + }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates", + "raw": "{{api-url}}/projects/metadata/projectTemplates/{{projectTemplateId}}", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates" + "projectTemplates", + "{{projectTemplateId}}" ] } }, "response": [] - }, + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "Product Templates", + "item": [ { - "name": "List milestone templates (filter)", + "name": "Create product template", + "event": [ + { + "listen": "test", + "script": { + "id": "b5aaf185-6026-4b58-b9b8-56616109cd5a", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"productTemplateId\", pm.response.json().id);", + "});" + ], + "type": "text/javascript" + } + } + ], "request": { - "method": "GET", + "method": "POST", "header": [ { "key": "Content-Type", @@ -5406,37 +5765,46 @@ }, { "key": "Authorization", - "value": "Bearer {{jwt-token-copilot-40051332}}" + "value": "Bearer {{jwt-token}}" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"name 1\",\r\n \"productKey\": \"productKey 1\",\r\n \"category\": \"{{productCategoryId}}\",\r\n \"subCategory\": \"app\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"brief\": \"brief 1\",\r\n \"details\": \"details 1\",\r\n \"aliases\": [\"product key 1\", \"product_key_1\"],\r\n \"template\": {\r\n \"template1\": {\r\n \"name\": \"template 1\",\r\n \"details\": {\r\n \"anyDetails\": \"any details 1\"\r\n },\r\n \"others\": [\"others 11\", \"others 12\"]\r\n },\r\n \"template2\": {\r\n \"name\": \"template 2\",\r\n \"details\": {\r\n \"anyDetails\": \"any details 2\"\r\n },\r\n \"others\": [\"others 21\", \"others 22\"]\r\n }\r\n }\r\n }" + }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates?reference=productTemplate&referenceId={{productTemplateId}}", + "raw": "{{api-url}}/projects/metadata/productTemplates", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates" - ], - "query": [ - { - "key": "reference", - "value": "productTemplate" - }, - { - "key": "referenceId", - "value": "{{productTemplateId}}" - } + "productTemplates" ] } }, "response": [] }, { - "name": "List milestone templates (sort)", + "name": "Create product template with form", + "event": [ + { + "listen": "test", + "script": { + "id": "d5a2af2e-97d2-415c-a533-1d52dd4003c7", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"productTemplateId\", pm.response.json().id);", + "});" + ], + "type": "text/javascript" + } + } + ], "request": { - "method": "GET", + "method": "POST", "header": [ { "key": "Content-Type", @@ -5444,41 +5812,31 @@ }, { "key": "Authorization", - "value": "Bearer {{jwt-token-copilot-40051332}}" + "value": "Bearer {{jwt-token}}" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"name 1\",\r\n \"productKey\": \"productKey 1\",\r\n \"category\": \"key1\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"brief\": \"brief 1\",\r\n \"details\": \"details 1\",\r\n \"aliases\": [\"product key 1\", \"product_key_1\"],\r\n \"form\": {\r\n\t\t\"key\": \"dev\",\r\n\t\t\"version\": 1\r\n\t}\r\n }" + }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates?reference=productTemplate&referenceId={{productTemplateId}}&sort=order desc", + "raw": "{{api-url}}/projects/metadata/productTemplates", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates" - ], - "query": [ - { - "key": "reference", - "value": "productTemplate" - }, - { - "key": "referenceId", - "value": "{{productTemplateId}}" - }, - { - "key": "sort", - "value": "order desc" - } + "productTemplates" ] } }, "response": [] }, { - "name": "Get milestone template", + "name": "Create product template with wrong form key", "request": { - "method": "GET", + "method": "POST", "header": [ { "key": "Content-Type", @@ -5489,25 +5847,28 @@ "value": "Bearer {{jwt-token}}" } ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"name 1\",\r\n \"productKey\": \"productKey 1\",\r\n \"category\": \"key1\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"brief\": \"brief 1\",\r\n \"details\": \"details 1\",\r\n \"aliases\": [\"product key 1\", \"product_key_1\"],\r\n \"form\": {\r\n\t\t\"key\": \"wrong-key\"\r\n\t}\r\n }" + }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/{{milestoneTemplateId}}", + "raw": "{{api-url}}/projects/metadata/productTemplates", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates", - "{{milestoneTemplateId}}" + "productTemplates" ] } }, "response": [] }, { - "name": "Update milestone", + "name": "Create product template with wrong model version", "request": { - "method": "PATCH", + "method": "POST", "header": [ { "key": "Content-Type", @@ -5520,27 +5881,26 @@ ], "body": { "mode": "raw", - "raw": "{\r\n\t\"name\": \"milestoneTemplate 1-updated\",\r\n\t\"description\": \"description 1-updated\",\r\n\t\"duration\": 34,\r\n\t\"type\": \"type1-updated\",\r\n\t\"order\": 1,\r\n\t\"reference\": \"productTemplate\",\r\n\t\"referenceId\": 1\r\n}" + "raw": "{\r\n \"name\": \"name 1\",\r\n \"productKey\": \"productKey 1\",\r\n \"category\": \"key1\",\r\n \"icon\": \"http://example.com/icon1.ico\",\r\n \"brief\": \"brief 1\",\r\n \"details\": \"details 1\",\r\n \"aliases\": [\"product key 1\", \"product_key_1\"],\r\n \"form\": {\r\n\t\t\"key\": \"dev\",\r\n\t\t\"version\": 1123\r\n\t}\r\n }" }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/{{milestoneTemplateId}}", + "raw": "{{api-url}}/projects/metadata/productTemplates", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates", - "{{milestoneTemplateId}}" + "productTemplates" ] } }, "response": [] }, { - "name": "Update milestone (order 1 => 2)", + "name": "List product templates", "request": { - "method": "PATCH", + "method": "GET", "header": [ { "key": "Content-Type", @@ -5551,29 +5911,24 @@ "value": "Bearer {{jwt-token}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \"name\": \"milestoneTemplate 1-updated\",\r\n \"description\": \"description 1-updated\",\r\n \"duration\": 34,\r\n \"type\": \"type1-updated\",\r\n \"order\": 2,\r\n \"reference\": \"productTemplate\",\r\n \"referenceId\": {{productTemplateId}}\r\n}" - }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/{{milestoneTemplateId}}", + "raw": "{{api-url}}/projects/metadata/productTemplates", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates", - "{{milestoneTemplateId}}" + "productTemplates" ] } }, "response": [] }, { - "name": "Update milestone (order 2 => 1)", + "name": "Get product template", "request": { - "method": "PATCH", + "method": "GET", "header": [ { "key": "Content-Type", @@ -5584,27 +5939,23 @@ "value": "Bearer {{jwt-token}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n\t\"name\": \"milestoneTemplate 1-updated\",\r\n\t\"description\": \"description 1-updated\",\r\n\t\"duration\": 34,\r\n\t\"type\": \"type1-updated\",\r\n\t\"order\": 1,\r\n\t\"reference\": \"productTemplate\",\r\n\t\"referenceId\": 1\r\n}" - }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/{{milestoneTemplateId}}", + "raw": "{{api-url}}/projects/metadata/productTemplates/{{productTemplateId}}", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates", - "{{milestoneTemplateId}}" + "productTemplates", + "{{productTemplateId}}" ] } }, "response": [] }, { - "name": "Update milestone (order 1 => 3)", + "name": "Update product template", "request": { "method": "PATCH", "header": [ @@ -5619,27 +5970,27 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"milestoneTemplate 1-updated\",\r\n \"description\": \"description 1-updated\",\r\n \"duration\": 34,\r\n \"type\": \"type1-updated\",\r\n \"order\": 3,\r\n\t\"reference\": \"productTemplate\",\r\n\t\"referenceId\": 1\r\n}" + "raw": "{\r\n \"name\":\"new name\",\r\n \"productKey\":\"new productKey\",\r\n \"category\":\"key1\",\r\n \"icon\":\"http://example.com/icon-new.ico\",\r\n \"brief\": \"new brief\",\r\n \"details\": \"new details\",\r\n \"aliases\":{\r\n \"alias1\":\"scope 1\",\r\n \"alias2\": [\"a\"]\r\n },\r\n \"template\":{\r\n \"template1\":\"template 1\",\r\n \"template2\": {\r\n \t\"another\": \"another\"\r\n }\r\n }\r\n }" }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/{{milestoneTemplateId}}", + "raw": "{{api-url}}/projects/metadata/productTemplates/{{productTemplateId}}", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates", - "{{milestoneTemplateId}}" + "productTemplates", + "{{productTemplateId}}" ] } }, "response": [] }, { - "name": "Update milestone (order 3 => 1)", + "name": "Delete product template", "request": { - "method": "PATCH", + "method": "DELETE", "header": [ { "key": "Content-Type", @@ -5652,734 +6003,667 @@ ], "body": { "mode": "raw", - "raw": "{\r\n \"name\": \"milestoneTemplate 1-updated\",\r\n \"description\": \"description 1-updated\",\r\n \"duration\": 34,\r\n \"type\": \"type1-updated\",\r\n \"order\": 1,\r\n\t\"reference\": \"productTemplate\",\r\n\t\"referenceId\": 1\r\n}" + "raw": "" }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/{{milestoneTemplateId}}", + "raw": "{{api-url}}/projects/metadata/productTemplates/{{productTemplateId}}", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates", - "{{milestoneTemplateId}}" + "productTemplates", + "{{productTemplateId}}" ] } }, "response": [] }, { - "name": "Update milestone with metadata", + "name": "Upgrade a product template with form", "request": { - "method": "PATCH", + "method": "POST", "header": [ { "key": "Content-Type", - "value": "application/json" + "value": "application/json", + "type": "text" }, { "key": "Authorization", - "value": "Bearer {{jwt-token}}" + "value": "Bearer {{jwt-token}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "{\r\n\t\"name\": \"milestoneTemplate 5-updated\",\r\n\t\"description\": \"description 5-updated\",\r\n\t\"duration\": 34,\r\n\t\"type\": \"type5-updated\",\r\n\t\"order\": 5,\r\n\t\"reference\": \"productTemplate\",\r\n\t\"referenceId\": 1,\r\n\t\"metadata\": {\r\n \"metadata1\": {\r\n \"name\": \"metadata 1 - update\",\r\n \"details\": {\r\n \"anyDetails\": \"any details 1 - update\",\r\n \"newDetails\": \"new\"\r\n },\r\n \"others\": [\"others new\"]\r\n },\r\n \"metadata3\": {\r\n \"name\": \"metadata 3\",\r\n \"details\": {\r\n \"anyDetails\": \"any details 3\"\r\n },\r\n \"others\": [\"others 31\", \"others 32\"]\r\n }\r\n }\r\n}" + "raw": "{\r\n \"form\": {\r\n \t\"key\": \"dev\",\t\r\n \t\"version\": 2\r\n }\r\n }" }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/{{milestoneTemplateId}}", + "raw": "{{api-url}}/projects/metadata/productTemplates/{{productTemplateId}}/upgrade", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates", - "{{milestoneTemplateId}}" + "productTemplates", + "{{productTemplateId}}", + "upgrade" ] } }, "response": [] }, { - "name": "Delete milestone", + "name": "Upgrade a product template with wrong model version", "request": { - "method": "DELETE", + "method": "POST", "header": [ { "key": "Content-Type", - "value": "application/json" + "value": "application/json", + "type": "text" }, { "key": "Authorization", - "value": "Bearer {{jwt-token}}" + "value": "Bearer {{jwt-token}}", + "type": "text" } ], "body": { "mode": "raw", - "raw": "" + "raw": "{\r\n \"form\": {\r\n \t\"key\": \"dev\",\t\r\n \t\"version\": 1234\r\n }\r\n }" }, "url": { - "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/{{milestoneTemplateId}}", + "raw": "{{api-url}}/projects/metadata/productTemplates/{{productTemplateId}}/upgrade", "host": [ "{{api-url}}" ], "path": [ - "timelines", + "projects", "metadata", - "milestoneTemplates", - "{{milestoneTemplateId}}" + "productTemplates", + "{{productTemplateId}}", + "upgrade" ] } }, "response": [] - } - ] - }, - { - "name": "Metadata", - "item": [ + }, { - "name": "Get all metadata", + "name": "Upgrade a product template without define form", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, - "method": "GET", + "method": "POST", "header": [ { - "key": "", - "value": "", + "key": "Content-Type", + "value": "application/json", + "type": "text" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}", "type": "text" } ], - "url": { - "raw": "{{api-url}}/projects/metadata", - "host": [ - "{{api-url}}" - ], - "path": [ - "projects", - "metadata" - ] - } - }, - "response": [] - }, - { - "name": "Get all metadata with includeAllVersion", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] + "body": { + "mode": "raw", + "raw": "{\r\n \r\n}" }, - "method": "GET", - "header": [], "url": { - "raw": "{{api-url}}/projects/metadata?includeAllReferred=true", + "raw": "{{api-url}}/projects/metadata/productTemplates/{{productTemplateId}}/upgrade", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata" - ], - "query": [ - { - "key": "includeAllReferred", - "value": "true" - } + "metadata", + "productTemplates", + "{{productTemplateId}}", + "upgrade" ] } }, "response": [] } - ] + ], + "protocolProfileBehavior": {} }, { - "name": "Form Version", + "name": "Project Type", "item": [ { - "name": "List forms", + "name": "Create project type", + "event": [ + { + "listen": "test", + "script": { + "id": "fbc45946-a3f2-433a-8ec5-0af82b69d2bd", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"projectTypeId\", pm.response.json().key);", + "});" + ], + "type": "text/javascript" + } + } + ], "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"key\": \"new key\",\r\n \"displayName\": \"new displayName\",\r\n \"icon\": \"http://example.com/icon4.ico\",\r\n \t\"question\": \"question 4\",\r\n \t\"info\": \"info 4\",\r\n \t\"aliases\": [\"key-41\", \"key_42\"],\r\n \t\"metadata\": {}\r\n }" }, - "method": "GET", - "header": [], "url": { - "raw": "{{api-url}}/projects/metadata/form/{{formKey}}/versions", + "raw": "{{api-url}}/projects/metadata/projectTypes", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "form", - "{{formKey}}", - "versions" + "projectTypes" ] } }, "response": [] }, { - "name": "Get a particular version", + "name": "List project types", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, "method": "GET", - "header": [], + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], "url": { - "raw": "{{api-url}}/projects/metadata/form/{{formKey}}/versions/{{formVersion}}", + "raw": "{{api-url}}/projects/metadata/projectTypes", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "form", - "{{formKey}}", - "versions", - "{{formVersion}}" + "projectTypes" ] } }, "response": [] }, { - "name": "Get latest version", + "name": "Get project type", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, "method": "GET", - "header": [], + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], "url": { - "raw": "{{api-url}}/projects/metadata/form/{{formKey}}", + "raw": "{{api-url}}/projects/metadata/projectTypes/{{projectTypeId}}", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "form", - "{{formKey}}" + "projectTypes", + "{{projectTypeId}}" ] } }, "response": [] }, { - "name": "Create form", - "event": [ - { - "listen": "test", - "script": { - "id": "94f6be66-34cc-40c8-80c2-b27dd93ed527", - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - " pm.environment.set(\"formKey\", pm.response.json().key);", - " pm.environment.set(\"formVersion\", pm.response.json().version);", - "});" - ], - "type": "text/javascript" - } - } - ], + "name": "Update project type", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, - "method": "POST", + "method": "PATCH", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" + "raw": "{\r\n \"displayName\": \"Chatbot-updated\"\r\n }" }, "url": { - "raw": "{{api-url}}/projects/metadata/form/dev/versions", + "raw": "{{api-url}}/projects/metadata/projectTypes/{{projectTypeId}}", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "form", - "dev", - "versions" + "projectTypes", + "{{projectTypeId}}" ] } }, "response": [] }, { - "name": "Update form", + "name": "Delete project type", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, - "method": "PATCH", + "method": "DELETE", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test111\"\r\n \t}\r\n }" + "raw": "" }, "url": { - "raw": "{{api-url}}/projects/metadata/form/{{formKey}}/versions/{{formVersion}}", + "raw": "{{api-url}}/projects/metadata/projectTypes/{{projectTypeId}}", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "form", - "{{formKey}}", - "versions", - "{{formVersion}}" + "projectTypes", + "{{projectTypeId}}" ] } }, "response": [] - }, + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "Product Category", + "item": [ { - "name": "Delete form", + "name": "Create product category", + "event": [ + { + "listen": "test", + "script": { + "id": "06156797-ceb2-4f8c-9448-5c453adb7b7a", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"productCategoryId\", pm.response.json().key);", + "});" + ], + "type": "text/javascript" + } + } + ], "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, - "method": "DELETE", + "method": "POST", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" } ], "body": { "mode": "raw", - "raw": "" - }, - "url": { - "raw": "{{api-url}}/projects/metadata/form/{{formKey}}/versions/{{formVersion}}", - "host": [ - "{{api-url}}" - ], - "path": [ - "projects", - "metadata", - "form", - "{{formKey}}", - "versions", - "{{formVersion}}" - ] - } - }, - "response": [] - } - ] - }, - { - "name": "Form Revision", - "item": [ - { - "name": "List all revision for version", - "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] + "raw": "{\r\n \"key\": \"generic\",\r\n \"displayName\": \"new displayName\",\r\n \"icon\": \"icon\",\r\n \"question\": \"question\",\r\n \"info\": \"info\",\r\n \"aliases\": [\"key-1\", \"key-2\"]\r\n }" }, - "method": "GET", - "header": [], "url": { - "raw": "{{api-url}}/projects/metadata/form/{{formKey}}/versions/{{formVersion}}/revisions", + "raw": "{{api-url}}/projects/metadata/productCategories", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "form", - "{{formKey}}", - "versions", - "{{formVersion}}", - "revisions" + "productCategories" ] } }, "response": [] }, { - "name": "Get a particular revision", + "name": "List product categories", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, "method": "GET", - "header": [], + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], "url": { - "raw": "{{api-url}}/projects/metadata/form/{{formKey}}/versions/{{formVersion}}/revisions/{{formRevision}}", + "raw": "{{api-url}}/projects/metadata/productCategories", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "form", - "{{formKey}}", - "versions", - "{{formVersion}}", - "revisions", - "{{formRevision}}" + "productCategories" ] } }, "response": [] }, { - "name": "Create form", - "event": [ - { - "listen": "test", - "script": { - "id": "dbe5ec9f-022c-4ec5-b58c-d19c15430b61", - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - " pm.environment.set(\"formRevision\", pm.response.json().revision);", - "});" - ], - "type": "text/javascript" - } - } - ], + "name": "Get product category", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, - "method": "POST", + "method": "GET", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" - }, "url": { - "raw": "{{api-url}}/projects/metadata/form/{{formKey}}/versions/{{formVersion}}/revisions", + "raw": "{{api-url}}/projects/metadata/productCategories/{{productCategoryId}}", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "form", - "{{formKey}}", - "versions", - "{{formVersion}}", - "revisions" + "productCategories", + "{{productCategoryId}}" ] } }, "response": [] }, { - "name": "Create for no exist key", + "name": "Update product category", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, - "method": "POST", + "method": "PATCH", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" + "raw": "{\r\n \"displayName\": \"Chatbot-updated\"\r\n }" }, "url": { - "raw": "{{api-url}}/projects/metadata/form/no-exist-2222key36/versions/1/revisions", + "raw": "{{api-url}}/projects/metadata/productCategories/{{productCategoryId}}", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "form", - "no-exist-2222key36", - "versions", - "1", - "revisions" + "productCategories", + "{{productCategoryId}}" ] } }, "response": [] }, { - "name": "Delete revision", + "name": "Delete product category", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, "method": "DELETE", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" } ], "body": { "mode": "raw", - "raw": "" + "raw": "{\r\n \"name\":\"new name\",\r\n \"key\":\"new key\",\r\n \"category\":\"new category\",\r\n \"scope\":{\r\n \"scope1\":\"scope 1\",\r\n \"scope2\": [\"a\"]\r\n },\r\n \"phases\":{\r\n \"phase1\":\"phase 1\",\r\n \"phase2\": {\r\n \t\"another\": \"another\"\r\n }\r\n }\r\n }" }, "url": { - "raw": "{{api-url}}/projects/metadata/form/{{formKey}}/versions/{{formVersion}}/revisions/{{formRevision}}", + "raw": "{{api-url}}/projects/metadata/productCategories/{{productCategoryId}}", "host": [ "{{api-url}}" ], "path": [ "projects", "metadata", - "form", - "{{formKey}}", - "versions", - "{{formVersion}}", - "revisions", - "{{formRevision}}" + "productCategories", + "{{productCategoryId}}" ] } }, "response": [] } - ] + ], + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJhZG1pbmlzdHJhdG9yIl0sImlzcyI6Imh0dHBzOi8vYXBpLnRvcGNvZGVyLWRldi5jb20iLCJoYW5kbGUiOiJwc2hhaDEiLCJleHAiOjI0NjI0OTQ2MTgsInVzZXJJZCI6IjQwMTM1OTc4IiwiaWF0IjoxNDYyNDk0MDE4LCJlbWFpbCI6InBzaGFoMUB0ZXN0LmNvbSIsImp0aSI6ImY0ZTFhNTE0LTg5ODAtNDY0MC04ZWM1LWUzNmUzMWE3ZTg0OSJ9.XuNN7tpMOXvBG1QwWRQROj7NfuUbqhkjwn39Vy4tR5I", + "type": "string" + } + ] + }, + "event": [ + { + "listen": "prerequest", + "script": { + "id": "f0092ef5-e624-4c25-87b2-b6a9e4c81ec8", + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "id": "9183c429-a5e0-4bf9-96a2-89f4d66e9b0d", + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ], + "protocolProfileBehavior": {} }, { - "name": "Price Config Version", + "name": "Project upgrade", "item": [ { - "name": "List price configs", + "name": "Migrate project", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] + "method": "POST", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\t\"targetVersion\": \"v3\",\n\t\t\"defaultProductTemplateId\": 3\n\t}" }, - "method": "GET", - "header": [], "url": { - "raw": "{{api-url}}/projects/metadata/priceConfig/dev/versions", + "raw": "{{api-url}}/projects/{{projectId}}/upgrade", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "priceConfig", - "dev", - "versions" + "{{projectId}}", + "upgrade" ] } }, "response": [] }, { - "name": "Get a particular version", + "name": "Migrate project (completed)", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] + "method": "POST", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\t\"targetVersion\": \"v3\",\n\t\t\"defaultProductTemplateId\": 3\n\t}" }, - "method": "GET", - "header": [], "url": { - "raw": "{{api-url}}/projects/metadata/priceConfig/{{priceKey}}/versions/{{priceVersion}}", + "raw": "{{api-url}}/projects/{{projectId}}/upgrade", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "priceConfig", - "{{priceKey}}", - "versions", - "{{priceVersion}}" + "{{projectId}}", + "upgrade" ] } }, "response": [] }, { - "name": "Get latest version", + "name": "Migrate project with phase name", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] + "method": "POST", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\t\"targetVersion\": \"v3\",\n\t\t\"defaultProductTemplateId\": 3,\n\t\t\"phaseName\": \"Custom phase name\"\n\t}" }, - "method": "GET", - "header": [], "url": { - "raw": "{{api-url}}/projects/metadata/priceConfig/{{priceKey}}", + "raw": "{{api-url}}/projects/{{projectId}}/upgrade", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "priceConfig", - "{{priceKey}}" + "{{projectId}}", + "upgrade" ] } }, "response": [] }, { - "name": "Create priceConfig", + "name": "Migrate project with phase name (completed)", + "request": { + "method": "POST", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + }, + { + "key": "Content-Type", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\n\t\t\"targetVersion\": \"v3\",\n\t\t\"defaultProductTemplateId\": 3,\n\t\t\"phaseName\": \"Custom phase name\"\n\t}" + }, + "url": { + "raw": "{{api-url}}/projects/{{projectId}}/upgrade", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "{{projectId}}", + "upgrade" + ] + } + }, + "response": [] + } + ], + "description": "Request to migrate projects.", + "protocolProfileBehavior": {} + }, + { + "name": "Timeline", + "item": [ + { + "name": "Create timeline", "event": [ { "listen": "test", "script": { - "id": "e440c87c-49ff-4443-b9bf-b44d4e9a480f", + "id": "c066e7d4-537f-406e-a768-ec4bf73a2634", "exec": [ "pm.test(\"Status code is 201\", function () {", " pm.response.to.have.status(201);", - " pm.environment.set(\"priceKey\", pm.response.json().key);", - " pm.environment.set(\"priceVersion\", pm.response.json().version);", + " pm.environment.set(\"timelineId\", pm.response.json().id);", "});" ], "type": "text/javascript" @@ -6387,810 +6671,3749 @@ } ], "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, "method": "POST", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-connectAdmin-40051336}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" + "raw": "{\r\n\t\"name\":\"new name\",\r\n\t\"description\":\"new description\",\r\n\t\"startDate\":\"2018-05-29T00:00:00.000Z\",\r\n\t\"endDate\": \"2018-05-30T00:00:00.000Z\",\r\n\t\"reference\": \"project\",\r\n\t\"referenceId\": {{projectId}}\r\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/priceConfig/dev/versions", + "raw": "{{api-url}}/timelines", "host": [ "{{api-url}}" ], "path": [ - "projects", - "metadata", - "priceConfig", - "dev", - "versions" + "timelines" ] } }, "response": [] }, { - "name": "Update priceConfig", + "name": "Create timeline with templateId", + "event": [ + { + "listen": "test", + "script": { + "id": "ee729ed9-0072-4821-9141-3615ff66f728", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"timelineId\", pm.response.json().id);", + "});" + ], + "type": "text/javascript" + } + } + ], "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, - "method": "PATCH", + "method": "POST", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-connectAdmin-40051336}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test111\"\r\n \t}\r\n }" + "raw": "{\r\n \"name\":\"new name\",\r\n \"description\":\"new description\",\r\n \"startDate\":\"2018-05-29T00:00:00.000Z\",\r\n \"endDate\": \"2018-05-30T00:00:00.000Z\",\r\n \"reference\": \"project\",\r\n \"referenceId\": 1,\r\n \"templateId\": 1\r\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/priceConfig/{{priceKey}}/versions/{{priceVersion}}", + "raw": "{{api-url}}/timelines", "host": [ "{{api-url}}" ], "path": [ - "projects", - "metadata", - "priceConfig", - "{{priceKey}}", - "versions", - "{{priceVersion}}" + "timelines" ] } }, "response": [] }, { - "name": "Delete priceConfig", + "name": "Create timeline with invalid data", "request": { - "auth": { - "type": "bearer", - "bearer": [ + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-connectAdmin-40051336}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"startDate\":\"2018-05-29T00:00:00.000Z\",\r\n \"endDate\": \"2018-05-28T00:00:00.000Z\",\r\n \"reference\": \"invalid\",\r\n \"referenceId\": 0\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines" + ] + } + }, + "response": [] + }, + { + "name": "List timelines (filter by reference and referenceId)", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-copilot-40051332}}", + "disabled": true + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}", + "type": "text" + } + ], + "url": { + "raw": "{{api-url}}/timelines?reference=project&referenceId={{projectId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines" + ], + "query": [ { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" + "key": "reference", + "value": "project" + }, + { + "key": "referenceId", + "value": "{{projectId}}" } ] - }, - "method": "DELETE", + } + }, + "response": [] + }, + { + "name": "Get timeline", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update timeline", + "request": { + "method": "PATCH", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" } ], "body": { "mode": "raw", - "raw": "" + "raw": "{\r\n \"name\": \"timeline 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"startDate\": \"2018-05-01T00:00:00.000Z\",\r\n \"endDate\": null,\r\n \"reference\": \"project\",\r\n \"referenceId\": {{projectId}}\r\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/priceConfig/{{priceKey}}/versions/{{priceVersion}}", + "raw": "{{api-url}}/timelines/{{timelineId}}", "host": [ "{{api-url}}" ], "path": [ - "projects", - "metadata", - "priceConfig", - "{{priceKey}}", - "versions", - "{{priceVersion}}" + "timelines", + "{{timelineId}}" ] } }, "response": [] - } - ], - "event": [ - { - "listen": "prerequest", - "script": { - "id": "59182724-4332-4d76-90ea-f7520a7b1be9", - "type": "text/javascript", - "exec": [ - "" - ] - } }, { - "listen": "test", - "script": { - "id": "abc13dca-e8a4-4995-970f-00e5889a5f2d", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ] - }, - { - "name": "Price Config Revision", - "item": [ - { - "name": "List all revision for version", + "name": "Update timeline (startDate)", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"timeline 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"startDate\": \"2018-05-05T00:00:00.000Z\",\r\n \"reference\": \"project\",\r\n \"referenceId\": 1\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}" ] + } + }, + "response": [] + }, + { + "name": "Update timeline (endDate)", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"timeline 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"startDate\": \"2018-05-04T00:00:00.000Z\",\r\n \"endDate\": \"2018-05-05T00:00:00.000Z\",\r\n \"reference\": \"project\",\r\n \"referenceId\": 1\r\n}" }, - "method": "GET", - "header": [], "url": { - "raw": "{{api-url}}/projects/metadata/priceConfig/dev/versions/3/revisions", + "raw": "{{api-url}}/timelines/{{timelineId}}", "host": [ "{{api-url}}" ], "path": [ - "projects", - "metadata", - "priceConfig", - "dev", - "versions", - "3", - "revisions" + "timelines", + "{{timelineId}}" ] } }, "response": [] }, { - "name": "Get a particular revision", + "name": "Delete timeline", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}" ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "Milestone", + "item": [ + { + "name": "Create milestone", + "event": [ + { + "listen": "test", + "script": { + "id": "8fd1d5e9-8e6e-4cd7-9010-b855308be069", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"milestoneId\", pm.response.json().id);", + "});" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"milestone 3\",\r\n \"description\": \"description 3\",\r\n \"duration\": 4,\r\n \"startDate\": \"2018-05-29T00:00:00.000Z\",\r\n \"endDate\": \"2018-05-30T00:00:00.000Z\",\r\n \"completionDate\": \"2018-05-31T00:00:00.000Z\",\r\n \"status\": \"open\",\r\n \"type\": \"type3\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 2,\r\n 3,\r\n 4\r\n ]\r\n },\r\n \"order\": 1,\r\n \"plannedText\": \"plannedText 3\",\r\n \"activeText\": \"activeText 3\",\r\n \"completedText\": \"completedText 3\",\r\n \"blockedText\": \"blockedText 3\"\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}/milestones", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}", + "milestones" + ] + } + }, + "response": [] + }, + { + "name": "Create milestone with invalid data", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-member-40051331}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"startDate\": \"2018-05-05T00:00:00.000Z\",\r\n \"endDate\": \"2018-05-04T00:00:00.000Z\",\r\n \"completionDate\": \"2018-05-04T00:00:00.000Z\"\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}/milestones", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}", + "milestones" + ] + } + }, + "response": [] + }, + { + "name": "List milestones", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}", + "type": "text" + } + ], + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}/milestones", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}", + "milestones" + ] + } + }, + "response": [] + }, + { + "name": "List milestones (sort)", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-copilot-40051332}}" + } + ], + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}/milestones?sort=order desc", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}", + "milestones" + ], + "query": [ + { + "key": "sort", + "value": "order desc" + } + ] + } + }, + "response": [] + }, + { + "name": "Get milestone", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}", + "milestones", + "{{milestoneId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update milestone", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"milestone 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"duration\": 3,\r\n \"completionDate\": \"2018-09-28T00:00:00.000Z\",\r\n \"status\": \"closed\",\r\n \"type\": \"type2\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 4\r\n ]\r\n },\r\n \"order\": 1,\r\n \"plannedText\": \"plannedText 1-updated\",\r\n \"activeText\": \"activeText 1-updated\",\r\n \"completedText\": \"completedText 1-updated\",\r\n \"blockedText\": \"blockedText 1-updated\"\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}", + "milestones", + "{{milestoneId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update milestone - paused", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"milestone 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"status\": \"paused\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 4\r\n ]\r\n },\r\n \"statusComment\": \"milestone paused\"\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}", + "milestones", + "{{milestoneId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update milestone - resume", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"milestone 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"status\": \"resume\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 4\r\n ]\r\n },\r\n \"statusComment\": \"milestone resume\"\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}", + "milestones", + "{{milestoneId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update milestone (active)", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"milestone 2-updated\",\r\n \"description\": \"description-updated\",\r\n \"duration\": 3,\r\n \"completionDate\": \"2018-10-28T00:00:00.000Z\",\r\n \"status\": \"active\",\r\n \"type\": \"type2\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 4\r\n ]\r\n },\r\n \"order\": 1,\r\n \"plannedText\": \"plannedText 1-updated\",\r\n \"activeText\": \"activeText 1-updated\",\r\n \"completedText\": \"completedText 1-updated\",\r\n \"blockedText\": \"blockedText 1-updated\"\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}", + "milestones", + "{{milestoneId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update milestone (completed)", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"milestone 2-updated\",\r\n \"description\": \"description-updated\",\r\n \"duration\": 3,\r\n \"completionDate\": \"2018-10-28T00:00:00.000Z\",\r\n \"status\": \"completed\",\r\n \"type\": \"type2\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 4\r\n ]\r\n },\r\n \"order\": 1,\r\n \"plannedText\": \"plannedText 1-updated\",\r\n \"activeText\": \"activeText 1-updated\",\r\n \"completedText\": \"completedText 1-updated\",\r\n \"blockedText\": \"blockedText 1-updated\"\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}", + "milestones", + "{{milestoneId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update milestone (order 1 => 2)", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"milestone 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"duration\": 3,\r\n \"completionDate\": \"2018-05-07T00:00:00.000Z\",\r\n \"status\": \"closed\",\r\n \"type\": \"type2\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 4\r\n ]\r\n },\r\n \"order\": 2,\r\n \"plannedText\": \"plannedText 1-updated\",\r\n \"activeText\": \"activeText 1-updated\",\r\n \"completedText\": \"completedText 1-updated\",\r\n \"blockedText\": \"blockedText 1-updated\"\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}", + "milestones", + "{{milestoneId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update milestone (order 2 => 1)", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"milestone 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"duration\": 3,\r\n \"completionDate\": \"2018-05-07T00:00:00.000Z\",\r\n \"status\": \"closed\",\r\n \"type\": \"type2\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 4\r\n ]\r\n },\r\n \"order\": 1,\r\n \"plannedText\": \"plannedText 1-updated\",\r\n \"activeText\": \"activeText 1-updated\",\r\n \"completedText\": \"completedText 1-updated\",\r\n \"blockedText\": \"blockedText 1-updated\"\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}", + "milestones", + "{{milestoneId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update milestone (order 1 => 3)", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"milestone 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"duration\": 3,\r\n \"completionDate\": \"2018-05-07T00:00:00.000Z\",\r\n \"status\": \"closed\",\r\n \"type\": \"type2\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 4\r\n ]\r\n },\r\n \"order\": 3,\r\n \"plannedText\": \"plannedText 1-updated\",\r\n \"activeText\": \"activeText 1-updated\",\r\n \"completedText\": \"completedText 1-updated\",\r\n \"blockedText\": \"blockedText 1-updated\"\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}", + "milestones", + "{{milestoneId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update milestone (order 3 => 1)", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"milestone 1-updated\",\r\n \"description\": \"description-updated\",\r\n \"duration\": 3,\r\n \"completionDate\": \"2018-05-07T00:00:00.000Z\",\r\n \"status\": \"closed\",\r\n \"type\": \"type2\",\r\n \"details\": {\r\n \"detail1\": {\r\n \"subDetail1C\": 3\r\n },\r\n \"detail2\": [\r\n 4\r\n ]\r\n },\r\n \"order\": 1,\r\n \"plannedText\": \"plannedText 1-updated\",\r\n \"activeText\": \"activeText 1-updated\",\r\n \"completedText\": \"completedText 1-updated\",\r\n \"blockedText\": \"blockedText 1-updated\"\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}", + "milestones", + "{{milestoneId}}" + ] + } + }, + "response": [] + }, + { + "name": "Delete milestone", + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{api-url}}/timelines/{{timelineId}}/milestones/{{milestoneId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "{{timelineId}}", + "milestones", + "{{milestoneId}}" + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "Milestone Template", + "item": [ + { + "name": "Create milestone template", + "event": [ + { + "listen": "test", + "script": { + "id": "3dbf8b29-2498-4b05-93de-14d809ccc285", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"milestoneTemplateId\", pm.response.json().id);", + "});" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"milestoneTemplate 1\",\r\n \"description\": \"description 1\",\r\n \"duration\": 11,\r\n \"type\": \"type3\",\r\n \"order\": 1,\r\n \"activeText\": \"activeText 1\",\r\n \"completedText\": \"completedText 1\",\r\n \"blockedText\": \"blockedText 1\",\r\n \"plannedText\": \"planned Text 1\",\r\n\t\"reference\": \"productTemplate\",\r\n\t\"referenceId\": {{productTemplateId}},\r\n\t\"metadata\": {}\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates" + ] + } + }, + "response": [] + }, + { + "name": "Create milestone template with invalid referenceId", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"milestoneTemplate 3\",\r\n \"description\": \"description 3\",\r\n \"duration\": 33,\r\n \"type\": \"type3\",\r\n \"order\": 1,\r\n \"activeText\": \"activeText 1\",\r\n \"completedText\": \"completedText 1\",\r\n \"blockedText\": \"blockedText 1\",\r\n \"plannedText\": \"planned Text 1\",\r\n\t\"reference\": \"productTemplate\",\r\n\t\"referenceId\": 1000,\r\n\t\"metadata\": {}\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates" + ] + } + }, + "response": [] + }, + { + "name": "Create milestone template with invalid data", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates" + ] + } + }, + "response": [] + }, + { + "name": "Clone milestone template", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"sourceReference\": \"productTemplate\",\r\n \"sourceReferenceId\": 1,\r\n \"reference\": \"productTemplate\",\r\n \"referenceId\": 2\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/clone", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates", + "clone" + ] + } + }, + "response": [] + }, + { + "name": "Clone milestone template with invalid referenceId", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"sourceReference\": \"productTemplate\",\r\n \"sourceReferenceId\": 1,\r\n \"reference\": \"productTemplate\",\r\n \"referenceId\": 2000\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/clone", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates", + "clone" + ] + } + }, + "response": [] + }, + { + "name": "Clone milestone template with invalid sourceReferenceId", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"sourceReference\": \"productTemplate\",\r\n \"sourceReferenceId\": 1000,\r\n \"reference\": \"productTemplate\",\r\n \"referenceId\": 2\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/clone", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates", + "clone" + ] + } + }, + "response": [] + }, + { + "name": "List milestone templates", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-copilot-40051332}}" + } + ], + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates" + ] + } + }, + "response": [] + }, + { + "name": "List milestone templates (filter)", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-copilot-40051332}}" + } + ], + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates?reference=productTemplate&referenceId={{productTemplateId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates" + ], + "query": [ + { + "key": "reference", + "value": "productTemplate" + }, + { + "key": "referenceId", + "value": "{{productTemplateId}}" + } + ] + } + }, + "response": [] + }, + { + "name": "List milestone templates (sort)", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-copilot-40051332}}" + } + ], + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates?reference=productTemplate&referenceId={{productTemplateId}}&sort=order desc", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates" + ], + "query": [ + { + "key": "reference", + "value": "productTemplate" + }, + { + "key": "referenceId", + "value": "{{productTemplateId}}" + }, + { + "key": "sort", + "value": "order desc" + } + ] + } + }, + "response": [] + }, + { + "name": "Get milestone template", + "request": { + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/{{milestoneTemplateId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates", + "{{milestoneTemplateId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update milestone", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"name\": \"milestoneTemplate 1-updated\",\r\n\t\"description\": \"description 1-updated\",\r\n\t\"duration\": 34,\r\n\t\"type\": \"type1-updated\",\r\n\t\"order\": 1,\r\n\t\"reference\": \"productTemplate\",\r\n\t\"referenceId\": 1\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/{{milestoneTemplateId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates", + "{{milestoneTemplateId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update milestone (order 1 => 2)", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"milestoneTemplate 1-updated\",\r\n \"description\": \"description 1-updated\",\r\n \"duration\": 34,\r\n \"type\": \"type1-updated\",\r\n \"order\": 2,\r\n \"reference\": \"productTemplate\",\r\n \"referenceId\": {{productTemplateId}}\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/{{milestoneTemplateId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates", + "{{milestoneTemplateId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update milestone (order 2 => 1)", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"name\": \"milestoneTemplate 1-updated\",\r\n\t\"description\": \"description 1-updated\",\r\n\t\"duration\": 34,\r\n\t\"type\": \"type1-updated\",\r\n\t\"order\": 1,\r\n\t\"reference\": \"productTemplate\",\r\n\t\"referenceId\": 1\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/{{milestoneTemplateId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates", + "{{milestoneTemplateId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update milestone (order 1 => 3)", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"milestoneTemplate 1-updated\",\r\n \"description\": \"description 1-updated\",\r\n \"duration\": 34,\r\n \"type\": \"type1-updated\",\r\n \"order\": 3,\r\n\t\"reference\": \"productTemplate\",\r\n\t\"referenceId\": 1\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/{{milestoneTemplateId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates", + "{{milestoneTemplateId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update milestone (order 3 => 1)", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"name\": \"milestoneTemplate 1-updated\",\r\n \"description\": \"description 1-updated\",\r\n \"duration\": 34,\r\n \"type\": \"type1-updated\",\r\n \"order\": 1,\r\n\t\"reference\": \"productTemplate\",\r\n\t\"referenceId\": 1\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/{{milestoneTemplateId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates", + "{{milestoneTemplateId}}" + ] + } + }, + "response": [] + }, + { + "name": "Update milestone with metadata", + "request": { + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n\t\"name\": \"milestoneTemplate 5-updated\",\r\n\t\"description\": \"description 5-updated\",\r\n\t\"duration\": 34,\r\n\t\"type\": \"type5-updated\",\r\n\t\"order\": 5,\r\n\t\"reference\": \"productTemplate\",\r\n\t\"referenceId\": 1,\r\n\t\"metadata\": {\r\n \"metadata1\": {\r\n \"name\": \"metadata 1 - update\",\r\n \"details\": {\r\n \"anyDetails\": \"any details 1 - update\",\r\n \"newDetails\": \"new\"\r\n },\r\n \"others\": [\"others new\"]\r\n },\r\n \"metadata3\": {\r\n \"name\": \"metadata 3\",\r\n \"details\": {\r\n \"anyDetails\": \"any details 3\"\r\n },\r\n \"others\": [\"others 31\", \"others 32\"]\r\n }\r\n }\r\n}" + }, + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/{{milestoneTemplateId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates", + "{{milestoneTemplateId}}" + ] + } + }, + "response": [] + }, + { + "name": "Delete milestone", + "request": { + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{api-url}}/timelines/metadata/milestoneTemplates/{{milestoneTemplateId}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "timelines", + "metadata", + "milestoneTemplates", + "{{milestoneTemplateId}}" + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "Metadata", + "item": [ + { + "name": "Get all metadata", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [ + { + "key": "", + "value": "", + "type": "text" + } + ], + "url": { + "raw": "{{api-url}}/projects/metadata", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata" + ] + } + }, + "response": [] + }, + { + "name": "Get all metadata with includeAllVersion", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{api-url}}/projects/metadata?includeAllReferred=true", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata" + ], + "query": [ + { + "key": "includeAllReferred", + "value": "true" + } + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "Form Version", + "item": [ + { + "name": "List forms", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{api-url}}/projects/metadata/form/{{formKey}}/versions", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "form", + "{{formKey}}", + "versions" + ] + } + }, + "response": [] + }, + { + "name": "Get a particular version", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{api-url}}/projects/metadata/form/{{formKey}}/versions/{{formVersion}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "form", + "{{formKey}}", + "versions", + "{{formVersion}}" + ] + } + }, + "response": [] + }, + { + "name": "Get latest version", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{api-url}}/projects/metadata/form/{{formKey}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "form", + "{{formKey}}" + ] + } + }, + "response": [] + }, + { + "name": "Create form", + "event": [ + { + "listen": "test", + "script": { + "id": "94f6be66-34cc-40c8-80c2-b27dd93ed527", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"formKey\", pm.response.json().key);", + " pm.environment.set(\"formVersion\", pm.response.json().version);", + "});" + ], + "type": "text/javascript" + } + } + ], + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/form/dev/versions", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "form", + "dev", + "versions" + ] + } + }, + "response": [] + }, + { + "name": "Update form", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test111\"\r\n \t}\r\n }" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/form/{{formKey}}/versions/{{formVersion}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "form", + "{{formKey}}", + "versions", + "{{formVersion}}" + ] + } + }, + "response": [] + }, + { + "name": "Delete form", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/form/{{formKey}}/versions/{{formVersion}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "form", + "{{formKey}}", + "versions", + "{{formVersion}}" + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "Form Revision", + "item": [ + { + "name": "List all revision for version", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{api-url}}/projects/metadata/form/{{formKey}}/versions/{{formVersion}}/revisions", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "form", + "{{formKey}}", + "versions", + "{{formVersion}}", + "revisions" + ] + } + }, + "response": [] + }, + { + "name": "Get a particular revision", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{api-url}}/projects/metadata/form/{{formKey}}/versions/{{formVersion}}/revisions/{{formRevision}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "form", + "{{formKey}}", + "versions", + "{{formVersion}}", + "revisions", + "{{formRevision}}" + ] + } + }, + "response": [] + }, + { + "name": "Create form", + "event": [ + { + "listen": "test", + "script": { + "id": "dbe5ec9f-022c-4ec5-b58c-d19c15430b61", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"formRevision\", pm.response.json().revision);", + "});" + ], + "type": "text/javascript" + } + } + ], + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/form/{{formKey}}/versions/{{formVersion}}/revisions", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "form", + "{{formKey}}", + "versions", + "{{formVersion}}", + "revisions" + ] + } + }, + "response": [] + }, + { + "name": "Create for no exist key", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "value": "application/json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/form/no-exist-2222key36/versions/1/revisions", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "form", + "no-exist-2222key36", + "versions", + "1", + "revisions" + ] + } + }, + "response": [] + }, + { + "name": "Delete revision", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/form/{{formKey}}/versions/{{formVersion}}/revisions/{{formRevision}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "form", + "{{formKey}}", + "versions", + "{{formVersion}}", + "revisions", + "{{formRevision}}" + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "Price Config Version", + "item": [ + { + "name": "List price configs", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{api-url}}/projects/metadata/priceConfig/dev/versions", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "priceConfig", + "dev", + "versions" + ] + } + }, + "response": [] + }, + { + "name": "Get a particular version", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{api-url}}/projects/metadata/priceConfig/{{priceKey}}/versions/{{priceVersion}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "priceConfig", + "{{priceKey}}", + "versions", + "{{priceVersion}}" + ] + } + }, + "response": [] + }, + { + "name": "Get latest version", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{api-url}}/projects/metadata/priceConfig/{{priceKey}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "priceConfig", + "{{priceKey}}" + ] + } + }, + "response": [] + }, + { + "name": "Create priceConfig", + "event": [ + { + "listen": "test", + "script": { + "id": "e440c87c-49ff-4443-b9bf-b44d4e9a480f", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"priceKey\", pm.response.json().key);", + " pm.environment.set(\"priceVersion\", pm.response.json().version);", + "});" + ], + "type": "text/javascript" + } + } + ], + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/priceConfig/dev/versions", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "priceConfig", + "dev", + "versions" + ] + } + }, + "response": [] + }, + { + "name": "Update priceConfig", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test111\"\r\n \t}\r\n }" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/priceConfig/{{priceKey}}/versions/{{priceVersion}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "priceConfig", + "{{priceKey}}", + "versions", + "{{priceVersion}}" + ] + } + }, + "response": [] + }, + { + "name": "Delete priceConfig", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/priceConfig/{{priceKey}}/versions/{{priceVersion}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "priceConfig", + "{{priceKey}}", + "versions", + "{{priceVersion}}" + ] + } + }, + "response": [] + } + ], + "event": [ + { + "listen": "prerequest", + "script": { + "id": "59182724-4332-4d76-90ea-f7520a7b1be9", + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "id": "abc13dca-e8a4-4995-970f-00e5889a5f2d", + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "Price Config Revision", + "item": [ + { + "name": "List all revision for version", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{api-url}}/projects/metadata/priceConfig/dev/versions/3/revisions", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "priceConfig", + "dev", + "versions", + "3", + "revisions" + ] + } + }, + "response": [] + }, + { + "name": "Get a particular revision", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{api-url}}/projects/metadata/priceConfig/{{priceKey}}/versions/{{priceVersion}}/revisions/{{priceRevision}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "priceConfig", + "{{priceKey}}", + "versions", + "{{priceVersion}}", + "revisions", + "{{priceRevision}}" + ] + } + }, + "response": [] + }, + { + "name": "Create price config", + "event": [ + { + "listen": "test", + "script": { + "id": "d53ed608-b21c-4d6f-bb68-c2beda1d631d", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"priceRevision\", pm.response.json().revision);", + "});" + ], + "type": "text/javascript" + } + } + ], + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "value": "application/json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/priceConfig/{{priceKey}}/versions/{{priceVersion}}/revisions", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "priceConfig", + "{{priceKey}}", + "versions", + "{{priceVersion}}", + "revisions" + ] + } + }, + "response": [] + }, + { + "name": "Create for no exist key", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/priceConfig/no-exist-key/versions/1/revisions", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "priceConfig", + "no-exist-key", + "versions", + "1", + "revisions" + ] + } + }, + "response": [] + }, + { + "name": "Delete revision", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/priceConfig/{{priceKey}}/versions/{{priceVersion}}/revisions/{{priceRevision}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "priceConfig", + "{{priceKey}}", + "versions", + "{{priceVersion}}", + "revisions", + "{{priceRevision}}" + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "Plan Config Version", + "item": [ + { + "name": "List plan configs", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{api-url}}/projects/metadata/planConfig/dev/versions", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "planConfig", + "dev", + "versions" + ] + } + }, + "response": [] + }, + { + "name": "Get a particular version", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{api-url}}/projects/metadata/planConfig/{{planKey}}/versions/{{planVersion}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "planConfig", + "{{planKey}}", + "versions", + "{{planVersion}}" + ] + } + }, + "response": [] + }, + { + "name": "Get latest version", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{api-url}}/projects/metadata/planConfig/{{planKey}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "planConfig", + "{{planKey}}" + ] + } + }, + "response": [] + }, + { + "name": "Create plan config", + "event": [ + { + "listen": "test", + "script": { + "id": "97bc350a-0c4f-46a6-a315-a62b203b3ad2", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"planKey\", pm.response.json().key);", + " pm.environment.set(\"planVersion\", pm.response.json().version);", + "});" + ], + "type": "text/javascript" + } + } + ], + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/planConfig/dev/versions", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "planConfig", + "dev", + "versions" + ] + } + }, + "response": [] + }, + { + "name": "Update plan config", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test111\"\r\n \t}\r\n }" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/planConfig/{{planKey}}/versions/{{planVersion}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "planConfig", + "{{planKey}}", + "versions", + "{{planVersion}}" + ] + } + }, + "response": [] + }, + { + "name": "Delete plan config", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/planConfig/{{planKey}}/versions/{{planVersion}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "planConfig", + "{{planKey}}", + "versions", + "{{planVersion}}" + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "Plan Config Revision", + "item": [ + { + "name": "List all revision for version", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{api-url}}/projects/metadata/planConfig/{{planKey}}/versions/{{planVersion}}/revisions", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "planConfig", + "{{planKey}}", + "versions", + "{{planVersion}}", + "revisions" + ] + } + }, + "response": [] + }, + { + "name": "Get a particular revision", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "GET", + "header": [], + "url": { + "raw": "{{api-url}}/projects/metadata/planConfig/{{planKey}}/versions/{{planVersion}}/revisions/{{planRevision}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "planConfig", + "{{planKey}}", + "versions", + "{{planVersion}}", + "revisions", + "{{planRevision}}" + ] + } + }, + "response": [] + }, + { + "name": "Create plan config", + "event": [ + { + "listen": "test", + "script": { + "id": "a5373f1f-4beb-46f9-8538-10c938c204ba", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"planRevision\", pm.response.json().revision);", + "});" + ], + "type": "text/javascript" + } + } + ], + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "value": "application/json", + "type": "text" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/planConfig/{{planKey}}/versions/{{planVersion}}/revisions", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "planConfig", + "{{planKey}}", + "versions", + "{{planVersion}}", + "revisions" + ] + } + }, + "response": [] + }, + { + "name": "Create for no exist key", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "POST", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/planConfig/no-exist-key/versions/1/revisions", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "planConfig", + "no-exist-key", + "versions", + "1", + "revisions" + ] + } + }, + "response": [] + }, + { + "name": "Delete revision", + "request": { + "auth": { + "type": "bearer", + "bearer": [ + { + "key": "token", + "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", + "type": "string" + } + ] + }, + "method": "DELETE", + "header": [ + { + "key": "Content-Type", + "name": "Content-Type", + "type": "text", + "value": "application/json" + } + ], + "body": { + "mode": "raw", + "raw": "" + }, + "url": { + "raw": "{{api-url}}/projects/metadata/planConfig/{{planKey}}/versions/{{planVersion}}/revisions/{{planRevision}}", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "metadata", + "planConfig", + "{{planKey}}", + "versions", + "{{planVersion}}", + "revisions", + "{{planRevision}}" + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "Project Reports", + "item": [ + { + "name": "summary", + "item": [ + { + "name": "get report by admin", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}", + "type": "text" + } + ], + "url": { + "raw": "{{api-url}}/projects/{{projectId}}/reports?reportName=summary", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "{{projectId}}", + "reports" + ], + "query": [ + { + "key": "reportName", + "value": "summary" + } + ] + } + }, + "response": [] + }, + { + "name": "get report by member", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Bearer {{jwt-token-member2-40051335}}", + "type": "text" + } + ], + "url": { + "raw": "{{api-url}}/projects/{{projectId}}/reports?reportName=summary", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "{{projectId}}", + "reports" + ], + "query": [ + { + "key": "reportName", + "value": "summary" + } + ] + } + }, + "response": [] + }, + { + "name": "get report with invalid project id", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "url": { + "raw": "{{api-url}}/projects/123456/reports?reportName=summary", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "123456", + "reports" + ], + "query": [ + { + "key": "reportName", + "value": "summary" + } + ] + } + }, + "response": [] + }, + { + "name": "get report with invalid report name", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "url": { + "raw": "{{api-url}}/projects/{{projectId}}/reports?reportName=summary123", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "{{projectId}}", + "reports" + ], + "query": [ + { + "key": "reportName", + "value": "summary123" + } + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {}, + "_postman_isSubFolder": true + }, + { + "name": "projectBudget", + "item": [ + { + "name": "get report by admin", + "request": { + "method": "GET", + "header": [ + { + "key": "Authorization", + "type": "text", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "url": { + "raw": "{{api-url}}/projects/{{projectId}}/reports?reportName=projectBudget", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "{{projectId}}", + "reports" + ], + "query": [ + { + "key": "reportName", + "value": "projectBudget" + } + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {}, + "_postman_isSubFolder": true + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "Project Setting", + "item": [ + { + "name": "Create project setting - double", + "event": [ + { + "listen": "test", + "script": { + "id": "7350de08-5111-44f8-8a4c-3d0c48bcd8d4", + "exec": [ + "pm.test(\"Status code is 201\", function () {", + " pm.response.to.have.status(201);", + " pm.environment.set(\"settingId\", pm.response.json().id);", + "})" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"key\": \"markup_topcoder_service\",\r\n \"value\": \"1000\",\r\n \"valueType\": \"double\",\r\n \"projectId\": 1,\r\n\t\"writePermission\": {\r\n\t \t\"allowRule\": {\r\n\t \t\"projectRoles\": [\"account_manager\"],\r\n\t \t\"topcoderRoles\": [\"administrator\", \"Connect Admin\"]\r\n\t },\r\n\t \t\"denyRule\": {\r\n\t \t\"topcoderRoles\": [\"Connect Copilot Manager\"]\r\n\t }\r\n\t },\r\n\t\"readPermission\": {\r\n\t \t\"projectRoles\": [\"manager\"],\r\n\t \"topcoderRoles\": [\"administrator\", \"Connect Admin\", \"Connect Account Manager\"]\r\n\t },\r\n\t\"metadata\": {}\r\n}" + }, + "url": { + "raw": "{{api-url}}/projects/{{projectId}}/settings", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "{{projectId}}", + "settings" + ] + } + }, + "response": [] + }, + { + "name": "Create project setting - percentage", + "event": [ + { + "listen": "test", + "script": { + "id": "bf3aa19f-517c-4103-9250-82d7847e7477", + "exec": [ + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"key\": \"markup_fee\",\r\n \"value\": \"18.88\",\r\n \"valueType\": \"percentage\",\r\n\t\"writePermission\": {\r\n\t \t\"allowRule\": {\r\n\t \t\"projectRoles\": [\"account_manager\"]\r\n\t },\r\n\t \t\"denyRule\": {\r\n\t \t\"topcoderRoles\": [\"Connect Copilot Manager\"]\r\n\t }\r\n\t },\r\n\t\"readPermission\": {\r\n\t \"topcoderRoles\": [\"Connect Copilot\"]\r\n\t },\r\n\t\"metadata\": {}\r\n}" + }, + "url": { + "raw": "{{api-url}}/projects/{{projectId}}/settings", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "{{projectId}}", + "settings" + ] + } + }, + "response": [] + }, + { + "name": "Create project setting - for project = 2", + "event": [ + { + "listen": "test", + "script": { + "id": "7350de08-5111-44f8-8a4c-3d0c48bcd8d4", + "exec": [ + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"key\": \"markup_topcoder_service\",\r\n \"value\": \"2222\",\r\n \"valueType\": \"double\",\r\n\t\"writePermission\": {\r\n\t \t\"allowRule\": {\r\n\t \t\"projectRoles\": [\"account_manager\"],\r\n\t \t\"topcoderRoles\": [\"administrator\", \"Connect Admin\"]\r\n\t },\r\n\t \t\"denyRule\": {\r\n\t \t\"topcoderRoles\": [\"Connect Copilot Manager\"]\r\n\t }\r\n\t },\r\n\t\"readPermission\": {\r\n\t \t\"projectRoles\": [\"manager\"],\r\n\t \"topcoderRoles\": [\"administrator\", \"Connect Admin\", \"Connect Account Manager\"]\r\n\t },\r\n\t\"metadata\": {}\r\n}" + }, + "url": { + "raw": "{{api-url}}/projects/2/settings", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "2", + "settings" + ] + } + }, + "response": [] + }, + { + "name": "Create project setting - another estimation type", + "event": [ + { + "listen": "test", + "script": { + "id": "7350de08-5111-44f8-8a4c-3d0c48bcd8d4", + "exec": [ + "" + ], + "type": "text/javascript" + } + } + ], + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"key\": \"markup_reference_program\",\r\n \"value\": \"17800\",\r\n \"valueType\": \"double\",\r\n\t\"writePermission\": {\r\n\t \t\"allowRule\": {\r\n\t \t\"projectRoles\": [\"account_manager\"],\r\n\t \t\"topcoderRoles\": [\"administrator\", \"Connect Admin\"]\r\n\t },\r\n\t \t\"denyRule\": {\r\n\t \t\"topcoderRoles\": [\"Connect Copilot Manager\"]\r\n\t }\r\n\t },\r\n\t\"readPermission\": {\r\n\t \t\"projectRoles\": [\"manager\", \"copilot\"],\r\n\t \"topcoderRoles\": [\"administrator\", \"Connect Admin\", \"Connect Account Manager\"]\r\n\t },\r\n\t\"metadata\": {}\r\n}" + }, + "url": { + "raw": "{{api-url}}/projects/{{projectId}}/settings", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "{{projectId}}", + "settings" + ] + } + }, + "response": [] + }, + { + "name": "Create project setting with non estimation type", + "request": { + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"key\": \"markup_non_estimation\",\r\n \"value\": \"8765\",\r\n \"valueType\": \"string\",\r\n\t\"writePermission\": {\r\n\t \t\"allowRule\": {\r\n\t \t\"projectRoles\": [\"account_manager\"],\r\n\t \t\"topcoderRoles\": [\"administrator\", \"Connect Admin\"]\r\n\t },\r\n\t \t\"denyRule\": {\r\n\t \t\"topcoderRoles\": [\"Connect Copilot Manager\"]\r\n\t }\r\n\t },\r\n\t \"readPermission\": {\r\n\t \t\"projectRoles\": [\"manager\"],\r\n\t \"topcoderRoles\": [\"administrator\", \"Connect Admin\", \"Connect Account Manager\"]\r\n\t },\r\n\t\"metadata\": {}\r\n}" }, - "method": "GET", - "header": [], "url": { - "raw": "{{api-url}}/projects/metadata/priceConfig/{{priceKey}}/versions/{{priceVersion}}/revisions/{{priceRevision}}", + "raw": "{{api-url}}/projects/{{projectId}}/settings", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "priceConfig", - "{{priceKey}}", - "versions", - "{{priceVersion}}", - "revisions", - "{{priceRevision}}" + "{{projectId}}", + "settings" ] } }, "response": [] }, { - "name": "Create price config", + "name": "Create project setting - duplicate key", "event": [ { "listen": "test", "script": { - "id": "d53ed608-b21c-4d6f-bb68-c2beda1d631d", + "id": "7350de08-5111-44f8-8a4c-3d0c48bcd8d4", "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - " pm.environment.set(\"priceRevision\", pm.response.json().revision);", - "});" + "" ], "type": "text/javascript" } } ], "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, "method": "POST", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" + "raw": "{\r\n \"key\": \"markup_topcoder_service\",\r\n \"value\": \"1000\",\r\n \"valueType\": \"double\",\r\n\t\"writePermission\": {\r\n\t \t\"allowRule\": {\r\n\t \t\"projectRoles\": [\"account_manager\"],\r\n\t \t\"topcoderRoles\": [\"administrator\", \"Connect Admin\"]\r\n\t },\r\n\t \t\"denyRule\": {\r\n\t \t\"topcoderRoles\": [\"Connect Copilot Manager\"]\r\n\t }\r\n\t },\r\n\t\"readPermission\": {\r\n\t \t\"projectRoles\": [\"manager\"],\r\n\t \"topcoderRoles\": [\"administrator\", \"Connect Admin\", \"Connect Account Manager\"]\r\n\t },\r\n\t\"metadata\": {}\r\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/priceConfig/{{priceKey}}/versions/{{priceVersion}}/revisions", + "raw": "{{api-url}}/projects/{{projectId}}/settings", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "priceConfig", - "{{priceKey}}", - "versions", - "{{priceVersion}}", - "revisions" + "{{projectId}}", + "settings" ] } }, "response": [] }, { - "name": "Create for no exist key", + "name": "Create project setting with invalid valueType", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, "method": "POST", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" + "raw": "{\r\n \"key\": \"markup_topcoder_service\",\r\n \"value\": \"1000\",\r\n \"valueType\": \"int1\",\r\n\t\"writePermission\": {\r\n\t \t\"allowRule\": {\r\n\t \t\"projectRoles\": [\"account_manager\"],\r\n\t \t\"topcoderRoles\": [\"administrator\", \"Connect Admin\"]\r\n\t },\r\n\t \t\"denyRule\": {\r\n\t \t\"topcoderRoles\": [\"Connect Copilot Manager\"]\r\n\t }\r\n\t },\r\n\t\"readPermission\": {\r\n\t \t\"projectRoles\": [\"manager\"],\r\n\t \"topcoderRoles\": [\"administrator\", \"Connect Admin\", \"Connect Account Manager\"]\r\n\t },\r\n\t\"metadata\": {}\r\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/priceConfig/no-exist-key/versions/1/revisions", + "raw": "{{api-url}}/projects/{{projectId}}/settings", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "priceConfig", - "no-exist-key", - "versions", - "1", - "revisions" + "{{projectId}}", + "settings" ] } }, "response": [] }, { - "name": "Delete revision", + "name": "Create project setting with invalid percentage value", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, - "method": "DELETE", + "method": "POST", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" } ], "body": { "mode": "raw", - "raw": "" + "raw": "{\r\n \"key\": \"markup_community\",\r\n \"value\": \"200\",\r\n \"valueType\": \"percentage\",\r\n\t\"writePermission\": {\r\n\t \t\"allowRule\": {\r\n\t \t\"projectRoles\": [\"account_manager\"],\r\n\t \t\"topcoderRoles\": [\"administrator\", \"Connect Admin\"]\r\n\t },\r\n\t \t\"denyRule\": {\r\n\t \t\"topcoderRoles\": [\"Connect Copilot Manager\"]\r\n\t }\r\n\t },\r\n\t\"readPermission\": {\r\n\t \t\"projectRoles\": [\"manager\"],\r\n\t \"topcoderRoles\": [\"administrator\", \"Connect Admin\", \"Connect Account Manager\"]\r\n\t },\r\n\t\"metadata\": {}\r\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/priceConfig/{{priceKey}}/versions/{{priceVersion}}/revisions/{{priceRevision}}", + "raw": "{{api-url}}/projects/{{projectId}}/settings", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "priceConfig", - "{{priceKey}}", - "versions", - "{{priceVersion}}", - "revisions", - "{{priceRevision}}" + "{{projectId}}", + "settings" ] } }, "response": [] - } - ] - }, - { - "name": "Plan Config Version", - "item": [ + }, { - "name": "List plan configs", + "name": "Create project setting with missing readPermission", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"key\": \"markup_topcoder_service\",\r\n \"value\": \"1000\",\r\n \"valueType\": \"int\",\r\n \"projectId\": 1,\r\n\t\"writePermission\": {\r\n\t \t\"allowRule\": {\r\n\t \t\"projectRoles\": [\"account_manager\"],\r\n\t \t\"topcoderRoles\": [\"administrator\", \"Connect Admin\"]\r\n\t },\r\n\t \t\"denyRule\": {\r\n\t \t\"topcoderRoles\": [\"Connect Copilot Manager\"]\r\n\t }\r\n\t },\r\n\t\"metadata\": {}\r\n}" }, - "method": "GET", - "header": [], "url": { - "raw": "{{api-url}}/projects/metadata/planConfig/dev/versions", + "raw": "{{api-url}}/projects/{{projectId}}/settings", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "planConfig", - "dev", - "versions" + "{{projectId}}", + "settings" ] } }, "response": [] }, { - "name": "Get a particular version", + "name": "Create project setting with empty body", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n}" }, - "method": "GET", - "header": [], "url": { - "raw": "{{api-url}}/projects/metadata/planConfig/{{planKey}}/versions/{{planVersion}}", + "raw": "{{api-url}}/projects/{{projectId}}/settings", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "planConfig", - "{{planKey}}", - "versions", - "{{planVersion}}" + "{{projectId}}", + "settings" ] } }, "response": [] }, { - "name": "Get latest version", + "name": "Create project setting - not permitted", + "event": [ + { + "listen": "test", + "script": { + "id": "7350de08-5111-44f8-8a4c-3d0c48bcd8d4", + "exec": [ + "" + ], + "type": "text/javascript" + } + } + ], "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-member-40051331}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"key\": \"markup_topcoder_service\",\r\n \"value\": \"1000\",\r\n \"valueType\": \"double\",\r\n\t\"writePermission\": {\r\n\t \t\"allowRule\": {\r\n\t \t\"projectRoles\": [\"account_manager\"],\r\n\t \t\"topcoderRoles\": [\"administrator\", \"Connect Admin\"]\r\n\t },\r\n\t \t\"denyRule\": {\r\n\t \t\"topcoderRoles\": [\"Connect Copilot Manager\"]\r\n\t }\r\n\t },\r\n\t\"readPermission\": {\r\n\t \t\"projectRoles\": [\"manager\"],\r\n\t \"topcoderRoles\": [\"administrator\", \"Connect Admin\", \"Connect Account Manager\"]\r\n\t },\r\n\t\"metadata\": {}\r\n}" }, - "method": "GET", - "header": [], "url": { - "raw": "{{api-url}}/projects/metadata/planConfig/{{planKey}}", + "raw": "{{api-url}}/projects/{{projectId}}/settings", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "planConfig", - "{{planKey}}" + "{{projectId}}", + "settings" ] } }, "response": [] }, { - "name": "Create plan config", - "event": [ - { - "listen": "test", - "script": { - "id": "97bc350a-0c4f-46a6-a315-a62b203b3ad2", - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - " pm.environment.set(\"planKey\", pm.response.json().key);", - " pm.environment.set(\"planVersion\", pm.response.json().version);", - "});" - ], - "type": "text/javascript" - } - } - ], + "name": "List project setting", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } + "method": "GET", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" + } + ], + "url": { + "raw": "{{api-url}}/projects/{{projectId}}/settings", + "host": [ + "{{api-url}}" + ], + "path": [ + "projects", + "{{projectId}}", + "settings" ] - }, - "method": "POST", + } + }, + "response": [] + }, + { + "name": "List project setting - 403", + "request": { + "method": "GET", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-copilot-40051332}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" - }, "url": { - "raw": "{{api-url}}/projects/metadata/planConfig/dev/versions", + "raw": "{{api-url}}/projects/{{projectId}}/settings", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "planConfig", - "dev", - "versions" + "{{projectId}}", + "settings" ] } }, "response": [] }, { - "name": "Update plan config", + "name": "List project setting - manager", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, - "method": "PATCH", + "method": "GET", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-manager-40051334}}" } ], - "body": { - "mode": "raw", - "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test111\"\r\n \t}\r\n }" - }, "url": { - "raw": "{{api-url}}/projects/metadata/planConfig/{{planKey}}/versions/{{planVersion}}", + "raw": "{{api-url}}/projects/{{projectId}}/settings", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "planConfig", - "{{planKey}}", - "versions", - "{{planVersion}}" + "{{projectId}}", + "settings" ] } }, "response": [] }, { - "name": "Delete plan config", + "name": "Update project setting - (failed) change key", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, - "method": "DELETE", + "method": "PATCH", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" } ], "body": { "mode": "raw", - "raw": "" + "raw": "{\r\n \"key\": \"markup_community\",\r\n\t\"readPermission\": {\r\n\t \t\"projectRoles\": [\"manager\"],\r\n\t \"topcoderRoles\": [\"Connect Manager\"]\r\n\t }\r\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/planConfig/{{planKey}}/versions/{{planVersion}}", + "raw": "{{api-url}}/projects/{{projectId}}/settings/{{settingId}}", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "planConfig", - "{{planKey}}", - "versions", - "{{planVersion}}" + "{{projectId}}", + "settings", + "{{settingId}}" ] } }, "response": [] - } - ] - }, - { - "name": "Plan Config Revision", - "item": [ + }, { - "name": "List all revision for version", + "name": "Update project setting - change double to percentage", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"value\": \"35.60\",\r\n \"valueType\": \"percentage\"\r\n}" }, - "method": "GET", - "header": [], "url": { - "raw": "{{api-url}}/projects/metadata/planConfig/{{planKey}}/versions/{{planVersion}}/revisions", + "raw": "{{api-url}}/projects/{{projectId}}/settings/{{settingId}}", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "planConfig", - "{{planKey}}", - "versions", - "{{planVersion}}", - "revisions" + "{{projectId}}", + "settings", + "{{settingId}}" ] } }, "response": [] }, { - "name": "Get a particular revision", + "name": "Update project setting - non-existent project", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] + "method": "PATCH", + "header": [ + { + "key": "Content-Type", + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" + } + ], + "body": { + "mode": "raw", + "raw": "{\r\n \"value\": \"30\",\r\n \"valueType\": \"percentage\"\r\n}" }, - "method": "GET", - "header": [], "url": { - "raw": "{{api-url}}/projects/metadata/planConfig/{{planKey}}/versions/{{planVersion}}/revisions/{{planRevision}}", + "raw": "{{api-url}}/projects/9999/settings/{{settingId}}", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "planConfig", - "{{planKey}}", - "versions", - "{{planVersion}}", - "revisions", - "{{planRevision}}" + "9999", + "settings", + "{{settingId}}" ] } }, "response": [] }, { - "name": "Create plan config", - "event": [ - { - "listen": "test", - "script": { - "id": "a5373f1f-4beb-46f9-8538-10c938c204ba", - "exec": [ - "pm.test(\"Status code is 201\", function () {", - " pm.response.to.have.status(201);", - " pm.environment.set(\"planRevision\", pm.response.json().revision);", - "});" - ], - "type": "text/javascript" - } - } - ], + "name": "Update project setting - non-existent project setting", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, - "method": "POST", + "method": "PATCH", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" + "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" + "raw": "{\r\n \"value\": \"30\",\r\n \"valueType\": \"percentage\"\r\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/planConfig/{{planKey}}/versions/{{planVersion}}/revisions", + "raw": "{{api-url}}/projects/{{projectId}}/settings/9999", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "planConfig", - "{{planKey}}", - "versions", - "{{planVersion}}", - "revisions" + "{{projectId}}", + "settings", + "9999" ] } }, "response": [] }, { - "name": "Create for no exist key", + "name": "Update project setting - change readPermission", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, - "method": "POST", + "method": "PATCH", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token-admin-40051333}}" } ], "body": { "mode": "raw", - "raw": "{\r\n \t\"config\": {\r\n \t\t\"hello\": \"test\"\r\n \t}\r\n }" + "raw": "{\r\n\t\"readPermission\": {\r\n\t\t\"projectRoles\": [\"manager\"],\r\n\t\t\"topcoderRoles\": [\"Connect Manager\"]\r\n\t}\r\n}" }, "url": { - "raw": "{{api-url}}/projects/metadata/planConfig/no-exist-key/versions/1/revisions", + "raw": "{{api-url}}/projects/{{projectId}}/settings/{{settingId}}", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "planConfig", - "no-exist-key", - "versions", - "1", - "revisions" + "{{projectId}}", + "settings", + "{{settingId}}" ] } }, "response": [] }, { - "name": "Delete revision", + "name": "Delete project setting", "request": { - "auth": { - "type": "bearer", - "bearer": [ - { - "key": "token", - "value": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJyb2xlcyI6WyJUb3Bjb2RlciBVc2VyIiwiYWRtaW5pc3RyYXRvciJdLCJpc3MiOiJodHRwczovL2FwaS50b3Bjb2Rlci1kZXYuY29tIiwiaGFuZGxlIjoidGVzdDEiLCJleHAiOjI1NjMwNzY2ODksInVzZXJJZCI6IjQwMDUxMzMzIiwiaWF0IjoxNDYzMDc2MDg5LCJlbWFpbCI6InRlc3RAdG9wY29kZXIuY29tIiwianRpIjoiYjMzYjc3Y2QtYjUyZS00MGZlLTgzN2UtYmViOGUwYWU2YTRhIn0.wKWUe0-SaiFVN-VR_-GwgFlvWaDkSbc8H55ktb9LAVw", - "type": "string" - } - ] - }, "method": "DELETE", "header": [ { "key": "Content-Type", - "name": "Content-Type", - "type": "text", "value": "application/json" + }, + { + "key": "Authorization", + "value": "Bearer {{jwt-token}}" } ], "body": { @@ -7198,25 +10421,23 @@ "raw": "" }, "url": { - "raw": "{{api-url}}/projects/metadata/planConfig/{{planKey}}/versions/{{planVersion}}/revisions/{{planRevision}}", + "raw": "{{api-url}}/projects/{{projectId}}/settings/{{settingId}}", "host": [ "{{api-url}}" ], "path": [ "projects", - "metadata", - "planConfig", - "{{planKey}}", - "versions", - "{{planVersion}}", - "revisions", - "{{planRevision}}" + "{{projectId}}", + "settings", + "{{settingId}}" ] } }, "response": [] } - ] + ], + "protocolProfileBehavior": {} } - ] -} + ], + "protocolProfileBehavior": {} +} \ No newline at end of file