Commit graph

4415 commits

Author SHA1 Message Date
Philip Molares
9e2a138a14 feat: add request note decorator
This extracts the note inserted with the get note interceptor into the request to be used by the controller service.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-12-02 20:41:45 +01:00
Philip Molares
ea0588f02e feat: refactor get note pipe to interceptor
This is necessary, because of the order of operations in nestjs, the validation pipe is not able to get the note as the noteIdOrAlias will be transformed by the get note pipe after the validation did run.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-12-02 20:41:45 +01:00
Philip Molares
16cd42f197 test: fix note e2e test 'fails with non-existing alias'
Because the rejection now happens automatically in the permissions guard it does not get to the controller method and does not report the Content-Type to text/markdown

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-12-02 20:41:14 +01:00
Philip Molares
40e8acb6bb test: fix note e2e test 'fails, when user can't read note'
Because the rejection now happens automatically in the permissions guard it now returns a 403 instead of 401

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-12-02 20:41:14 +01:00
Philip Molares
d27c531d9a refactor: move permissions service calls into permissions guard
This commit removes all previous calls to the permissions service at the beginning of the controller methods to the permissions guard. This should make the code a bit cleaner and remove boilerplate code.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-12-02 20:41:14 +01:00
Philip Molares
f6ae0d30a1 feat: create permissions guard
This guard protects resources and let's users only access them if they hold the correct permission

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-12-02 20:41:12 +01:00
Philip Molares
6f7cfced39 feat: create permission decorator
This gathers the permission a user needs to hold to access a resource for the PermissionsGuard.

See https://docs.nestjs.com/guards#setting-roles-per-handler

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-11-30 19:48:47 +01:00
Philip Molares
c30a06d90b feat: create permission enum
This enum makes it possible which permissions a user needs to hold to access a specific resource

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-11-30 19:48:47 +01:00
Philip Molares
dbf467fea5 chore: extract getNote code from GetNotePipe.transform
This was done so the same code could be used in the PermissionsGuard

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-11-30 19:48:47 +01:00
Philip Molares
4b3c726101 chore: move get-note-pipe to api utils
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-11-30 19:48:47 +01:00
David Mehren
b4ce0dc889
Merge pull request #1851 from hedgedoc/fix-permissions-types 2021-11-29 22:54:26 +01:00
Yannick Bungers
15e2e177fb Add missing null in type in permissions service
The parameters of the permission checking methods were missing a null value for not set user. This is the case if user is not logged in and operating as guest.

