Skip to content

[DEV] Milestone Management #657

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 27 commits into from
Aug 11, 2021
Merged

Conversation

elkhawajah
Copy link
Contributor

@elkhawajah elkhawajah commented Jul 25, 2021

This is part of Milestone management project/sprint for Topcoder conenct, an initiative to improve the UX in TC Connect for project progress/plan communication with the customers.

This push contains :

  • Add new cross ref table between Topcoder Users and TC Connect Project Phase.
  • Updated Phases api endpionts to include members field which represents the copilot user ids, so when pulling a phase or project phases we get members array
  • Added new endpoint to update Phase copilots by passing userIds field to store the association
  • Updated Get Phases endpiont to have memberOnly param to get only phases the authorized member is part of
  • Updated maxPhaseProductCount to 100, so we allow creating multiple products (challenges) per product (Milestone)
  • Storing challenge id in the Phase.Product.Details json array (the string used in details is configured in tc connect and work manager app)
  • Customer approval with In Review/Reviewed status (don't allow approval if phase is not In Review)
  • Updated deleting product phase to sync it in ES

DB Script to execute :
migrations/20210718_project_phase_member_table.sql
migrations/20210802_project_phase_approval_table.sql

@RishiRajSahu RishiRajSahu requested a review from maxceem July 27, 2021 08:33
@RishiRajSahu
Copy link
Contributor

@elkhawajah before merging we have to get this updated as per the review from @maxceem

it looks like this new code would return phase members together with PII information like first name, last name and email to any user
while previously we restricted such info only to admins
there is already a reusable method util.getObjectsWithMemberDetails which can populate member details based on who made the req here are the examples:
https://github.com/topcoder-platform/tc-project-service/blob/feature/new-milestone-concept/src/routes/projectMembers/get.js#L89
https://github.com/topcoder-platform/tc-project-service/blob/feature/new-milestone-concept/src/routes/projectMembers/list.js#L105

eisbilir and others added 21 commits July 28, 2021 00:34
Updated member details in Phase Copilot details to include only photoURL, id, and handle.
Updated maxPhaseProductCount to 100 and fix tests accordingly.
Include members in the phase update.
allow update phase members with create-update phase
@RishiRajSahu RishiRajSahu merged commit 0133d70 into develop Aug 11, 2021
RishiRajSahu added a commit that referenced this pull request Aug 16, 2021
* phase members

* Adding support to store linking between copilots and phases (aka milestones in the new concept)

Added cross ref table and CRUD api endpoints

* fix: phase member test spec

* update: phase member details

* updated script to include sequence creation and removed 'public' schema

* update: phase update will return members

* update: use 100 for maxPhaseProductCount

* allow update phase members with create-update phase

* use transaction

* fix: phase member tests

* adding phase approval api

* make phase validation dates optional

* update phase status

* update postman tests

* fix: product delete sync with ES

* fix: phase approval migration script

Co-authored-by: eisbilir <emre.isbilir@gmail.com>
Co-authored-by: Ahmad Alkhawaja <ahmad@tasqat.com>

Co-authored-by: eisbilir <emre.isbilir@gmail.com>
Co-authored-by: Ahmad Alkhawaja <ahmad@tasqat.com>
Co-authored-by: Rishiraj Sahu <rishiraj.sahu@topcoder.com>
RishiRajSahu added a commit that referenced this pull request Sep 29, 2021
* [DEV] Milestone Management (#657)

* phase members

* Adding support to store linking between copilots and phases (aka milestones in the new concept)

Added cross ref table and CRUD api endpoints

* trigger CI Build

* fix: phase member test spec

* update: phase member details

* updated script to include sequence creation and removed 'public' schema

* update: phase update will return members

* update: use 100 for maxPhaseProductCount

* allow update phase members with create-update phase

* use transaction

* fix: phase member tests

* adding phase approval api

* make phase validation dates optional

* update phase status

* update postman tests

* fix: product delete sync with ES

* fix: phase approval migration script

Co-authored-by: eisbilir <emre.isbilir@gmail.com>
Co-authored-by: Ahmad Alkhawaja <ahmad@tasqat.com>

* fix: update phase members

* add bulk delete api for project phase

Co-authored-by: eisbilir <emre.isbilir@gmail.com>
Co-authored-by: Ahmad Alkhawaja <ahmad@tasqat.com>
Co-authored-by: Rishiraj Sahu <rishiraj.sahu@topcoder.com>
@eisbilir eisbilir deleted the feature/new-milestone-concept branch November 9, 2023 20:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants