- filter logs by request with reflect-metadata (see mikroorm em setup)
- disable Document from window
- find a name for base entity id type
- find a name for base entity class
- decide if we want to use our entity id type in all layers (also in dtos etc.)
- use index.ts files to bundle exports - we could use path names for imports then, e.g. @shared/domain
- check how we can implement mandatory/optional fields in dtos
- should we use Expose() as default in dtos?
- in the controller we have to prohibit serialization of properties that have no @EXPOSE
- find the best way ORM entity discovery
- decide where to put domain interfaces (directory)
- how can we log validation errors during development?
- sanitizer
- remove non-node async library
- fix async cleanup & remove timeout in tests
- test object creator for nest entities
- enable log only for failed tests: https://stackoverflow.com/a/61909588
- remove mongoose history (keep one)
- remove custom npm packages (ldap, ...)
- API default tests to extend: auth required, fails without/succeeds with
-
documentation
- entity constructor
- em to be used in repositories only (!!!)
-
load/perf test
-
disable legacy ts support (app, tests)
-
fix .env/config for windows
- api path prefix cleanup: remove middleware and multiple path mounts, sync with nest
- user module stucture
- single domain: shared entity (main.ts), shared repository
- request.user.user in jwt strategy
- remove outdated sorting.ts
- remove default launch/settings json files, apply them
- fix #2729 (review)
-
test shared / core module
-
async test fixes (remove this.timeout and red promise chains)
-
db configuration
- keep mongoose options as mongo options
- povider for mikroorm options and db url
- test db provider
- entity discovery
- check indexes in mikroorm: when are they updated?
- teardown (test, server module, main.ts)
- replikaset for test module
- entity discovery
-
news
- uc cleanup: 2auth, visibilities
- document best practices/layers/orm
-
context: user-/request-context (see mikroorm/asynclocalstorage)
- check build & start for production with ops
- fix jest, linter, ...
- inject APP_FILTER (exception handler) and APP_INTERCEPTOR (logger), see core module
- custom error handling (log/response), see global-error.filter.ts
- watch docs should hot reload on md file change
- 404 error handling in feathers has to be replaced (tests too). better: have nest before feathers... but seems not to be working
- remove mongoose
- publish documentation, see https://hpi-schul-cloud.github.io/schulcloud-server/overview.html
- fix all tests (nest/legacy)
- remove legacy scripts from package json (except tests) goal: have separated tests (legacy/nest) but only execute the nest app
- using legacy database connection string
- v3 with/-out slash: diffenrent routes should respond with different result (/v3 is a resssource, /v3/ === /v3/index)
- vscode/lauch files: we put only default files into the repo
- naming of dtos and dto-files: api vs domain, we leave out "dto" suffix for simplicity (we know that they are dtos) and instead append a specific suffix: e.g. api: <PaginationParams, pagination.params.ts>, <CreatNewsParams, create-news.params.ts>, <NewsResponse, news.response.ts> domain: <CreateNews, create-news.interface.ts>, <News, news.entity.ts>