Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create release v1.11.2 #155

Merged
merged 50 commits into from
Jan 19, 2022
Merged

Create release v1.11.2 #155

merged 50 commits into from
Jan 19, 2022

Conversation

sherryhli
Copy link
Member

@sherryhli sherryhli commented Jan 17, 2022

Notion ticket link

N/A

Implementation description

  • Includes 2 commits from main: 7989823, c43805f
  • Fixes GraphQL file upload error in entityResolvers.ts (missing uploads/ folder)
  • Removes extra newlines

Steps to test

Generate each of the following combinations using the CLI with the --testing flag:

Language API DB Auth File Storage Done
TypeScript REST PostgreSQL Yes Yes ✔️
TypeScript REST PostgreSQL Yes No ✔️
TypeScript REST PostgreSQL No Yes ✔️
TypeScript REST PostgreSQL No No ✔️
TypeScript REST MongoDB Yes Yes ✔️
TypeScript REST MongoDB Yes No ✔️
TypeScript REST MongoDB No Yes ✔️
TypeScript REST MongoDB No No ✔️
TypeScript GraphQL PostgreSQL Yes Yes ✔️
TypeScript GraphQL PostgreSQL Yes No ✔️
TypeScript GraphQL PostgreSQL No Yes ✔️
TypeScript GraphQL PostgreSQL No No ✔️
TypeScript GraphQL MongoDB Yes Yes ✔️
TypeScript GraphQL MongoDB Yes No ✔️
TypeScript GraphQL MongoDB No Yes ✔️
TypeScript GraphQL MongoDB No No ✔️
Python REST PostgreSQL Yes Yes ✔️
Python REST PostgreSQL Yes No ✔️
Python REST PostgreSQL No Yes ✔️
Python REST PostgreSQL No No ✔️
Python REST MongoDB Yes Yes ✔️
Python REST MongoDB Yes No ✔️
Python REST MongoDB No Yes ✔️
Python REST MongoDB No No ✔️
  1. Run the application
docker-compose up --build
  1. Run migrations if applicable
  2. Insert admin user into database if applicable
  3. Run E2E tests
  4. Run backend tests if applicable (need to add "/build/" as testPathIgnorePatterns in jest.config.ts)
  5. Run frontend tests
  6. Test all functionality exposed in the frontend

What should reviewers focus on?

Nothing in particular, I've tested each combination thoroughly and will test everything again tomorrow when releasing the last set of changes before the W22 teams onboard.

Checklist

  • My PR name is descriptive and in imperative tense
  • My commit messages are descriptive and in imperative tense. My commits are atomic and trivial commits are squashed or fixup'd into non-trivial commits
  • I have run the appropriate linter(s)
  • I have requested a review from the PL, as well as other devs who have background knowledge on this PR or who will be building on top of this PR

xinhaoz and others added 30 commits May 21, 2021 15:01
* Add example context components

* Add ts root dir to fix eslint errors

* Fix typo, add return type to reducer

* Add react plugins to eslint
* Add ts plugins to eslint, fix eslint errors

* Remove deep copy of form data

* Add more return types, change prettier errors to warn

* Type decoded JWT, move AuthenticatedUser to types file

* Create AuthTypes

* Fix token expiry

Co-authored-by: Sherry Li <[email protected]>
#45)

* duplicate code to authapiclient.ts

* refactor functions with localstorage to AuthAPIClient

* Update with removed REST tags

* update with pr fixes
* Configure Sequelize migrations using umzug

* Add defaultValue and allowNull options to add column example
* add initial validate decorator

* update with modified middleware and add decorators to the respective functions

* add decorator and validate method for entity dto
* Update README.md

* Add nodemailer config path to secret.config

* Add frontend stack to README.md

* Add minor edits to README.md
* Add auth validators

* Add Entity and User Validators

* Refactor validation utils

* Add API error messages
* Swagger For Python

* Minor fixes
* Add initial file storage service

* Add initial file storage service

* Create and Update

* Add exception handling and more docstrings

* Make expiration time a parameter, clean up code

* Add content type parameter, update interface

Co-authored-by: Richard Chen <[email protected]>
* add initial files

