feat(server): add admin membership management endpoints
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,9 @@ import {
|
|||||||
Controller,
|
Controller,
|
||||||
Get,
|
Get,
|
||||||
Put,
|
Put,
|
||||||
|
Delete,
|
||||||
Body,
|
Body,
|
||||||
|
Param,
|
||||||
Query,
|
Query,
|
||||||
UseGuards,
|
UseGuards,
|
||||||
} from '@nestjs/common'
|
} from '@nestjs/common'
|
||||||
@@ -13,6 +15,7 @@ import { Roles } from '../auth/roles.decorator'
|
|||||||
import { CurrentUser } from '../common/decorators/current-user.decorator'
|
import { CurrentUser } from '../common/decorators/current-user.decorator'
|
||||||
import { UserService } from './user.service'
|
import { UserService } from './user.service'
|
||||||
import { UpdateProfileDto } from './dto/update-profile.dto'
|
import { UpdateProfileDto } from './dto/update-profile.dto'
|
||||||
|
import { UpdateUserMembershipDto } from './dto/update-user-membership.dto'
|
||||||
|
|
||||||
const VALID_CARD_TYPES = new Set<string>(Object.values(CardTypeCategory))
|
const VALID_CARD_TYPES = new Set<string>(Object.values(CardTypeCategory))
|
||||||
|
|
||||||
@@ -61,4 +64,28 @@ export class UserController {
|
|||||||
validCardType,
|
validCardType,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Get('admin/members/:userId/membership')
|
||||||
|
@UseGuards(RolesGuard)
|
||||||
|
@Roles(UserRole.ADMIN)
|
||||||
|
getUserMembership(@Param('userId') userId: string) {
|
||||||
|
return this.userService.getUserMembership(userId)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Put('admin/members/:userId/membership')
|
||||||
|
@UseGuards(RolesGuard)
|
||||||
|
@Roles(UserRole.ADMIN)
|
||||||
|
updateUserMembership(
|
||||||
|
@Param('userId') userId: string,
|
||||||
|
@Body() dto: UpdateUserMembershipDto,
|
||||||
|
) {
|
||||||
|
return this.userService.updateUserMembership(userId, dto)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Delete('admin/members/:userId/membership')
|
||||||
|
@UseGuards(RolesGuard)
|
||||||
|
@Roles(UserRole.ADMIN)
|
||||||
|
deleteUserMembership(@Param('userId') userId: string) {
|
||||||
|
return this.userService.deleteUserMembership(userId)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user