renovate[bot]
d7663e3090
chore(deps): update dependency eslint to v8.41.0
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-21 19:47:03 +02:00
Tilman Vatteroth
11ccd678de
test: add test for permissions guard
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-19 19:10:45 +02:00
Tilman Vatteroth
a852c79947
refactor: replace permission check methods with ordered permission enum
...
This commit replaces the "mayWrite", "mayRead" and "checkPermissionOnNote"
functions with one that returns a sortable permission value.
This is done because many places in the code need to do actions based on the fact if
the user has no, read or write access. If done with the may-functions then the permission
data need to be looked through multiple times.
Also, the whole check code is split into more functions that are tested separately and make it easier
to understand the process.
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-19 19:10:45 +02:00
Tilman Vatteroth
4e298cccfb
refactor: make class fields of permissions guard read-only
...
They're only read and never written after the construction
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-19 19:10:45 +02:00
Tilman Vatteroth
6e0e63688b
refactor: allow only one required permission in require-permission decorator
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-19 19:10:45 +02:00
Tilman Vatteroth
9ca6485219
refactor: extract permission metadata key
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-19 19:10:45 +02:00
Tilman Vatteroth
488238d854
refactor: rename "Permissions" enum to "RequiredPermission"
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-19 19:10:45 +02:00
Tilman Vatteroth
6b73016583
refactor: rename "Permissions" decorator to "RequirePermission"
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-19 19:10:45 +02:00
Tilman Vatteroth
4c384cc8de
test: add test for get note interceptor
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-19 19:10:45 +02:00
Tilman Vatteroth
b1dc383a7a
refactor: use "extractNoteFromRequest" in permission guard
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-19 19:10:45 +02:00
Tilman Vatteroth
ab5aebc9c4
refactor: extract "extract note from request" logic into separate function
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-19 19:10:45 +02:00
Tilman Vatteroth
65fb110a1e
refactor: move permissions decorator and guard into permissions directory
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-19 19:10:45 +02:00
Tilman Vatteroth
22f0abbfbe
fix: remove redundant permission guard annotations
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-19 19:10:45 +02:00
renovate[bot]
4b44277660
fix(deps): update dependency rimraf to v5.0.1
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-18 03:43:38 +00:00
renovate[bot]
2707c76fa3
chore(deps): update nestjs packages
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-17 21:55:02 +02:00
renovate[bot]
0cbcf2f23e
fix(deps): update dependency @nestjs/schedule to v2.2.2
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-17 16:38:16 +00:00
renovate[bot]
c3806f3e5b
chore(deps): update node.js to 4559bc0
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-17 02:21:52 +00:00
renovate[bot]
bf97545b5d
fix(deps): update nestjs packages
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-16 17:40:26 +02:00
renovate[bot]
a4be190005
fix(deps): update dependency @types/node-fetch to v2.6.4
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-16 13:31:03 +00:00
renovate[bot]
500ab6d8b9
chore(deps): update typescript-eslint monorepo to v5.59.6
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-16 10:01:00 +00:00
Avinash
e73d28dba1
feat(backend): added test realtime note service
...
Signed-off-by: Avinash <avinash.kumar.cs92@gmail.com>
2023-05-15 20:49:59 +02:00
Avinash
d15a8b18d9
fix(backend): updated realtime connection's acceptEdit, close connection based on permission
...
Signed-off-by: Avinash <avinash.kumar.cs92@gmail.com>
2023-05-15 20:49:59 +02:00
renovate[bot]
c6e283a111
fix(deps): update dependency pg to v8.11.0
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-15 18:16:52 +02:00
Tilman Vatteroth
e3a3690b58
refactor(realtime): solve circle dependencies in realtime-user-status-adapter.ts
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-15 17:59:28 +02:00
Tilman Vatteroth
39fff87f52
fix: migrate import code
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-12 19:14:34 +02:00
renovate[bot]
a3232a816b
chore(deps): update dependency @tsconfig/node18 to v2.0.1
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-12 19:14:34 +02:00
renovate[bot]
1af15a1aec
fix(deps): update dependency @zxcvbn-ts/language-common to v3.0.2
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-12 19:01:27 +02:00
renovate[bot]
994ef52ca7
fix(deps): update zxcvbn-ts to v3.0.1
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-11 10:02:54 +02:00
Tilman Vatteroth
23901d1454
chore: change recommended and CI node version to v20
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-10 13:43:05 +02:00
renovate[bot]
ef1c59ac51
fix(deps): update dependency typeorm to v0.3.16
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-10 01:13:25 +00:00
renovate[bot]
3e3e574dc6
fix(deps): update dependency node-fetch to v2.6.11
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-09 22:34:15 +02:00
Tilman Vatteroth
d29e840bc6
fix(realtime): allow realtime user status updates from users that have read-only access
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-09 20:33:23 +02:00
Tilman Vatteroth
b199cdba67
test: increase coverage of constructor tests
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-09 12:33:09 +02:00
Tilman Vatteroth
2f59869e12
fix: retrieve read-only state for realtime user status adapter from connection
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-09 12:33:09 +02:00
Tilman Vatteroth
f012282a41
fix: restore of test state
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-09 12:33:09 +02:00
Tilman Vatteroth
02a3b7f07b
refactor: make displayName readonly
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-09 12:33:09 +02:00
Tilman Vatteroth
3c1ea7bda9
fix: allow change of accept edits in realtime connection
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-09 12:33:09 +02:00
Tilman Vatteroth
eebbb79d08
fix: retrieve read-only state for y-doc-sync-server-adapter from connection
...
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-09 12:33:09 +02:00
renovate[bot]
0dcfb0524c
chore(deps): update dependency @types/node to v18.16.6
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-09 11:30:41 +02:00
renovate[bot]
efb96bd259
fix(deps): update dependency node-fetch to v2.6.10
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-08 21:58:37 +02:00
renovate[bot]
6698f49af5
chore(deps): update typescript-eslint monorepo to v5.59.5
...
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2023-05-08 21:48:54 +02:00
Yannick Bungers
ed3c688e8b
refactor: extract mocking in permissions.service.spec.ts
...
Signed-off-by: Yannick Bungers <git@innay.de>
2023-05-07 20:45:15 +02:00
Yannick Bungers
d73bbcaeff
fix: increase test coverage
...
Signed-off-by: Yannick Bungers <git@innay.de>
2023-05-07 20:45:15 +02:00
Yannick Bungers
dad60a25ea
fix: change logging from id to publicId in media upload
...
Signed-off-by: Yannick Bungers <git@innay.de>
2023-05-07 20:45:15 +02:00
Yannick Bungers
c20e20b30a
refactor: exclude create permission from note permission check
...
Signed-off-by: Yannick Bungers <git@innay.de>
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-07 20:45:15 +02:00
Yannick Bungers
fad5e1e22e
test: add private api tests for checkPermissionOnNote and checkMediaDeletePermission
...
Signed-off-by: Yannick Bungers <git@innay.de>
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-07 20:45:15 +02:00
Yannick Bungers
001a49329c
refactor: extract permission checking from controllers and guard
...
Signed-off-by: Yannick Bungers <git@innay.de>
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-07 20:45:15 +02:00
Yannick Bungers
485f7cd338
feat: Add guest file uploads and add deletion for note owners
...
Signed-off-by: Yannick Bungers <git@innay.de>
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-07 20:45:15 +02:00
Yannick Bungers
0f464dedfe
fix: clean up decorators in the public notes.controller.ts
...
Signed-off-by: Yannick Bungers <git@innay.de>
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-07 20:45:15 +02:00
Yannick Bungers
d369132519
fix: add CompleteRequest type to have better type checks for HTTP-Request attribute injection.
...
Signed-off-by: Yannick Bungers <git@innay.de>
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
2023-05-07 20:45:15 +02:00