Commit graph

1435 commits

Author SHA1 Message Date
Renovate Bot
0d19dc15cf chore(deps): update node.js to e4a152d
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-26 04:36:52 +00:00
David Mehren
05b8987747 ci: add docker image cleanup workflow
This adds a daily CI workflow to delete old tags from the
'hedgedoc-ci' image.

Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-21 14:57:27 +01:00
David Mehren
5078b863c6 ci: build and test docker image
This adds a new workflow performing these steps:
- A development docker image is built and pushed to GHCR as
  'hedgedoc-ci' labeled with the commit hash
- Tests are run with the image
- If the tests are successful, a production image is built and
  pushed to GHCR as 'hedgedoc' labeled with the branch, version tag
  if available and the commit hash

At a later time, the built dev image can also be used to run E2E tests
with the other supported databases. Currently, this is not yet possible,
as the database is always expected to run on localhost, not other hosts.

Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-21 14:57:27 +01:00
Renovate Bot
f02f006359 chore(deps): lock file maintenance
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-21 05:49:13 +00:00
Renovate Bot
31b478bda9 chore(deps): update dependency pymdown-extensions to v9.3
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-20 19:55:19 +01:00
Renovate Bot
713285c1c3 chore(deps): update linters to v5.15.0
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-20 19:54:47 +01:00
Renovate Bot
d31fd48538 fix(deps): update dependency @nestjs/config to v2
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-20 19:54:23 +01:00
Renovate Bot
93a6323bb7 chore(deps): update dependency eslint-plugin-jest to v26.1.2
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-20 03:25:35 +00:00
Renovate Bot
119a7ee3e0 chore(deps): update node.js to 1ef397a
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-19 09:55:33 +00:00
Renovate Bot
841c978915 chore(deps): update nestjs packages
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-18 20:10:56 +00:00
Renovate Bot
8479fafca1 chore(deps): update dependency prettier to v2.6.0
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-18 18:25:30 +01:00
Renovate Bot
a779492867 chore(deps): update dependency tsconfig-paths to v3.14.0
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-14 09:44:58 +01:00
Renovate Bot
620f51eaa4 fix(deps): update dependency @azure/storage-blob to v12.9.0
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-14 09:44:50 +01:00
Renovate Bot
8fa7e9cf57 chore(deps): lock file maintenance
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-14 04:26:48 +00:00
Yannick Bungers
2650a986a9 Fix e2e test for moved permission functions
Signed-off-by: Yannick Bungers <git@innay.de>
2022-03-13 21:33:02 +01:00
Yannick Bungers
a1fd52d8ab fix param description of updateNotePermissions
Signed-off-by: Yannick Bungers <git@innay.de>
2022-03-13 21:33:02 +01:00
Yannick Bungers
f096d706c8 optimize readability of find calls
Signed-off-by: Yannick Bungers <git@innay.de>
2022-03-13 21:33:02 +01:00
Yannick Bungers
70d7ca5475 Move permission update functions to permissions controller
Signed-off-by: Yannick Bungers <git@innay.de>
2022-03-13 21:33:02 +01:00
Yannick Bungers
e1e3138561 Add permissions service to test-setup
Signed-off-by: Yannick Bungers <git@innay.de>
2022-03-13 21:33:02 +01:00
Yannick Bungers
4dd2762be2 Add unit tests for new notes service methods
setUserPermission
removeUserPermission
setGroupPermission
removeGroupPermission
changeOwner

Signed-off-by: Yannick Bungers <git@innay.de>
2022-03-13 21:33:02 +01:00
Yannick Bungers
0a3271e4a5 Add GroupsModule import to public API module
Signed-off-by: Yannick Bungers <git@innay.de>
2022-03-13 21:33:02 +01:00
Yannick Bungers
647990022b Add API routes for fine-grained permission manipulation
Signed-off-by: Yannick Bungers <git@innay.de>

fix lint

