Skip to content

[Engine] Expo API proxy #2654

Ben requested to merge feat/expo-config-2654 into master

Ticket(s) / Related Merge Requests

Summary of Changes

Proxy endpoints for Expo API to allow tenants to create a new project, and upload / update / delete their credentials for Android and iOS.

Testing Considerations

There are no front-end changes for this. You will need to test by hitting the API manually. - do see Regression Scope section though.

To test we will probably need to screenshare as you will need to view my Expo account.

Use postman collection at:

API (2022) > v3 > expo

Replace the host with https://c81e728d9d4c2f636f067f89cc14862c.bens-networks.oke.minds.io

  • Create project (works only once - you will have to delete the project manually from Expo and remove the project ID from our database to do it again).
  • POST FULL Android credentials (delete when you're done to test minimum)
  • POST MINIMUM Android credentials
  • PUT to update Android credentials
  • DELETE Android credentials
  • POST FULL iOS credentials (delete when you're done to test minimum)
  • POST MINIMUM iOS credentials
  • PUT to update iOS credentials
  • DELETE iOS credentials

Deployment Considerations

Config:

Add secrets to vault as outlined in DMs.

Schema:

Make sure to update the DB schema with the contents of the mysql provisioner file.

ALTER TABLE `minds_tenant_configs`
    ADD expo_project_id varchar(64) DEFAULT NULL
    AFTER community_guidelines;

ALTER TABLE `minds_tenant_configs`
    ADD expo_android_app_credentials_id varchar(64) DEFAULT NULL
    AFTER expo_project_id;

ALTER TABLE `minds_tenant_configs`
    ADD expo_android_app_build_credentials_id varchar(64) DEFAULT NULL
    AFTER expo_android_app_credentials_id;

ALTER TABLE `minds_tenant_configs`
    ADD expo_ios_app_credentials_id varchar(64) DEFAULT NULL
    AFTER expo_android_app_build_credentials_id;

ALTER TABLE `minds_tenant_configs`
    ADD expo_ios_app_build_credentials_id varchar(64) DEFAULT NULL
    AFTER expo_ios_app_credentials_id;

Regression Scope

Mostly additive - do regression test tenant admin settings.

Platform Affected (web, mobile, etc)

Web.

Developer Testing Completed

Manual, unit (phpspec).

Screenshots / Screen Recording

See issue card comments.

Does this impact

  • Localization
  • Dark/light mode
  • Guest mode

Definition of Done Checklist

  • The Acceptance Criteria has been met
  • Code is tested: Testing includes unit/spec, E2E/automated and manual testing
  • Merge requests description has been filled out
Edited by Ben

Merge request reports