This service handles any api calls to the Product Service API
This app was created with a cdk init --language=typescript
and modified from there.
Sunrun Data Integrations Team Postman has our postman collection for this API in: PXE-Team-Requests -> Solar Configuratior Microsite -> Product Service -> Your desired environment Postman
These commands from the CDK init boilerplate
-
npm run build
compile typescript to js -
npm run watch
watch for changes and compile -
npm run test
perform the jest unit tests -
cdk deploy
deploy this stack to your default AWS account/region -
cdk diff
compare deployed stack with current state -
cdk synth
emits the synthesized CloudFormation template
This package runs within the Lerna-controlled monorepo, and is deployed by using GitHub Actions from the root directory of the repository (../.github/workflows
).
How to add AWS credentials to run commands with Amplify CLI:
- Go to your sunrun SSO (Okta).
- Click on AWS SSO title.
- Click on commerce-workflow-dev
- Click on command line or programatic access
- Click on the snippet from option one to copy it to your clipboard
- Paste in your terminal
Note: This must be done with every new login session with AWS to update the session_token
How to Codegen Graphql queries, mutations and types:
In the product-service directory run the following command to set up the connection locally to storefront
npm run amplify:addApi
and follow the prompts. First it will ask you to install amplify CLI which you will need in order to work with the storefront API. After this do the the following
- Choose typescript
- Filepath should be
src/services/products/graphql/**/*.ts
- API filepath (typescript types) should be src/API.ts
- Just press enter for statement depth
If you ever need to revisit this flow you cannot run this command again as you wil get back a message stating
that an api already exists for this project. Instead run npm run amplify:configure
Finally you can run npm run amplify:codegen
to generate any type, queries, mutations, and subscriptions
getAvailability Lambda getCognitoAuthTokenLambda
getProductAvailability Logs getCognitoAuthToken Logs
TBD
TBD