Skip to content

Commit 3c3a6ce

Browse files
committed
return resource booking id and user id for the taas-teams endpoints
1 parent 8821b54 commit 3c3a6ce

File tree

2 files changed

+46
-17
lines changed

2 files changed

+46
-17
lines changed

docs/swagger.yaml

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2038,7 +2038,7 @@ components:
20382038
type: array
20392039
description: "The rosources that are assigned"
20402040
items:
2041-
$ref: '#/components/schemas/User'
2041+
$ref: '#/components/schemas/ResourceUserInfo'
20422042
User:
20432043
properties:
20442044
id:
@@ -2062,6 +2062,33 @@ components:
20622062
type: string
20632063
example: 'J'
20642064
description: 'The last name of user'
2065+
ResourceUserInfo:
2066+
properties:
2067+
id:
2068+
type: string
2069+
format: uuid
2070+
description: "The resource booking id."
2071+
userId:
2072+
type: string
2073+
format: uuid
2074+
description: "The user id."
2075+
handle:
2076+
type: string
2077+
example: "Tony"
2078+
description: "The project id."
2079+
photo_url:
2080+
type: string
2081+
format: url
2082+
example: "https://topcoder-dev-media.s3.amazonaws.com/member/profile/TonyJ-1604301092491.jpeg"
2083+
description: "The user avatar."
2084+
firstName:
2085+
type: string
2086+
example: 'Tony'
2087+
description: 'The first name of user'
2088+
lastName:
2089+
type: string
2090+
example: 'J'
2091+
description: 'The last name of user'
20652092
TeamDetail:
20662093
properties:
20672094
id:
@@ -2092,7 +2119,7 @@ components:
20922119
description: "The rosources that are assigned"
20932120
items:
20942121
allOf:
2095-
- $ref: '#/components/schemas/User'
2122+
- $ref: '#/components/schemas/ResourceUserInfo'
20962123
type: object
20972124
properties:
20982125
customerRate:

src/services/TeamService.js

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -139,27 +139,29 @@ async function getTeamDetail (currentUser, projects, isSearch = true) {
139139
}
140140
}
141141

142-
const usersPromises = []
143-
_.map(rbs, (rb) => {
144-
usersPromises.push(
145-
helper.getUserById(rb.userId, true)
142+
const resourceInfos = await Promise.all(
143+
_.map(rbs, (rb) => {
144+
return helper.getUserById(rb.userId, true)
146145
.then(user => {
146+
const resource = {
147+
id: rb.id,
148+
userId: user.id,
149+
..._.pick(user, ['handle', 'firstName', 'lastName'])
150+
}
147151
// If call function is not search, add jobId field
148152
if (!isSearch) {
149-
user.jobId = rb.jobId
150-
user.customerRate = rb.customerRate
151-
user.startDate = rb.startDate
152-
user.endDate = rb.endDate
153+
resource.jobId = rb.jobId
154+
resource.customerRate = rb.customerRate
155+
resource.startDate = rb.startDate
156+
resource.endDate = rb.endDate
153157
}
154-
return user
158+
return resource
155159
})
156-
)
157-
})
158-
const userInfos = await Promise.all(usersPromises)
159-
if (userInfos && userInfos.length > 0) {
160-
res.resources = userInfos
160+
}))
161+
if (resourceInfos && resourceInfos.length > 0) {
162+
res.resources = resourceInfos
161163

162-
const userHandles = _.map(userInfos, 'handle')
164+
const userHandles = _.map(resourceInfos, 'handle')
163165
// Get user photo from /v5/members
164166
const members = await helper.getMembers(userHandles)
165167

0 commit comments

Comments
 (0)