Commit graph

3229 commits

Author SHA1 Message Date
Philip Molares
5f49cb8d48 NotesService: Replace noteByIdOrAlias with note as parameter
As the NotesController has the note already, because it checked with it if the user has the permission to perform the action, it's not necessary to get the note from the DB again, instead we should just provide the note to the functions directly.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-20 19:51:27 +01:00
Philip Molares
c9b05b3c44 NotesController: Handle new errors
Handle the AlreadyInDB and PermissionsUpdateInconsistent errors and correctly show them to the api user as BadRequest errors.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-20 19:51:27 +01:00
Philip Molares
54286d589d NotesE2ETests: Ensure posting the same note alias twice fails
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-20 19:51:27 +01:00
Philip Molares
93d859647d NotesService: Add unit tests
Fixed toUserDto method of UsersService: If a user has no email an empty string should be returned (like with the photoUrl) instead of null.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-20 19:51:24 +01:00
Philip Molares
4332b039d6 NotesService: Finished hardcoded functions
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-20 19:45:16 +01:00
Philip Molares
8b29e32e45 Errors: Add AlreadyInDB and PermissionsUpdateInconsistent error
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-20 16:54:08 +01:00
Philip Molares
34087561e7 GroupsService: Create new GroupsService
This service is necessary as we plan to have functions to create and manipulate groups in the future.
The GroupInfoDto was moved from the file note-permissions.dto.ts to mimic the UserInfoDto.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-20 16:52:18 +01:00
Philip Molares
577811be29 NotePermissions: Remove default constructors
As discussed in #835 we don't want to have default constructors and prefer .create methods.
Because the created NoteGroupPermission and NoteUserPermission are not saved to the DB by themselves, but are saved via a change to the Note using a Pick<Class, attributes>-style return type is not helpful here as every single time the .create functions are called a full object is required.
The mock calls in the PermissionService test are not needed and break the .create calls so they got removed.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-20 11:38:50 +01:00
Philip Molares
353384435e NotesService: Add JsDoc strings to all functions
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-20 11:28:19 +01:00
Philip Molares
336117cef5 NotesService: Rename getCurrentContent to getNoteContentByNote
The new name should better explain what this functions does.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-19 13:36:01 +01:00
David Mehren
0131297fbb
Merge pull request #931 from hedgedoc/renovate/develop-definitelytyped
Update dependency @types/node to v13.13.44 (develop)
2021-02-19 11:35:25 +01:00
Renovate Bot
099d9c684c
Update dependency @types/node to v13.13.44
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-19 05:29:49 +00:00
Yannick Bungers
c6bc0dc85c
Merge pull request #777 from hedgedoc/feat/permissionchecking 2021-02-18 22:52:36 +01:00
Philip Molares
8e9717c92a NotesE2E: Fix e2e test
split success and fail cases in separate tests for better readability
add the correct user to all notes created by service (instead of api) to make the permissions checks viable.
extracted test content of notes to a global variable.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-18 22:25:55 +01:00
Philip Molares
1aa821460f NotesController: Catch NotInDBErrors from permission checks
The permission check also tries to get the note and a non existing note needs to be handled there too.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-18 22:25:55 +01:00
Yannick Bungers
0fc9c11a41 Add test for permission service
Many tests are generated and not static like in other files.

Signed-off-by: Yannick Bungers <git@innay.de>
2021-02-18 22:25:55 +01:00
Yannick Bungers
0ea7991e36 Add guest permission mock and checking
mocked by attribute of permission service

Signed-off-by: Yannick Bungers <git@innay.de>
2021-02-18 22:25:55 +01:00
Yannick Bungers
a694d71fff Add permission checks for notes routes
Signed-off-by: Yannick Bungers <git@innay.de>
2021-02-18 22:25:55 +01:00
Yannick Bungers
f40ed5db2a Add permissions Service
Checks if the given user has sufficient rights on the given resource.

Signed-off-by: Yannick Bungers <git@innay.de>
2021-02-18 22:25:55 +01:00
Yannick Bungers
f8e07f6940 Add relation between User and Group
This represents the users which are members of this group

