Commit graph

419 commits

Author SHA1 Message Date
Philip Molares
e538056252
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 16:11:51 +01:00
Philip Molares
13955aebe5
NotesE2ETests: Ensure posting the same note alias twice fails
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-20 16:10:30 +01:00
Philip Molares
bafe379cc3
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 16:09:22 +01:00
Philip Molares
128d861512
NotesService: Finished hardcoded functions
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-20 16:09:02 +01:00
Philip Molares
ff61fea96f
Errors: Add AlreadyInDB and PermissionsUpdateInconsistent error
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-20 16:07:09 +01:00
Philip Molares
b1683a5c64
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 11:41:15 +01:00
Philip Molares
292944ed78
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
195aeed5eb
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
aa97a87316
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
Renovate Bot
1df4039b79
Update dependency @types/node to v13.13.45
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-20 10:17:41 +00:00
David Mehren
54a26ae751
Document supported databases in 2.0
Closes #447

Signed-off-by: David Mehren <git@herrmehren.de>
2021-02-19 12:50:16 +01:00
David Mehren
f7607fae54
Add intention of 2.0 development docs
Signed-off-by: David Mehren <git@herrmehren.de>
2021-02-19 12:43:55 +01:00
Renovate Bot
3c74a6791a
Update dependency @types/node to v13.13.44
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-19 05:29:49 +00:00
Philip Molares
bb04da46be
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-17 13:20:54 +01:00
Philip Molares
3953f6893b
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-17 13:15:26 +01:00
Yannick Bungers
9ac4134198
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-13 14:04:16 +01:00
Yannick Bungers
606d271296
Add guest permission mock and checking
mocked by attribute of permission service

Signed-off-by: Yannick Bungers <git@innay.de>
2021-02-13 14:00:29 +01:00
Yannick Bungers
48dedfead8
Add permission checks for notes routes
Signed-off-by: Yannick Bungers <git@innay.de>
2021-02-16 09:33:42 +01:00
Yannick Bungers
838b95b8c2
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-16 09:32:58 +01:00
Yannick Bungers
68cbb5a9c2
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-01-27 22:58:55 +01:00
Philip Molares
8a33f75cf9
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-01-10 21:51:08 +01:00
Renovate Bot
ece4df5aee
Update dependency @nestjs/cli to v7.5.5
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-17 09:08:29 +00:00
Renovate Bot
949abc21eb
Lock file maintenance
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-16 21:43:40 +00:00
Philip Molares
ba553f28da
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-06 13:14:26 +01:00
Renovate Bot
41d6121d51
Pin dependency nest-router to 1.0.9
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-16 21:07:58 +00:00
Philip Molares
a4075bff54
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-14 17:37:05 +01:00
Philip Molares
ea4ccc76e4
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-15 07:39:52 +01:00
Philip Molares
698dd1a634
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-15 10:26:12 +01:00
Philip Molares
0366cb491f
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-13 22:58:44 +01:00
Philip Molares
3ebea8ed77
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-13 22:12:19 +01:00
Philip Molares
c4289c9693
MediaService: Add JS-Docs to media service
Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-13 22:06:33 +01:00
Renovate Bot
24a5f2646a
Update dependency typeorm to v0.2.31
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-16 19:17:45 +00:00
Renovate Bot
4979b9c5bc
Update dependency @types/node to v13.13.42
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-16 19:14:30 +00:00
Renovate Bot
540aae7dd5
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
96fd807d37
Update linters to v4.15.1
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-16 19:09:10 +00:00
Renovate Bot
5d1854483b
Update dependency sqlite3 to v5.0.2
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-16 19:08:39 +00:00
Philip Molares
c4875ff8ca
Package.json: Switch yarn format and format:check
Make `yarn format` check the files and `yarn format:fix` do the actually
fixing

fixes #920

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-16 10:28:55 +01:00
Renovate Bot
9b211cec6f
Update dependency eslint to v7.20.0
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-13 00:59:10 +00:00
Renovate Bot
9338d2c2cd
Update linters
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-12 22:27:03 +00:00
Renovate Bot
08a02de19b
Update dependency typescript to v4.1.5
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-12 22:21:49 +00:00
Renovate Bot
0ee37cf37b
Update dependency ts-jest to v26.5.1
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-12 22:21:20 +00:00
Renovate Bot
f3f3708451
Update dependency ts-loader to v8.0.17
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-12 22:17:13 +00:00
Renovate Bot
d8f3792bf1
Update dependency mkdocs-material to v6.2.8
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-12 22:11:16 +00:00
Renovate Bot
be8e06032c
Update dependency joi to v17.4.0
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-12 22:11:05 +00:00
Renovate Bot
8ce096b7f5
Update dependency @types/node to v13.13.41
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-12 22:03:57 +00:00
Renovate Bot
38151e4702
Update NestJS packages
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2021-02-12 21:55:30 +00:00
Hugo Peixoto
06bcb4ae1a
Remove license of deleted file
config.json.example was deleted, but the license file was not. This
removes the leftover file.

Signed-off-by: Hugo Peixoto <hugo.peixoto@gmail.com>
2021-02-10 09:57:30 +00:00
Philip Molares
5edf5f1676
Tests: Fix GET /me e2e test
Since the /me route does work now, we should reactivate (and fix) this test, too.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-03 16:20:27 +01:00
Philip Molares
07dc15b127
Dev Docs: Add configuration to navigation
This makes it possible to access the developer documentation about configuration code.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-03 20:58:16 +01:00
Philip Molares
b2009ebab9
Dev Docs: Add .env.example file
This file contains a minimal working config to get the backend up and running.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
2021-02-03 20:51:36 +01:00