Signed-off-by: Yannick Bungers <git@innay.de>
2021-11-29 22:42:31 +01:00
David Mehren
0881d5f041
Merge pull request #1677 from hedgedoc/renovate/develop-passport-0.x 2021-11-29 21:41:43 +01:00
David Mehren
64867127d8
Merge pull request #1843 from hedgedoc/renovate/develop-linters 2021-11-29 21:41:24 +01:00
David Mehren
178704c79f
Merge pull request #1841 from hedgedoc/renovate/develop-class-transformer-0.x 2021-11-29 21:38:40 +01:00
David Mehren
9a5126f335
Merge pull request #1838 from hedgedoc/renovate/develop-tsconfig-paths-3.x 2021-11-29 21:37:26 +01:00
Renovate Bot
da38d0f166
chore(deps): update linters
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-11-23 07:50:47 +00:00
Renovate Bot
e5d98654c9
fix(deps): update dependency class-transformer to v0.5.1
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-11-22 19:53:40 +00:00
Renovate Bot
eac3ca4647
fix(deps): update dependency passport to v0.5.0
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-11-21 23:20:49 +00:00
Renovate Bot
d6637f9226
chore(deps): update dependency tsconfig-paths to v3.12.0
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-11-21 23:20:22 +00:00
David Mehren
7e84b0f135
Merge pull request #1845 from hedgedoc/fix/testName 2021-11-21 22:19:09 +01:00
Philip Molares
d716873af2 test: fix test name in alias.e2e-spec.ts
This seems to be a copy/paste bug

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-11-21 18:06:41 +01:00
renovate[bot]
965eae95a4
fix(deps): update dependency minio to v7.0.20 (#1842)
Signed-off-by: Renovate Bot <bot@renovateapp.com>

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-21 01:15:29 +00:00
David Mehren
3fa774d855
Merge pull request #1837 from hedgedoc/renovate/develop-typescript-4.x 2021-11-20 18:46:26 +01:00
Renovate Bot
ebb0e25f17
chore(deps): update dependency typescript to v4.5.2
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-11-20 15:08:40 +00:00
renovate[bot]
37a5c2ad10
fix(deps): update dependency class-validator to v0.13.2 (#1839)
Signed-off-by: Renovate Bot <bot@renovateapp.com>

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-20 15:05:49 +00:00
renovate[bot]
b1f1a2caee
fix(deps): update dependency typeorm to v0.2.41 (#1836)
Signed-off-by: Renovate Bot <bot@renovateapp.com>

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-20 12:20:22 +00:00
renovate[bot]
13884e7850
chore(deps): update nestjs packages (#1835)
Signed-off-by: Renovate Bot <bot@renovateapp.com>

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-20 10:40:44 +00:00
renovate[bot]
0854033dc9
chore(deps): update dependency source-map-support to v0.5.21 (#1834)
Signed-off-by: Renovate Bot <bot@renovateapp.com>

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-20 08:38:19 +00:00
renovate[bot]
c97ff0c278
chore(deps): update dependency @types/node to v16.11.9 (#1833)
Signed-off-by: Renovate Bot <bot@renovateapp.com>

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-20 04:10:49 +00:00
renovate[bot]
f387c556d7
chore(deps): update dependency @types/jest to v27.0.3 (#1832)
Signed-off-by: Renovate Bot <bot@renovateapp.com>

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-20 02:13:10 +00:00
David Mehren
5713c0b7bd
Merge pull request #1822 from hedgedoc/renovate/develop-linters 2021-11-17 18:12:01 +01:00
Renovate Bot
0e927e6f72
chore(deps): update linters to v5.4.0
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-11-17 08:34:13 +00:00
David Mehren
3ac396002b
Merge pull request #1825 from hedgedoc/chore/renovate-config 2021-11-17 09:31:47 +01:00
renovate[bot]
517bb08d2c
fix(deps): update dependency raw-body to v2.4.2 (#1828)
Signed-off-by: Renovate Bot <bot@renovateapp.com>

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-17 05:38:10 +00:00
David Mehren
bcd38e14c0
Merge pull request #1680 from hedgedoc/fix/createMethods 2021-11-16 19:07:00 +01:00
David Mehren
1601f4b3a8
Merge pull request #1826 from hedgedoc/enhancement/concurrent_e2e_tests 2021-11-16 18:45:46 +01:00
David Mehren
d094570a8c
test(jest): run e2e tests concurrently
Fixes #1644

Signed-off-by: David Mehren <git@herrmehren.de>
2021-11-16 18:26:34 +01:00
David Mehren
3a47e962ea
test(mockconfig): generate unique upload paths
This stops multiple concurrently running tests disturbing each other.

Signed-off-by: David Mehren <git@herrmehren.de>
2021-11-16 18:26:34 +01:00
David Mehren
0f08a1153d
ci(renovate): separate major updates
Signed-off-by: David Mehren <git@herrmehren.de>
2021-11-16 18:01:48 +01:00
David Mehren
6bb14c5446
ci(renovate): run only on weekends
Signed-off-by: David Mehren <git@herrmehren.de>
2021-11-16 17:59:02 +01:00
David Mehren
2acaa9f0ea
ci(renovate): remove explicit dependencyDashboard
The `config:base` preset now includes this option

Signed-off-by: David Mehren <git@herrmehren.de>
2021-11-16 17:55:15 +01:00
renovate[bot]
424841de6d
fix(deps): update nestjs packages (#1824)
Signed-off-by: Renovate Bot <bot@renovateapp.com>

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-16 14:01:19 +00:00
renovate[bot]
6cdcede17e
chore(deps): lock file maintenance (#1821)
Signed-off-by: Renovate Bot <bot@renovateapp.com>

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-11-15 03:32:56 +00:00
David Mehren
db1d44cb69
fix(seed): fix create method usage
Signed-off-by: David Mehren <git@herrmehren.de>
2021-11-14 21:49:31 +01:00
David Mehren
9c08ff94fe
fix(note): fix type for owner param
To make the create method easier to use in conjunction
with the authentication framework, this commit changes the type of
the `owner` parameter from `User | undefined` to `User | null`.

Signed-off-by: David Mehren <git@herrmehren.de>
2021-11-14 21:46:04 +01:00
David Mehren
01b53d3858
fix(alias): remove default for primary
To make the create method more consistent with the
guidelines,
this commit removes the default value from the `primary` parameter.

Signed-off-by: David Mehren <git@herrmehren.de>
2021-11-14 21:46:04 +01:00
David Mehren
9258863dbd
fix(media-upload): remove backendData parameter
`Create` methods should only contain optional properties

Signed-off-by: David Mehren <git@herrmehren.de>
2021-11-14 21:46:04 +01:00
David Mehren
a08d8c58ed
fix(identity): remove default for syncSource
To make the create method more consistent with the
guidelines,
this commit removes the default value from the `syncSource` parameter.

An Identity will be created as sync source,
when the associated account is created using an external provider.

Signed-off-by: David Mehren <git@herrmehren.de>
2021-11-14 21:46:04 +01:00
David Mehren
5ba6b4ab67
fix(group): add special flag to create method
To make the create method more consistent with the
guidelines, this commit adds the `special` flag to
the parameters.
As this function will only be used to create the two hard-coded groups
and to handle API requests at one or two places, adding the parameter
should not be too problematic.

Signed-off-by: David Mehren <git@herrmehren.de>
2021-11-14 21:46:04 +01:00