feat(web,server): activity (#4682)

* feat: activity

* regenerate api

* fix: make asset owner unable to delete comment

* fix: merge

* fix: tests

* feat: use textarea instead of input

* fix: do actions only if the album is shared

* fix: placeholder opacity

* fix(web): improve messages UI

* fix(web): improve input message UI

* pr feedback

* fix: tests

* pr feedback

* pr feedback

* pr feedback

* fix permissions

* regenerate api

* pr feedback

* pr feedback

* multiple improvements on web

* fix: ui colors

* WIP

* chore: open api

* pr feedback

* fix: add comment

* chore: clean up

* pr feedback

* refactor: endpoints

* chore: open api

* fix: filter by type

* fix: e2e

* feat: e2e remove own comment

* fix: web tests

* remove console.log

* chore: cleanup

* fix: ui tweaks

* pr feedback

* fix web test

* fix: unit tests

* chore: remove unused code

* revert useless changes

* fix: grouping messages

* fix: remove nullable on updatedAt

* fix: text overflow

* styling

---------

Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
This commit is contained in:
martin
2023-11-01 04:13:34 +01:00
committed by GitHub
parent 68f6446718
commit ce5966c23d
66 changed files with 4487 additions and 38 deletions

View File

@@ -1,6 +1,194 @@
{
"openapi": "3.0.0",
"paths": {
"/activity": {
"get": {
"operationId": "getActivities",
"parameters": [
{
"name": "albumId",
"required": true,
"in": "query",
"schema": {
"format": "uuid",
"type": "string"
}
},
{
"name": "assetId",
"required": false,
"in": "query",
"schema": {
"format": "uuid",
"type": "string"
}
},
{
"name": "type",
"required": false,
"in": "query",
"schema": {
"$ref": "#/components/schemas/ReactionType"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/ActivityResponseDto"
},
"type": "array"
}
}
},
"description": ""
}
},
"security": [
{
"bearer": []
},
{
"cookie": []
},
{
"api_key": []
}
],
"tags": [
"Activity"
]
},
"post": {
"operationId": "createActivity",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityCreateDto"
}
}
},
"required": true
},
"responses": {
"201": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityResponseDto"
}
}
},
"description": ""
}
},
"security": [
{
"bearer": []
},
{
"cookie": []
},
{
"api_key": []
}
],
"tags": [
"Activity"
]
}
},
"/activity/statistics": {
"get": {
"operationId": "getActivityStatistics",
"parameters": [
{
"name": "albumId",
"required": true,
"in": "query",
"schema": {
"format": "uuid",
"type": "string"
}
},
{
"name": "assetId",
"required": false,
"in": "query",
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityStatisticsResponseDto"
}
}
},
"description": ""
}
},
"security": [
{
"bearer": []
},
{
"cookie": []
},
{
"api_key": []
}
],
"tags": [
"Activity"
]
}
},
"/activity/{id}": {
"delete": {
"operationId": "deleteActivity",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"schema": {
"format": "uuid",
"type": "string"
}
}
],
"responses": {
"204": {
"description": ""
}
},
"security": [
{
"bearer": []
},
{
"cookie": []
},
{
"api_key": []
}
],
"tags": [
"Activity"
]
}
},
"/album": {
"get": {
"operationId": "getAllAlbums",
@@ -5512,6 +5700,77 @@
],
"type": "object"
},
"ActivityCreateDto": {
"properties": {
"albumId": {
"format": "uuid",
"type": "string"
},
"assetId": {
"format": "uuid",
"type": "string"
},
"comment": {
"type": "string"
},
"type": {
"$ref": "#/components/schemas/ReactionType"
}
},
"required": [
"albumId",
"type"
],
"type": "object"
},
"ActivityResponseDto": {
"properties": {
"assetId": {
"nullable": true,
"type": "string"
},
"comment": {
"nullable": true,
"type": "string"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"id": {
"type": "string"
},
"type": {
"enum": [
"comment",
"like"
],
"type": "string"
},
"user": {
"$ref": "#/components/schemas/UserDto"
}
},
"required": [
"id",
"createdAt",
"type",
"user",
"assetId"
],
"type": "object"
},
"ActivityStatisticsResponseDto": {
"properties": {
"comments": {
"type": "integer"
}
},
"required": [
"comments"
],
"type": "object"
},
"AddUsersDto": {
"properties": {
"sharedUserIds": {
@@ -7432,6 +7691,13 @@
],
"type": "object"
},
"ReactionType": {
"enum": [
"comment",
"like"
],
"type": "string"
},
"RecognitionConfig": {
"properties": {
"enabled": {
@@ -8757,6 +9023,33 @@
],
"type": "object"
},
"UserDto": {
"properties": {
"email": {
"type": "string"
},
"firstName": {
"type": "string"
},
"id": {
"type": "string"
},
"lastName": {
"type": "string"
},
"profileImagePath": {
"type": "string"
}
},
"required": [
"id",
"firstName",
"lastName",
"email",
"profileImagePath"
],
"type": "object"
},
"UserResponseDto": {
"properties": {
"createdAt": {
@@ -8810,12 +9103,12 @@
},
"required": [
"id",
"email",
"firstName",
"lastName",
"email",
"profileImagePath",
"storageLabel",
"externalPath",
"profileImagePath",
"shouldChangePassword",
"isAdmin",
"createdAt",