David Mehren
9cae7e34dc
NotesService: Get more note metadata from the database
...
Some previously hardcoded metadata-values are now retrieved from the database.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-09-19 17:40:50 +02:00
David Mehren
30a0b25094
UsersService: Add toUserDto()
converter
...
This conversion function makes sure that a photo URL exists.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-09-19 17:33:29 +02:00
David Mehren
eee8668317
NoteUtils: Add methods to parse note metadata
...
These methods are intended to parse metadata details from YAML tags, but not implemented for now.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-09-19 17:32:08 +02:00
David Mehren
243fcabcaf
NoteEntity: Always initialize arrays
...
The `create()` function did not initialize all arrays, which caused them to be `undefined` instead of empty.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-09-19 17:30:58 +02:00
David Mehren
58e2932c1a
RevisionEntity: Add create()
method
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-09-19 16:04:30 +02:00
David Mehren
32a6396a50
NotesService: createNote()
now saves new notes to the database
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-09-19 16:01:32 +02:00
David Mehren
2261b81139
NoteEntity: Move constructor-code to create() method
...
TypeORM does not like having application code in the constructor (https://github.com/typeorm/typeorm/issues/1772#issuecomment-514787854 ), therefore that is moved into a new `create() static method. Additionally, the constructor is now `private`, which enforces the use of the new method.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-09-19 16:00:29 +02:00
David Mehren
bb9e60d5f6
NoteEntity: Formatting fixes
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-09-19 15:57:57 +02:00
David Mehren
85fa30b27c
NoteEntity: Enable CASCADE for revision column
...
This makes creating new Notes easier, as the first Revision is automatically created in the database.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-09-19 15:57:34 +02:00
David Mehren
56817c3f91
NoteController: Do not use text/markdown as response content-type for createNote
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-09-19 15:50:58 +02:00
David Mehren
c6787ef233
NoteDto: Rename attribute metdata
to metadata
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-09-19 14:54:08 +02:00
David Mehren
93cf9c2c56
NotesController: Use custom logic to access raw markdown
...
NestJS does not support content-types other than application/json.
Therefore we need to directly access the request object to get the raw body content.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-09-19 14:51:12 +02:00
David Mehren
f007b8539c
NotesController: Add missing mock repositories for testing
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-08-20 19:57:56 +02:00
David Mehren
7f81a57634
MeController: Add missing mock repositories for testing
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-08-20 19:57:47 +02:00
David Mehren
2654f1fa36
Implement User entity.
...
This commit implements the User entity according to the database schema and adds the Identity and AuthToken entities.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-08-13 20:26:47 +02:00
David Mehren
6bee3b16cf
Add Session entity
...
This entity implements the Session interface from connect-typeorm, which we will later use to store session data from express-session.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-08-13 20:25:43 +02:00
David Mehren
ef92ab73f9
Update Note entity
...
We now use the new permissions split in users and groups. Also the note now knows the colors of its authors.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-08-13 20:24:45 +02:00
David Mehren
ba9d7a6572
Add AuthorColor entity
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-08-13 20:22:30 +02:00
David Mehren
40034a4a84
Initialize TypeORM for Group entity
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-08-13 20:22:04 +02:00
David Mehren
68a0852691
Update revision entity according to the current database scheme.
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-08-12 20:52:26 +02:00
David Mehren
0a33d8ef8d
Add authorship entity.
...
It stores which parts of a revision were edited by a particular user.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-08-12 20:51:49 +02:00
David Mehren
637b16abda
Add PermissionModule and GroupsModule
...
Both currently contain only the database entities, taken from the schema.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-08-12 20:24:43 +02:00
David Mehren
97cc2085af
Update NotesService and HistoryService to use the new permission model.
...
We now have separate sharedTo attributes for users and groups.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-08-12 20:23:48 +02:00
David Mehren
a5ffbb6e7f
Add 'special' property to GroupInfoDto and rename 'id' to 'name'
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-27 22:38:46 +02:00
David Mehren
d1bd35007e
Adapt permission DTOs for group permissions
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 22:34:04 +02:00
David Mehren
34d0578c0d
Implement routes in MonitoringController
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 21:36:54 +02:00
David Mehren
6617977a7e
Add monitoring module
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 21:36:28 +02:00
David Mehren
99614f8f3a
Add media upload route to MediaController
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 21:20:49 +02:00
David Mehren
4851e2c31c
RevisionsService: Add hardcoded-data warnings.
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 21:02:15 +02:00
David Mehren
387e4c3b99
NotesService: Add hardcoded-data warnings.
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 21:01:30 +02:00
David Mehren
82f03152a8
Implement /notes API routes
...
This adds all currently specified routes under /notes.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 21:00:18 +02:00
David Mehren
4cd574306e
Add more features to NotesService
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 20:59:12 +02:00
David Mehren
0d4c489aa5
Add update-DTOs for note permissions and permission entries.
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 20:58:40 +02:00
David Mehren
11f6358516
Add DTOs for notes and note authorship
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 20:57:51 +02:00
David Mehren
735980da7c
Add RevisionsService
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 20:57:28 +02:00
David Mehren
b8af7301a1
Add DTOs for revision and revision metadata
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 20:57:11 +02:00
David Mehren
b429326b9d
Update Revision database schema
...
Still uses the old schema, should probably be changed
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 20:55:34 +02:00
David Mehren
02de7c7d54
Add /me/notes route to MeController
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 17:29:20 +02:00
David Mehren
b05022945c
Add NotesService
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 17:28:58 +02:00
David Mehren
643adb7f9f
Log warnings when using hardcoded data.
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 17:28:32 +02:00
David Mehren
1906f44e74
Enable automatic OpenAPI spec generation.
...
NestJS can automatically generate an OpenAPI spec by analyzing controllers and used DTOs.
This commit enables this feature. The API docs are served under /apidoc.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-26 16:53:43 +02:00
David Mehren
74208468c4
Fix formatting in main.ts
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-25 20:26:10 +02:00
David Mehren
6e7d98502d
Import new modules into AppModule
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-25 20:26:00 +02:00
David Mehren
69afdd3b05
Add NoteModule
...
This contains the module, a model which was adapted from the old code and two DTOs.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-25 20:24:59 +02:00
David Mehren
35674e80c4
Add RevisionsModule
...
This contains the module and a model which still needs many properties.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-25 20:16:13 +02:00
David Mehren
4799f65aff
Add PublicAPIModule
...
This adds all controllers needed in the public API (at least as currently specified) and implements some routes under `/me`
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-25 20:13:06 +02:00
David Mehren
80e018692b
Add AuthorsModule
...
This contains the module and a model which still needs many properties.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-25 20:11:08 +02:00
David Mehren
9d4e3a54d7
Add HistoryModule
...
This contains the module, a service (which only returns mock data), a model and two DTOs for history entries.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-25 20:07:39 +02:00
David Mehren
27126bcde1
Add UsersModule
...
This contains the module, a service (which only returns mock data), a model and the UserInfo DTO.
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-25 20:06:22 +02:00
David Mehren
e53a8648b4
Add empty NestJS application
...
Signed-off-by: David Mehren <git@herrmehren.de>
2020-07-21 21:24:56 +02:00