solar-configurator-microsite-storefront-service v1.2.1
Product Service (BFF - Backend for Frontend)
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.
Postman
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
Related Services
Useful commands
These commands from the CDK init boilerplate
npm run buildcompile typescript to jsnpm run watchwatch for changes and compilenpm run testperform the jest unit testscdk deploydeploy this stack to your default AWS account/regioncdk diffcompare deployed stack with current statecdk synthemits the synthesized CloudFormation template
Deploying
This package runs within the Lerna-controlled monorepo, and is deployed by using GitHub Actions from the root directory of the repository (../.github/workflows).
Service Endpoint details
AWS Resources
Amplify
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
Devmaj
getAvailability Lambda getCognitoAuthTokenLambda
getProductAvailability Logs getCognitoAuthToken Logs
Majstg
TBD
Production
TBD