Skip to content

Prod deploy of showcase and salesforce alignment - #46

Merged
jmgasper merged 4 commits into
masterfrom
dev
Sep 18, 2026
Merged

jmgasper merged 4 commits into
masterfrom
dev

Conversation

@jmgasper

Copy link
Copy Markdown
Contributor

jmgasper and others added 4 commits September 16, 2026 06:03
PM-6329 Add showcase metadata and project synchronization
…ions

Adds a read-only Salesforce opportunity endpoint that the Work app uses to
populate project details and the Sales app uses for its opportunity popup:

- GET /v6/projects/salesforce/opportunities/:opportunityId returns the
  opportunity name, description, Subcontracting End Customer, Reporting SMU,
  Close Date, stage and a link to the record.
- SalesforceClient runs SOQL over the OAuth client-credentials flow, mirroring
  the Reports API client: trusted-origin allow-list, bounded retries, in-memory
  token reuse and a single renewal on 401. Record ids are validated against a
  strict pattern before they reach the query.
- Access requires a manager-tier role (Work) or a talent-manager role (Sales).

Renames the SMU options to the Salesforce Reporting SMU codes (APME, EURP,
AMR1, AMR2) so an imported opportunity maps onto a project without translation.
Projects saved with the previous labels are upgraded in place on the next write,
and an unrecognized Reporting SMU is surfaced as Others plus the raw value.
Project.details.salesforceOpportunityId is validated alongside the other shared
metadata.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
PM-6363: Salesforce opportunity lookup and Salesforce-aligned SMU options
@jmgasper
jmgasper merged commit 61d9c9d into master Sep 18, 2026
7 checks passed
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.

1 participant