Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* chore(ci): remove the limitation on branches for automatic testing * chore(domain): replace optional model to new domain module * feat(tests): add tests for optional model * feat(domain): add file entity * feat(tests): add tests for file entity * chore(domain): replace and restructure task entities to new domain module * chore: change imports to absolute ones * chore(domain): add empty user submodule to domain module * fix(domain): add handling of incorrect case in optional model * chore(domain): add code documentation for tasks and file * chore(domain): add README files for domain modules * chore(use case): init use case module, exception and dto submodules * chore(use case): init file, task and user use case modules * chore: add pytest mock, pytest asyncio and cfgv to dependencies * fix: replace dto module to internal * feat(dto): add base schema for dto * feat(dto): add dto schemas for file * feat(dto): add dto schemas for file metadata * feat(dto): add dto schemas for dataset * feat(dto): add dto schemas for task * chore: init repository exceptions file * feat(dto): add dto schemas for task worker * chore: add readme file for dto module * feat: add file and dataset exceptions * fix: delete old use case exception module * feat(use case): add use case for file's content type checking * feat(tests): add tests for file's content type checking use case * feat: add Unit Of Work pattern implementation * feat(tests): add tests for unit of work * feat(use case): add use case for saving datasets * feat(tests): add tests for save dataset use case * feat(use case): add use case for file saving * feat(tests): add tests for save file use case * feat: add task use cases' exceptions * feat(use case): add use case for retrieving task * feat(tests): add tests for retrieve task use case * chore: add missing imports * feat(use case): add use case for setting task * feat(tests): add tests for set task use case * chore: add file for user's use case exceptions * chore: add readme file for usecase module * chore: init infrastructure, repository and worker modules * chore(infra): init data storage module * feat(infra): add settings for data storages * feat(infra): add context implementation for postgres * feat(infra): add base orm model for relational data bases * feat(infra): add base orm model for relational data bases * feat(infra): add file metadata model for relational data bases * feat(infra): add dataset model for relational data bases * feat(infra): add task model for relational data bases * chore(infra): add empty module for user relational models * chore: set new directories for test command in the makefile * chore: set new alembic.ini file's path for postgres migrations command in the makefile * feat(infra): add first empty postgres migration * feat(infra): add postgres db migration that creates file and dataset table * feat(infra): add postgres db migration that creates task table * feat(repo): add file repository implementation * chore(infra): rename and replace relational storage context * chore(repo): format code * fix(infra): remove typo in dataset relational model's fields * fix(uow): change the way to return a context from uow * feat(use case): add file metadata not found exception * feat(use case): add use case for retrieving datasets * feat(tests): add tests for retrieve dataset use case * fix(use case): remove unnecessery fields in profiling task worker interface * chore(use case): make usecase arguments callable only by key-value * feat(use case): add use case for updating task info * chore(dto): update task update schema * feat(tests): add tests for updating task info use case * feat(dto): add dataset and file metadata repositories' exceptions * feat(dto): add find and response schemas for csv files * feat(domain): add a function to get a primitive by its name * feat(use case): add use case for task profiling * feat(tests): add tests for profilie task use case * chore(infra): change name of relational context type * feat(infra): add postgres context and context maker * feat(repo): add find(read) csv file method to the file repository * feat(repo): add class with crud operations for relational repositories * feat(repo): add file metadata repository implementation * fix(tests): update conftest file, delete alembic tests * feat(infra): add necessary imports for migrations * feat(repo): add dataset repository implementation * feat(tests): update conftest file with database preparing fixture * feat(repo): add find with join for dataset repository * feat(repo): add task repository implementation * feat(infra): init background task and celery modules * feat(infra): add settings for background tasks * feat(infra): add celery config * feat(infra): add resource intensive celery task class * feat(infra): add dependencies for injection in celery tasks * feat(infra): add data profiling celery task * feat(infra): add the main celery worker * feat(worker): add data profiling worker implementation (for celery) * feat(rest): init rest module and its submodules * feat(test): add ping endpoint, common router * feat(rest): add dependencies for injection in endpoints * feat(rest): add dependencies for injection in file/dataset endpoints * feat(rest): add endpoint for upload csv datasets * feat(rest): add endpoint for retrieve datasets * feat(rest): add dependencies for injection in task endpoints * feat(rest): add endpoint for task setting * feat(rest): add endpoint for task retrieving * feat(rest): add di module for user * feat(rest): add main api router * feat: add main application (fastapi) object * feat: change path to app object and celery worker in makefile * fix(repo): typo in imports * fix(tests): remove typo in fixture name * chore: change name for celery worker in makefile * fix(infra): make the correct traceback processing * feat(rest): add use case's exceptions handling * chore(domain): add code documentation for math function * chore: add failed file read exception and its handler * chore: delete old app module * chore: format code * chore: change old module path in all makefile commands * fix(tests): remove typo in exception name and expande uow mocks * feat(infra): add flat file storage context and update use cases * feat(rest): update di after add new flat context * fix: typo in file metadata repository name * feat(tests): add tests for file repository * feat(tests): add tests for file metadata repository * feat(tests): add tests for dataset repository * feat(tests): add tests for task repository * fix(tests): add converter from UUID to string for file name * chore(domain): move task status and task failure reason classes in separate module * fix(dto): remove unnecessery generic in update schemas * chore: add and fix documentation for repo and use case exceptions * chore(infra): add readme file for data storage module * chore(infra): correct typing * chore: update new directories path in Dockerfile * chore(infra): add missed imports to postgres env.py file * chore: fix format errors * chore: delete sqlalchemy mixins from project dependencies * fix: type errors * chore: add command for type checking in makefile and rename old target names * chore: add type checking to ci * chore(infra): add relational/postgres context maker types * chore(infra): add helper functions for getting postgres context * feat(infra): implement an analogue of a transaction for local storage * feat(tests): add tests for new flat context * feat(infra): add relational add/delete models * chore(tests): divide the test directory into subdirectories for unit and integration testing * feat(infra): implement sync flush method for flat context * feat(infra): add universal context for storages * feat(tests): add tests for universal context * chore(usecase): add missed task usecases imports * feat(usecase): make a single unit of work in each use case and its usage in app * feat(repo): add processing for case when value is not found when updating in the database * feat(tests): add tests that check dependencies between modules * feat(tests): set up the correct system of fixtures with access to storage systems * feat(tests): add integration tests for all api usage scenarios * chore: format code, and some documentation and readme files
- Loading branch information