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

Billcui57/release v1.12.0 #185

Open
wants to merge 61 commits into
base: release-v2
Choose a base branch
from
Open

Conversation

billcui57
Copy link
Contributor

Notion ticket link

Ticket Name

Implementation description

Steps to test

What should reviewers focus on?

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 <sherryhli@users.noreply.github.com>
#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 <chenpipi@live.com>
* 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 <sherryhli@users.noreply.github.com>

* add contentType param

* fix formatting in storageService.ts

* Make bucketName a param

* Fix bucket name format

Co-authored-by: tamim-khan <tamim.m.khan@gmail.com>
Co-authored-by: Sherry Li <sherryhli@users.noreply.github.com>
* 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 <sherryhli@users.noreply.github.com>

Co-authored-by: Sherry Li <sherryhli@users.noreply.github.com>
…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 <chenpipi@live.com>
Co-authored-by: Emily Louie <emilyslouie@gmail.com>
* 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 <zm2he@uwaterloo.ca>
* 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 <guozalex@gmail.com>
* 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 <emilyslouie@gmail.com>
* 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 <sherryhli@users.noreply.github.com>
* 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 <sherryhli@users.noreply.github.com>
* 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
sherryhli and others added 30 commits September 3, 2021 14:10
* 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 <guozalex@gmail.com>
Co-authored-by: Sherry Li <sherryhli@users.noreply.github.com>
* 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
* Add default rate limiting

* Make default limit configurable
* implemented initial fix in app component, proceeding to testing

* fixed useEffect hook, moved useMutation outside of hook for functionality, verified it runs periodically (every hour, which is when firebase tokens expire)

* removed comment, added if statement to remove unecessary runs

* added doRefresh and currentUser to dependency list

* added spacing for lint check
…lates an env file with it (#178)

* done the setup vault

* change file name
…conflict on MacOS (#182)

* Change backend Docker port mapping to avoid AirPlay conflict on macOS

* Change backend Docker port mapping to avoid AirPlay conflict on macOS
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.