Skip to content

Commit 6276265

Browse files
committed
Merge branch 'dev' of github.com:topcoder-platform/tc-project-service into dev
2 parents c219547 + 011398a commit 6276265

File tree

7 files changed

+273
-136
lines changed

7 files changed

+273
-136
lines changed

config/custom-environment-variables.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@
5858
"TOKEN": "TOKEN",
5959
"USE_MOCK": "LOOKER_API_ENABLE_MOCK",
6060
"QUERIES": {
61-
"REG_STATS": "LOOKER_API_REG_STATS_QUERY_ID"
61+
"REG_STATS": "LOOKER_API_REG_STATS_QUERY_ID",
62+
"BUDGET": "LOOKER_API_BUDGET_QUERY_ID"
6263
}
6364
}
6465
}

config/default.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,10 @@
6666
"CLIENT_ID": "",
6767
"CLIENT_SECRET": "",
6868
"TOKEN": "TOKEN",
69-
"USE_MOCK": false,
69+
"USE_MOCK": "true",
7070
"QUERIES": {
71-
"REG_STATS": 1234
71+
"REG_STATS": 1234,
72+
"BUDGET": 123
7273
}
7374
}
7475
}

postman.json

Lines changed: 163 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"info": {
3-
"_postman_id": "2afc9fa0-06bb-4276-86c2-eb5cbb861d98",
3+
"_postman_id": "f1e394b5-5489-4662-9683-359fa4b8ad3e",
44
"name": "tc-project-service",
55
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
66
},
@@ -8359,132 +8359,176 @@
83598359
"name": "Project Reports",
83608360
"item": [
83618361
{
8362-
"name": "get report by admin",
8363-
"request": {
8364-
"method": "GET",
8365-
"header": [
8366-
{
8367-
"key": "Authorization",
8368-
"value": "Bearer {{jwt-token-admin-40051333}}",
8369-
"type": "text"
8370-
}
8371-
],
8372-
"url": {
8373-
"raw": "{{api-url}}/v4/projects/1/reports?reportName=summary",
8374-
"host": [
8375-
"{{api-url}}"
8376-
],
8377-
"path": [
8378-
"v4",
8379-
"projects",
8380-
"1",
8381-
"reports"
8382-
],
8383-
"query": [
8384-
{
8385-
"key": "reportName",
8386-
"value": "summary"
8362+
"name": "summary",
8363+
"item": [
8364+
{
8365+
"name": "get report by admin",
8366+
"request": {
8367+
"method": "GET",
8368+
"header": [
8369+
{
8370+
"key": "Authorization",
8371+
"value": "Bearer {{jwt-token-admin-40051333}}",
8372+
"type": "text"
8373+
}
8374+
],
8375+
"url": {
8376+
"raw": "{{api-url}}/v4/projects/1/reports?reportName=summary",
8377+
"host": [
8378+
"{{api-url}}"
8379+
],
8380+
"path": [
8381+
"v4",
8382+
"projects",
8383+
"1",
8384+
"reports"
8385+
],
8386+
"query": [
8387+
{
8388+
"key": "reportName",
8389+
"value": "summary"
8390+
}
8391+
]
83878392
}
8388-
]
8389-
}
8390-
},
8391-
"response": []
8392-
},
8393-
{
8394-
"name": "get report with invalid project id",
8395-
"request": {
8396-
"method": "GET",
8397-
"header": [
8398-
{
8399-
"key": "Authorization",
8400-
"type": "text",
8401-
"value": "Bearer {{jwt-token-admin-40051333}}"
8402-
}
8403-
],
8404-
"url": {
8405-
"raw": "{{api-url}}/v4/projects/123456/reports?reportName=summary",
8406-
"host": [
8407-
"{{api-url}}"
8408-
],
8409-
"path": [
8410-
"v4",
8411-
"projects",
8412-
"123456",
8413-
"reports"
8414-
],
8415-
"query": [
8416-
{
8417-
"key": "reportName",
8418-
"value": "summary"
8393+
},
8394+
"response": []
8395+
},
8396+
{
8397+
"name": "get report by member",
8398+
"request": {
8399+
"method": "GET",
8400+
"header": [
8401+
{
8402+
"key": "Authorization",
8403+
"value": "Bearer {{jwt-token-member2-40051335}}",
8404+
"type": "text"
8405+
}
8406+
],
8407+
"url": {
8408+
"raw": "{{api-url}}/v4/projects/1/reports?reportName=summary",
8409+
"host": [
8410+
"{{api-url}}"
8411+
],
8412+
"path": [
8413+
"v4",
8414+
"projects",
8415+
"1",
8416+
"reports"
8417+
],
8418+
"query": [
8419+
{
8420+
"key": "reportName",
8421+
"value": "summary"
8422+
}
8423+
]
84198424
}
8420-
]
8421-
}
8422-
},
8423-
"response": []
8424-
},
8425-
{
8426-
"name": "get report with invalid report name",
8427-
"request": {
8428-
"method": "GET",
8429-
"header": [
8430-
{
8431-
"key": "Authorization",
8432-
"type": "text",
8433-
"value": "Bearer {{jwt-token-admin-40051333}}"
8434-
}
8435-
],
8436-
"url": {
8437-
"raw": "{{api-url}}/v4/projects/1/reports?reportName=summary123",
8438-
"host": [
8439-
"{{api-url}}"
8440-
],
8441-
"path": [
8442-
"v4",
8443-
"projects",
8444-
"1",
8445-
"reports"
8446-
],
8447-
"query": [
8448-
{
8449-
"key": "reportName",
8450-
"value": "summary123"
8425+
},
8426+
"response": []
8427+
},
8428+
{
8429+
"name": "get report with invalid project id",
8430+
"request": {
8431+
"method": "GET",
8432+
"header": [
8433+
{
8434+
"key": "Authorization",
8435+
"type": "text",
8436+
"value": "Bearer {{jwt-token-admin-40051333}}"
8437+
}
8438+
],
8439+
"url": {
8440+
"raw": "{{api-url}}/v4/projects/123456/reports?reportName=summary",
8441+
"host": [
8442+
"{{api-url}}"
8443+
],
8444+
"path": [
8445+
"v4",
8446+
"projects",
8447+
"123456",
8448+
"reports"
8449+
],
8450+
"query": [
8451+
{
8452+
"key": "reportName",
8453+
"value": "summary"
8454+
}
8455+
]
84518456
}
8452-
]
8457+
},
8458+
"response": []
8459+
},
8460+
{
8461+
"name": "get report with invalid report name",
8462+
"request": {
8463+
"method": "GET",
8464+
"header": [
8465+
{
8466+
"key": "Authorization",
8467+
"type": "text",
8468+
"value": "Bearer {{jwt-token-admin-40051333}}"
8469+
}
8470+
],
8471+
"url": {
8472+
"raw": "{{api-url}}/v4/projects/1/reports?reportName=summary123",
8473+
"host": [
8474+
"{{api-url}}"
8475+
],
8476+
"path": [
8477+
"v4",
8478+
"projects",
8479+
"1",
8480+
"reports"
8481+
],
8482+
"query": [
8483+
{
8484+
"key": "reportName",
8485+
"value": "summary123"
8486+
}
8487+
]
8488+
}
8489+
},
8490+
"response": []
84538491
}
8454-
},
8455-
"response": []
8492+
],
8493+
"_postman_isSubFolder": true
84568494
},
84578495
{
8458-
"name": "get report by member",
8459-
"request": {
8460-
"method": "GET",
8461-
"header": [
8462-
{
8463-
"key": "Authorization",
8464-
"value": "Bearer {{jwt-token-member2-40051335}}",
8465-
"type": "text"
8466-
}
8467-
],
8468-
"url": {
8469-
"raw": "{{api-url}}/v4/projects/1/reports?reportName=summary",
8470-
"host": [
8471-
"{{api-url}}"
8472-
],
8473-
"path": [
8474-
"v4",
8475-
"projects",
8476-
"1",
8477-
"reports"
8478-
],
8479-
"query": [
8480-
{
8481-
"key": "reportName",
8482-
"value": "summary"
8496+
"name": "projectBudget",
8497+
"item": [
8498+
{
8499+
"name": "get report by admin",
8500+
"request": {
8501+
"method": "GET",
8502+
"header": [
8503+
{
8504+
"key": "Authorization",
8505+
"type": "text",
8506+
"value": "Bearer {{jwt-token-admin-40051333}}"
8507+
}
8508+
],
8509+
"url": {
8510+
"raw": "{{api-url}}/v4/projects/1/reports?reportName=projectBudget",
8511+
"host": [
8512+
"{{api-url}}"
8513+
],
8514+
"path": [
8515+
"v4",
8516+
"projects",
8517+
"1",
8518+
"reports"
8519+
],
8520+
"query": [
8521+
{
8522+
"key": "reportName",
8523+
"value": "projectBudget"
8524+
}
8525+
]
84838526
}
8484-
]
8527+
},
8528+
"response": []
84858529
}
8486-
},
8487-
"response": []
8530+
],
8531+
"_postman_isSubFolder": true
84888532
}
84898533
]
84908534
}

src/routes/projectReports/LookRun.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,20 @@ LookApi.prototype.findProjectRegSubmissions = function (directProjectId) {
3838
return this.runQueryWithFilter(queryId, view, fields, filters);
3939
};
4040

41+
LookApi.prototype.findProjectBudget = function (connectProjectId, isManager) {
42+
const queryId = config.lookerConfig.QUERIES.BUDGET;
43+
44+
const fields = ['project_stream.total_invoiced_amount', 'project_stream.remaining_invoiced_budget'];
45+
46+
// Manager roles have access to more fields.
47+
if (isManager) {
48+
fields.push('project_stream.total_actual_challenge_fee', 'project_stream.total_actual_member_payment');
49+
}
50+
const view = 'project_stream';
51+
const filters = { 'project_stream.tc_connect_project_id': connectProjectId };
52+
return this.runQueryWithFilter(queryId, view, fields, filters);
53+
};
54+
4155
LookApi.prototype.runQueryWithFilter = function (queryId, view, fields, filters) {
4256
const endpoint = `${this.BASE_URL}/queries/run/${this.formatting}`;
4357

0 commit comments

Comments
 (0)