Signed-off-by: Yannick Bungers <git@innay.de>
2021-02-18 22:25:52 +01:00
David Mehren
910f634b5f
Merge pull request #710 from hedgedoc/docs/toolbar
added interface documentation for the toolbar
2021-02-18 20:49:17 +01:00
David Mehren
cb339297c9
Merge pull request #924 from hedgedoc/renovate/develop-nestjs-packages
Update dependency @nestjs/cli to v7.5.5 (develop)
2021-02-18 20:48:46 +01:00
Renovate Bot
c9ae443dda
Update dependency @nestjs/cli to v7.5.5
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-17 09:08:29 +00:00
David Mehren
3c565501ed
Merge pull request #915 from hedgedoc/renovate/develop-lock-file-maintenance
Lock file maintenance (develop)
2021-02-16 22:46:22 +01:00
Renovate Bot
51e83392f5
Lock file maintenance
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-16 21:43:40 +00:00
David Mehren
669688c12f
Merge pull request #847 from hedgedoc/test/authServiceUnitRewrite
Tests: Rewrote AuthService unit test
2021-02-16 22:29:14 +01:00
Philip Molares
680ca4188f Tests: Rewrote AuthService unit test
The unit test now uses per test mocking of the necessary functions instead of one mock in the beforeEach call.
Also some tests got expanded to cover more error cases.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-16 22:25:37 +01:00
David Mehren
39a09533bb
Merge pull request #922 from hedgedoc/renovate/develop-pin-dependencies
Pin dependency nest-router to 1.0.9 (develop)
2021-02-16 22:23:02 +01:00
Renovate Bot
215c47dcf9
Pin dependency nest-router to 1.0.9
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-16 21:07:58 +00:00
David Mehren
0eb2c62f1e
Merge pull request #910 from hedgedoc/fix/exampleEnv 2021-02-16 22:02:02 +01:00
David Mehren
2367e3c31b
Merge pull request #912 from hedgedoc/feature/serverUploads
StaticServe: Fix serving images under uploads/
2021-02-16 21:50:35 +01:00
David Mehren
77f00d961a
Merge pull request #916 from hedgedoc/feature/prefixPublicApi
PublicApi: Add correct prefix
2021-02-16 21:49:54 +01:00
David Mehren
33c1c4bb88
Merge pull request #909 from hedgedoc/feature/media 2021-02-16 21:41:33 +01:00
Philip Molares
604e08df6b Media E2E Tests: Delete uploaded files after test
Remove uploaded files after media e2e tests ran
Remove /uploads/ folder after all media e2e tests ran
This way the uploads folder doesn't grow while working on other e2e tests

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-16 21:23:24 +01:00
Philip Molares
e6c1cc7810 MediaService: Add unit tests
The file test.zip is used to fail the saveFile test with 'MIME Type not supported'

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-16 21:12:23 +01:00
Philip Molares
14ec1ca120 Docs: Add interface documentation for the toolbar
This documentation explains HedgeDoc's toolbar to new users.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-16 20:59:03 +01:00
Philip Molares
3120d2dfb9 MediaService: Add JS-Docs to media service
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-16 20:25:33 +01:00
Philip Molares
bc51b648f7 Config: Fix .env.example file
The old upload path was 'public/uploads'. As there is no public anymore, we should at least keep uploads.
So basically this is a typo fix

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-16 20:25:05 +01:00
Philip Molares
05ac7dc4ae StaticServe: Fix serving images under uploads/
This did not work until now, because path and prefix were swapped.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-16 20:22:49 +01:00
David Mehren
bf60ceea3e
Merge pull request #904 from hedgedoc/renovate/develop-typeorm-0.x
Update dependency typeorm to v0.2.31 (develop)
2021-02-16 20:20:16 +01:00
Philip Molares
73113dc361 PublicApi: Add correct prefix
Using nest-router for this purpose as it is a rather easy addition to our structure. As we don't add the Router to any e2e tests we don't need to change them.

fixes #523

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-16 20:19:45 +01:00
Renovate Bot
d3e6a15eb0
Update dependency typeorm to v0.2.31
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-16 19:17:45 +00:00
David Mehren
b09fdd1f93
Merge pull request #913 from hedgedoc/renovate/develop-definitelytyped
Update dependency @types/node to v13.13.42 (develop)
2021-02-16 20:17:15 +01:00
David Mehren
c33c2578be
Merge pull request #911 from hedgedoc/renovate/develop-class-transformer-0.x 2021-02-16 20:17:08 +01:00
Renovate Bot
861a970b8c
Update dependency class-transformer to v0.4.0
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-16 19:14:45 +00:00
Renovate Bot
b1bc079274
Update dependency @types/node to v13.13.42
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-16 19:14:30 +00:00
David Mehren
ca7c253af1
Merge pull request #918 from hedgedoc/renovate/develop-linters 2021-02-16 20:12:08 +01:00
David Mehren
690b0b1211
Merge pull request #919 from hedgedoc/renovate/develop-sqlite3-5.x
Update dependency sqlite3 to v5.0.2 (develop)
2021-02-16 20:11:24 +01:00
Renovate Bot
d3790bf5dc
Update linters to v4.15.1
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-16 19:09:10 +00:00
Renovate Bot
772b2fac1d
Update dependency sqlite3 to v5.0.2
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-16 19:08:39 +00:00