Signed-off-by: Yannick Bungers <git@innay.de>
2022-03-13 21:33:02 +01:00
Yannick Bungers
20ebb41197 Add service functions for fine-grained permission API calls
Signed-off-by: Yannick Bungers <git@innay.de>
2022-03-13 21:33:02 +01:00
David Mehren
3e096e9cbe fix(note-user-permission): ensure whole row gets deleted
By default, TypeORM wants to NULL the child-side of a
many-to-one relation, when the relation gets deleted.
This is not possible when the column is not nullable,
so the whole row needs to get deleted.

Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-13 21:33:02 +01:00
Renovate Bot
264013430e chore(deps): update dependency http-proxy-middleware to v2.0.4
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-13 18:33:25 +00:00
Renovate Bot
9efb50f7e2 fix(deps): update dependency rxjs to v7.5.5
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-12 09:04:09 +00:00
Renovate Bot
dee52d0cad chore(deps): update linters
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-12 10:03:21 +01:00
Renovate Bot
df42e8bde8 chore(deps): update node.js to 8c62619
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-12 06:20:26 +00:00
Renovate Bot
d144442bcf chore(deps): update dependency @nestjs/schematics to v8.0.8
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-12 03:47:57 +00:00
Renovate Bot
5abc2a7a71 chore(deps): update node.js to v17
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-07 14:32:30 +01:00
Renovate Bot
981e2d423e chore(deps): update dependency @types/pg to v8.6.5
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-07 14:25:44 +01:00
Renovate Bot
c6db04ae2e chore(deps): pin dependencies
Signed-off-by: Renovate Bot <bot@renovateapp.com>
2022-03-07 14:19:31 +01:00
David Mehren
c72bf5d851
ci: enable renovate digest pinning
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 14:18:46 +01:00
David Mehren
3fc8c0ccc7 ci: configure renovate for docker
See https://docs.renovatebot.com/docker/

Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:55:07 +01:00
David Mehren
4c79d18e1f feat: add a dockerfile
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:55:07 +01:00
David Mehren
2ae8b0c44f refactor(frontend-integration): inline-import http-proxy-middleware
If no dev-dependencies are installed, the unconditional
import crashes the app.

Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:55:07 +01:00
David Mehren
4f40366e91 build: add workspace-tools yarn plugin
This is needed to install production-only dependencies
in Docker containers.

Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:55:07 +01:00
David Mehren
e7ca10bb66 refactor(history-entry-import-dto): rename lastVisited -> lastVisitedAt
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:54:43 +01:00
David Mehren
2605e8894d refactor(media-service): delete unused method
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:54:43 +01:00
David Mehren
c16d5bb79e fix(revision): DTOs should correctly extend BaseDto
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:54:43 +01:00
David Mehren
09ec447069 feat(note): save createdAt in a separate column
To keep the createdAt date stable, even when the revisions are dropped,
this adds a separate column
 to store this data separately from revisions.

Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:54:43 +01:00
David Mehren
342efcd7b7 feat(note-metadata): replace primaryAlias with primaryAddress
The primary address is never null.
If no alias is set, the id is returned.

To still easily get the primary alias, the complete Alias DTOs
are now included in the metadata.

Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:54:43 +01:00
David Mehren
64b16c831e refactor(register-dto): rename displayname -> displayName
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:54:43 +01:00
David Mehren
6f1bdcbaa5 feat(revision): include author details in metadata dto
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:54:43 +01:00
David Mehren
a9f27731bd refactor(revision): make RevisionDto extend RevisionMetadataDto
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:54:43 +01:00
David Mehren
3ea42fb048 feat(revision): include length in dto
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:54:43 +01:00
David Mehren
7050c9f13b feat(revision): include edits in dto
Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:54:43 +01:00
David Mehren
50c8f39c0c feat(note): add version attribute
This attribute was defined in the dev docs,
but never implemented.

Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:54:43 +01:00
David Mehren
6944094b9b fix(api/private/me): require and document displayName
This renames the argument in the POST /profile route to `displayName`
to be more consistent with the UserDTO.

It also adds OpenAPI docs.

Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:54:43 +01:00
David Mehren
d6ea4d29fe feat(api/private/me): include authProvider in UserInfo
This information is supposed to be used by the frontend
to identify the login method that was used.

The used login method is saved as a string into the session data
and extracted via a new SessionAuthProvider decorator.

Signed-off-by: David Mehren <git@herrmehren.de>
2022-03-07 13:54:43 +01:00