mirror of
https://github.com/standardnotes/server
synced 2026-10-21 06:03:37 -04:00
wip: usecases
This commit is contained in:
@@ -2,10 +2,11 @@ import { GroupServiceInterface } from './../Domain/Group/Service/GroupServiceInt
|
||||
import { Request, Response } from 'express'
|
||||
import { BaseHttpController, controller, httpGet, httpPost, results } from 'inversify-express-utils'
|
||||
import TYPES from '../Bootstrap/Types'
|
||||
import { GroupUserServiceInterface } from '../Domain/GroupUser/Service/GroupUserService'
|
||||
|
||||
@controller('/groups')
|
||||
export class GroupsController extends BaseHttpController {
|
||||
constructor(private groupsService: GroupServiceInterface) {
|
||||
constructor(private groupsService: GroupServiceInterface, private groupUserService: GroupUserServiceInterface) {
|
||||
super()
|
||||
}
|
||||
|
||||
@@ -23,6 +24,20 @@ export class GroupsController extends BaseHttpController {
|
||||
return this.json({ group: result })
|
||||
}
|
||||
|
||||
@httpGet('/', TYPES.AuthMiddleware)
|
||||
public async getUserGroupKeys(
|
||||
_request: Request,
|
||||
response: Response,
|
||||
): Promise<results.NotFoundResult | results.JsonResult> {
|
||||
const result = await this.groupUserService.getUserGroupKeys({ userUuid: response.locals.user.uuid })
|
||||
|
||||
if (!result) {
|
||||
return this.errorResponse(500, 'Could not get user groups')
|
||||
}
|
||||
|
||||
return this.json({ groups: result })
|
||||
}
|
||||
|
||||
@httpPost('/:groupUuid/users', TYPES.AuthMiddleware)
|
||||
public async addUserToGroup(
|
||||
request: Request,
|
||||
@@ -31,8 +46,9 @@ export class GroupsController extends BaseHttpController {
|
||||
const result = await this.groupsService.addUserToGroup({
|
||||
groupUuid: request.params.groupUuid,
|
||||
ownerUuid: response.locals.user.uuid,
|
||||
inviteeUuid: request.body.inviteeUuid,
|
||||
encryptedGroupKey: request.body.encryptedGroupKey,
|
||||
inviteeUuid: request.body.invitee_uuid,
|
||||
encryptedGroupKey: request.body.encrypted_group_key,
|
||||
senderPublicKey: request.body.sender_public_key,
|
||||
})
|
||||
|
||||
if (!result) {
|
||||
@@ -42,20 +58,6 @@ export class GroupsController extends BaseHttpController {
|
||||
return this.json({ groupUser: result })
|
||||
}
|
||||
|
||||
@httpGet('/', TYPES.AuthMiddleware)
|
||||
public async getUserGroups(
|
||||
_request: Request,
|
||||
response: Response,
|
||||
): Promise<results.NotFoundResult | results.JsonResult> {
|
||||
const result = await this.groupsService.getUserGroups(response.locals.user.uuid)
|
||||
|
||||
if (!result) {
|
||||
return this.errorResponse(500, 'Could not get user groups')
|
||||
}
|
||||
|
||||
return this.json({ groups: result })
|
||||
}
|
||||
|
||||
private errorResponse(status: number, message?: string, tag?: string) {
|
||||
return this.json(
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user