1.2.1 • Published 3 months ago

solar-configurator-microsite-storefront-service v1.2.1

Weekly downloads
-
License
-
Repository
-
Last release
3 months ago

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

Product

Useful commands

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

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

getPricing - Architecture

AWS Resources

Amplify

How to add AWS credentials to run commands with Amplify CLI:

  1. Go to your sunrun SSO (Okta).
  2. Click on AWS SSO title.
  3. Click on commerce-workflow-dev
  4. Click on command line or programatic access
  5. Click on the snippet from option one to copy it to your clipboard
  6. 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

  1. Choose typescript
  2. Filepath should be src/services/products/graphql/**/*.ts
  3. API filepath (typescript types) should be src/API.ts
  4. 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

Products Service API

getAvailability Lambda getCognitoAuthTokenLambda

getProductAvailability Logs getCognitoAuthToken Logs

Majstg

TBD

Production

TBD