David Mehren
f0e6f6150d
test: allow running e2e tests with different DBs
...
This commits adds infrastructure for running the E2E tests
with databases other than sqlite.
Initially, support for Postgres is added.
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-06 22:24:21 +01:00
Philip Molares
35075bdb0b
test: add unit test for noteConfig
...
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2022-03-06 21:42:19 +01:00
Philip Molares
96747b6d68
fix: use joi positive and integer validators on HD_MAX_DOCUMENT_LENGTH
...
validate HD_MAX_DOCUMENT_LENGTH with the positive and integer validators of Joi.
See also:
- https://joi.dev/api/#numberpositive
- https://joi.dev/api/#numberinteger
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2022-03-06 21:42:19 +01:00
Philip Molares
de8bad13cf
test: add unit test for appConfig
...
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2022-03-06 21:35:58 +01:00
Philip Molares
029881f380
chore: add mocked-env dev dependency
...
This will be used to create unit test for the different config objects.
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2022-03-06 21:35:58 +01:00
Philip Molares
45df0e6edb
fix: rename parseOptionalInt to parseOptionalNumber
...
This allows us to handle the possible errors due to non-integer numbers with joi and return more precise error messages.
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2022-03-06 21:35:58 +01:00
Philip Molares
151e12a8a7
fix: use joi positive, integer and max validators on PORT
...
validate PORT with the positive, integer and max validators of Joi.
See also:
- https://joi.dev/api/#numberpositive
- https://joi.dev/api/#numberinteger
- https://joi.dev/api/#numbermax
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2022-03-06 21:35:58 +01:00
Philip Molares
0a778d8a64
fix: use joi uri validator in appConfig
...
validate HD_DOMAIN and HD_RENDERER_ORIGIN with the uri validator of Joi. This should prevent the problem described in #2150 .
Fixes #2150
See also: https://joi.dev/api/#stringurioptions
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2022-03-06 21:35:58 +01:00
David Mehren
7e8716ec95
fix: ensure dates are properly transformed
...
To correctly transform Date objects from ISO-strings in JSON
to instances, class-transformer requires the `@Type` annotation.
References:
https://github.com/typestack/class-transformer#%D1%81onverting-date-strings-into-date-objects
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-06 20:54:46 +01:00
David Mehren
59a235ebc4
fix: ensure nested objects are properly validated & transformed
...
To validate nested objects, class-transformer requires
the `@ValidateNested` annotation.
For arrays, class-transfomer requires
setting `each: true`.
To correctly transform nested objects from JSON to instances,
class-transformer requires the `@Type` annotation.
References:
https://github.com/typestack/class-validator#validating-nested-objects
https://github.com/typestack/class-validator#validating-arrays
https://github.com/typestack/class-transformer#working-with-nested-objects
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-06 20:54:46 +01:00
David Mehren
324536bc2d
feat(validation): send error message to client
...
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-06 20:52:52 +01:00
Renovate Bot
a31e4f4dfc
chore(deps): update dependency ts-node to v10.7.0
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-06 17:37:40 +01:00
Renovate Bot
d5c70b0302
chore(deps): update dependency mkdocs-material to v8.2.5
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-06 17:30:01 +01:00
Renovate Bot
4817431166
chore(deps): update linters
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-05 10:47:14 +01:00
Renovate Bot
8aee78c78e
chore(deps): update actions/checkout action to v3
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-05 10:40:33 +01:00
Renovate Bot
a850939acb
fix(deps): update nestjs packages to v8.4.0
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-05 10:39:31 +01:00
Renovate Bot
bc59085ce4
chore(deps): update dependency typescript to v4.6.2
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-05 10:36:44 +01:00
Renovate Bot
7aee869610
chore(deps): update dependency ts-node to v10.6.0
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-05 10:29:20 +01:00
Renovate Bot
4030d11840
fix(deps): update dependency typeorm to v0.2.45
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-05 10:28:55 +01:00
Renovate Bot
47e99816af
chore(deps): update dependency tsconfig-paths to v3.13.0
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-05 10:23:21 +01:00
Renovate Bot
1514ea1646
fix(deps): update dependency raw-body to v2.5.1
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-05 09:24:01 +01:00
Renovate Bot
ddca4eaec7
chore(deps): update dependency mkdocs-material to v8.2.4
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-05 05:00:47 +00:00
Renovate Bot
1827b7c615
chore(deps): update dependency @nestjs/cli to v8.2.2
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-05 02:56:36 +00:00
David Mehren
0be8e4ea55
feat(api/private): add GroupsController
...
The GroupsController can be used to fetch information about groups.
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-01 20:20:18 +01:00
David Mehren
0394679134
feat(user-info-dto): split email into separate DTO
...
The email address should only be available
in /me routes.
This commit splits the email address into a new FullUserInfoDto.
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-01 20:20:18 +01:00
David Mehren
a7edf00ebc
feat(api/private): add UsersController
...
The UsersController can be used to fetch information about users.
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-01 20:20:18 +01:00
Renovate Bot
908f418620
chore(deps): lock file maintenance
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-02-28 02:23:45 +00:00
David Mehren
931a168e5d
fix(session-middleware): don't hardcode database ttl
...
The cookie expiration is taken from the config,
but the expiration of session data in the database was hardcoded.
This removes the hardcoded value, so TypeormStore defaults
to cookie.maxAge.
References:
https://github.com/nykula/connect-typeorm#options
https://github.com/expressjs/session#cookiemaxage
Signed-off-by: David Mehren <git@herrmehren.de>
2022-02-27 20:55:13 +01:00
Philip Molares
cf5c398933
fix: openapi decorator
...
This now correctly returns the dto if it is provided. Previously it would return () => undefined, when the dto was not defined, which crashed some internal logic in nestjs.
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2022-02-27 18:40:53 +01:00
Renovate Bot
bb2c248147
chore(deps): update dependency mkdocs-material to v8.2.3
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-02-27 18:22:31 +01:00
Renovate Bot
72ef02608b
chore(deps): update yarn to v3.2.0
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
Signed-off-by: David Mehren <git@herrmehren.de>
2022-02-26 14:07:23 +01:00
Renovate Bot
4e83c19dc7
chore(deps): update dependency mkdocs-material to v8.2.2
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-02-26 14:00:27 +01:00
Renovate Bot
eeb8de4f78
fix(deps): update dependency raw-body to v2.5.0
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-02-26 13:56:36 +01:00
Renovate Bot
a8264bdd7f
chore(deps): update dependency eslint to v8.10.0
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-02-26 13:48:34 +01:00
Renovate Bot
b0b590757e
chore(deps): update actions/setup-node action to v3
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-02-26 13:43:50 +01:00
Renovate Bot
4d8682f27a
fix(deps): update dependency typeorm to v0.2.44
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-02-26 11:15:16 +00:00
Renovate Bot
c97533f70f
chore(deps): update linters to v5.12.1
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-02-26 11:07:33 +00:00
Renovate Bot
4bba9a2520
chore(deps): update dependency @types/node to v16.11.26
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-02-26 08:48:55 +00:00
Renovate Bot
0318f7ea0d
chore(deps): update dependency @types/jest to v27.4.1
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-02-26 04:44:06 +00:00
Renovate Bot
70a26bedb0
chore(deps): update dependency @nestjs/schematics to v8.0.7
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-02-26 02:24:25 +00:00
Renovate Bot
f72c85b887
chore(deps): lock file maintenance
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-02-21 02:40:08 +00:00
Philip Molares
86ef8f3c7f
docs: add documentation to OpenApi decorator
...
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2022-02-20 20:56:09 +01:00
Philip Molares
cae55e0baa
test: fix e2e test error codes
...
As these were changed with the openapi decorator the test need to reflect this.
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2022-02-20 20:56:09 +01:00
Philip Molares
89aac9d4b6
refactor: use new openapi decorator
...
Also remove fullapi decorator, because it's fully replaced by the openapi decorator.
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2022-02-20 20:56:09 +01:00
Philip Molares
a283002a34
feat: create openapi decorator
...
This decorator gets a list of http codes and possible descriptions and adds all necessary decorator internally to the method or the class. This will prevent long OpenApi annotations and keep the controllers shorter.
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2022-02-20 20:56:09 +01:00
Philip Molares
c6bb8f62e8
refactor: use a base dto class
...
This gives all dto classes a common super class for usage of the type system.
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2022-02-20 20:56:09 +01:00
Philip Molares
0955bf048d
refactor: rename markdown body decorator
...
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2022-02-20 20:56:09 +01:00
Philip Molares
7f8d745c80
refactor: move permissions decorator into api utils dir
...
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2022-02-20 20:56:09 +01:00
Renovate Bot
e339f740e7
fix(deps): update dependency @types/node-fetch to v2.6.1
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-02-19 20:48:05 +01:00
Renovate Bot
2bdb567ff5
fix(deps): update nestjs packages
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-02-19 20:42:26 +01:00