* Fix firebase bucket init

* add create file implementation

* add interface notes and add checking if file already exists

* Add updateFile and deleteFile implementations

* update create file method

* update create method notes

* Refactor getFile

* remove import in server.ts

* Update error message on failure to get file

Co-authored-by: Sherry Li <[email protected]>

* add contentType param

* fix formatting in storageService.ts

* Make bucketName a param

* Fix bucket name format

Co-authored-by: tamim-khan <[email protected]>
Co-authored-by: Sherry Li <[email protected]>
* Delete repeated requirements

* Add pytest to requirements

* Create python test examples

* Add typescript BE examples

* Create frontend sample tests

* Add test-db to docker-compose

* Update tests for docker containers

* Update psql conn string

* Add mongodb-memory-server dependency libcurl3 to docker container

* Add mongomock and pytest-mock to py requirements

* Create test_user_service

* Add pg user service test
* Configure SQLAlchemy migrations

* Fix create_app configs when calling from Flask CLI
* Update README.md

* Apply suggestions from code review

Co-authored-by: Sherry Li <[email protected]>

Co-authored-by: Sherry Li <[email protected]>
…Hub Actions (#87)

* Set up frontend hosting using Firebase

* Set up GitHub Actions for frontend deploy preview and automated prod deployment

* Set working directory in frontend deployment GitHub Actions

* Add yarn install step to deployment scripts

* Add entryPoint to action-hosting-deploy step

* Use separate backend urls for previews and prod
* Set extended option in express.urlencoded in server.ts

* Fix user_id casing in Python openapi.json

* Simplify Python DTO validators

* Add newline in Logout.tsx

* Rename TypeScript storageService to fileStorageService
* temp changes

* add initial changes to EntityServiceMg

* Fix update function in entityservice

* Add file crud methods to postgres entity service

* Add file content type validation

* Fix create endpoints

* Add local file storing to graphql resolvers

* Add endpoint for getting file based on fileUUID

* Change storage service to store bucketName instead of the bucket

* Minor fixes

* Fix update functions in entity service

* Minor fixes

* Add content type to entity request DTO and filestorageservice calls

* Fix graphql

* Fix imports

* Refactor create/update to prevent dangling file references

* Address comments

* Wait for file to finish writing before continuing

* Delete file after uploading

* Add awaits to filestorageservice calls

Co-authored-by: Richard Chen <[email protected]>
Co-authored-by: Emily Louie <[email protected]>
* Update EntityService Mongo

* Update Python Entity models for file storage.

* Add file get request to routes, work on entity services

* Add entity request dto for python

* Add file support in entity routes

* Add file to update route

* Update validator and DTO

* Add content type check to python entity dto validator

* Add file storage support to Python Postgres Entity service

* Add PUT logic to Python Postgres entity service update function

* Change update logic for mongo

* lint

* Update EntityService Mongo

* Update Python Entity models for file storage.

* Add file get request to routes, work on entity services

* Add entity request dto for python

* Add file support in entity routes

* Add file to update route

* Update validator and DTO

* Add content type check to python entity dto validator

* Add file storage support to Python Postgres Entity service

* Add PUT logic to Python Postgres entity service update function

* Change update logic for mongo

* lint

* Fix python file get endpoint file storage service call

* Remove EntityDTO.file_name from Mongo Impl

* Update validator to check for missing body

* fix

* Fix file get endpoint auth, rename entity DTO variable

* Remove EntityDTO.file_name from Postgres Impl

* Update get_file to return object

* Fix bug in mongo service update logic

* Fix Postgres update route and logic

* Fix python postgres pop file and lint code.

* Postgres migration to add entity file name

Co-authored-by: Bruce He <[email protected]>
* initial files

* add a responseutil

* update rest api

* Add new Graphql querires

* Address PR comments and remove CSV option for requests that return single items

* Change generateCSV function to match frontends

* update yarn.lock

* Fix yarn.lock

Co-authored-by: Alex Guo <[email protected]>
* initial files

* add a responseutil

* update rest api

* Add download csv functionality from frontend utility

* Add new Graphql querires

* Address PR comments and remove CSV option for requests that return single items

* Change generateCSV function to match frontends

* update yarn.lock

* Fix yarn.lock

* Add backend API integration

Co-authored-by: Emily Louie <[email protected]>
* Initial change

Linter and tests

Update default options

csv default settings

Examples and minor format changes

Update docker-compose.yml

Moved tests to unit

* Add minor fixes

Co-authored-by: Sherry Li <[email protected]>
* Add endpoints for register user with email verification

* Check email verified on the firebase user instead of the token
* Add endpoints to register user using email verification

* fix import and add validator

* Add validation for RegisterUserDTO

* Fix accessing the email verification from token

* Change the verification email title

* check email verified in firebase user rather than token
* Add sign-up page & auth client register functions

* Rebase on main and make minor routing changes

Co-authored-by: Sherry Li <[email protected]>
* Add google oauth signin to firebase rest client

* Add google oauth login and signup functionality

* Add frontend for google oauth signin

* Fix backend

* Add comment for google user id token
tamim-khan and others added 19 commits September 2, 2021 21:19
* Add REST Impl

* Fix try catch

Co-authored-by: Alex Guo <[email protected]>
* GraphQL OAuth

* rename id_token

* Validators

* Update authValidators.ts
* add initial upload button and onChange function

* Add field to display table

* Fix mutation and add console.logs to debug

* Update graphql queries in create and update

* Add call in EntityAPIClient, graphql in DisplayTableContainer, and setup FileUtil

* Fix display of buttons to only be shown if the fileName is not null

* Add suggested changes to remove circular JSON errors

* Uncomment python part in docker-compose.yml

* Address PR comments and fix Graphql get in DisplayTableContainer

* Fix REST file upload

* Add REST file update to frontend

* Decamelize formData when using Python backend

* Fix fileUrl access in EntityAPIClient.getFile for Python backend

Co-authored-by: Alex Guo <[email protected]>
Co-authored-by: Sherry Li <[email protected]>
* Add type check on self.enum_field before calling .upper() in validator

* Set erase_db_and_sync in Python backend based on TESTING config value

* Change DB dialect name from postgres to postgresql in Python connection string

* Update testDb connect method for compatibility with mongo-memory-server's updated API

* Change setData to setEntities in DisplayTableContainer.tsx

* Add comments to AuthService's generateTokenOAuth method

* Separate SignInResponse types for password and OAuth sign ins

* Fix Python csv_utils to account for optional fields

* Add *.egg-info to .gitignore

* Remove commented out code in backend/typescript/utilities/CSVUtils.ts

* Lint and reformat

* Fix form reset issue after setting file field in CreateForm and UpdateForm

* Fix casing in CSVUtils import path
* Fix error when deleting an entity with no file

* Add id return for delete entity endpoint in TypeScript

* Address comment
* Add db health check, db init script, and container names

* Make scripts executable

* Fix formatting in backend/python/app/__init__.py
* Add end-to-end tests for the backend

* Rename folder
* Add files and modifications for backend deployment to Heroku

* Require migrations in TypeScript backend

* Stringify Google login error object

* Fix formatting in frontend

* Remove nodemailer config path from secret.config

* Fix typo in DATABASE_URL

* Check if MONGODB_URL is present before reading from app.config
* Create GitHub Actions file for running linters

* Fix lint and formatting errors in backend/typescript

* Fix lint and formatting errors in frontend

* Fix quotes in .github/workflows/lint.yml
* Fix error message typing in backend/typescript

* Add eslint-disable comments
@sherryhli sherryhli force-pushed the sherry/release-v1.11.2 branch from bd30074 to 773c101 Compare January 17, 2022 04:13
@sherryhli sherryhli marked this pull request as ready for review January 19, 2022 03:34
@sherryhli sherryhli requested a review from alexguo8 January 19, 2022 03:34
Copy link
Contributor

@alexguo8 alexguo8 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@sherryhli sherryhli merged commit 72b5aba into release Jan 19, 2022
@sherryhli sherryhli deleted the sherry/release-v1.11.2 branch January 19, 2022 18:26
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.

8 participants