ARSnova Backend issueshttps://git.thm.de/arsnova/arsnova-backend/-/issues2019-08-26T18:33:07+02:00https://git.thm.de/arsnova/arsnova-backend/-/issues/4Review event system and unify emitting of events for CRUD operations2019-08-26T18:33:07+02:00Daniel GerhardtReview event system and unify emitting of events for CRUD operationsSpring event handling got easier with 4.2:
https://spring.io/blog/2015/02/11/better-application-events-in-spring-framework-4-2
See !100, !108.Spring event handling got easier with 4.2:
https://spring.io/blog/2015/02/11/better-application-events-in-spring-framework-4-2
See !100, !108.3.0-beta1https://git.thm.de/arsnova/arsnova-backend/-/issues/42Default content group is persisted in some cases2019-08-26T18:32:09+02:00Daniel GerhardtDefault content group is persisted in some casesIt can happen that the default content group of a room is persisted. As a result multiple default content groups can exist which leads to unintended behavior.
Steps to reproduce:
1. Create multiple contents
2. Delete a content
3. Load t...It can happen that the default content group of a room is persisted. As a result multiple default content groups can exist which leads to unintended behavior.
Steps to reproduce:
1. Create multiple contents
2. Delete a content
3. Load the room. The entity now contains two default content groups.3.0-beta1Daniel GerhardtDaniel Gerhardthttps://git.thm.de/arsnova/arsnova-backend/-/issues/11Ensure Java 11 (LTS) compatibility2019-08-26T18:31:15+02:00Daniel GerhardtEnsure Java 11 (LTS) compatibility3.0-beta1https://git.thm.de/arsnova/arsnova-backend/-/issues/12Review blocker issues detected by static code analysis2019-08-26T18:30:57+02:00Daniel GerhardtReview blocker issues detected by static code analysis3.0-beta1https://git.thm.de/arsnova/arsnova-backend/-/issues/47Broken parameter bindings for registration and PW reset mails2019-08-10T23:08:48+02:00Daniel GerhardtBroken parameter bindings for registration and PW reset mailsRegression introduces by YAML config related changes in commit aaff71fe49ae37607675b59a8acd582a155c0d82.Regression introduces by YAML config related changes in commit aaff71fe49ae37607675b59a8acd582a155c0d82.3.0-beta1Daniel GerhardtDaniel Gerhardthttps://git.thm.de/arsnova/arsnova-backend/-/issues/36Room moderators2019-07-07T12:47:55+02:00Daniel GerhardtRoom moderatorsAllow room owners to select multiple users as moderators.
Proposal:
* Add a new property `moderators` of type `List<String>` which will contain user IDs to `Room` entity for internal use/persistence only.
* Add new API endpoints:
* ...Allow room owners to select multiple users as moderators.
Proposal:
* Add a new property `moderators` of type `List<String>` which will contain user IDs to `Room` entity for internal use/persistence only.
* Add new API endpoints:
* `GET /room/<Room ID>/moderators`
Response body: `[{"userId": "<User ID>", "roles": ["<Role>"]}]`
* `PUT /room/<Room ID>/moderators/<User ID>`
Request body: `{}` (adds default role `EXECUTIVE_MODERATOR`) or `{"roles": ["<Role>"]}`
* `DELETE /room/<Room ID>/moderators/<User ID>`
* Add new `UserFindQuerySerivce` to lookup user ID by login ID.
* Moderators have the same permissions as the owner but cannot delete the room.
* Adding different roles for moderators might be useful ~~but I wouldn't include this in an initial implementation~~.
* Roles:
* `EDITING_MODERATOR` has almost all permissions the owner has (cannot delete room).
* `EXECUTIVE_MODERATOR` has moderating permissions (delete comments/answers).
(NYI for comment micro service, 07.07.19)
@cthl58 @lmas60 @tksl38: Any thoughts?
Edit (03.06.):
Frontend-Workflow to add new mods:
1. Room owner enters `loginId` of the new mod
2. FE looks up `userId` via POST request to `/user/find`:
```
{
"properties": {
"loginId": "..."
}
}
```
3. FE receives list of users (`loginId` alone is not unique)
4. FE sends PUT request to `/room/<room ID>/moderator/<user ID>`3.0-beta1Daniel GerhardtDaniel Gerhardthttps://git.thm.de/arsnova/arsnova-backend/-/issues/21Determine how content visibility is handled related to content groups2019-07-04T15:29:48+02:00Daniel GerhardtDetermine how content visibility is handled related to content groups3.0-beta1https://git.thm.de/arsnova/arsnova-backend/-/issues/37Implement role-based views API endpoints2019-05-28T15:32:58+02:00Daniel GerhardtImplement role-based views API endpoints* Introduction of a global `viewas` query parameter for `GET` requests.
* The security system checks if the current user is allowed to view the object as the specified role.
* A Jackson JsonView (`Public.class`, `Owner.class`, `Admin.cla...* Introduction of a global `viewas` query parameter for `GET` requests.
* The security system checks if the current user is allowed to view the object as the specified role.
* A Jackson JsonView (`Public.class`, `Owner.class`, `Admin.class`) is chosen based on this parameter to select properties for inclusion in serialization.3.0-beta1Daniel GerhardtDaniel Gerhardthttps://git.thm.de/arsnova/arsnova-backend/-/issues/29NPE related to ContentGroups after editing Contents2018-11-22T15:53:03+01:00Daniel GerhardtNPE related to ContentGroups after editing ContentsThis might have been introduced by https://git.thm.de/arsnova/arsnova-backend/merge_requests/94.
@tksl38This might have been introduced by https://git.thm.de/arsnova/arsnova-backend/merge_requests/94.
@tksl383.0-beta1Daniel GerhardtDaniel Gerhardthttps://git.thm.de/arsnova/arsnova-backend/-/issues/30Get content with groups2018-11-22T15:53:02+01:00Tom KäslerGet content with groupsCurrently, the backend doesn't return the group(s) a content is in.Currently, the backend doesn't return the group(s) a content is in.3.0-beta1Daniel GerhardtDaniel Gerhardthttps://git.thm.de/arsnova/arsnova-backend/-/issues/6Use modern logging framework (SLF4J with Logback instead of Log4j)2018-10-09T09:23:04+02:00Daniel GerhardtUse modern logging framework (SLF4J with Logback instead of Log4j)3.0-beta1https://git.thm.de/arsnova/arsnova-backend/-/issues/19couchdb can't be set up without migrating from a v2 db2018-08-12T18:27:06+02:00Tom Käslercouchdb can't be set up without migrating from a v2 dbCurrently, there has to be an old database to migrate from.Currently, there has to be an old database to migrate from.3.0-beta1Daniel GerhardtDaniel Gerhardt