feat: add creator member management
This commit is contained in:
@@ -70,6 +70,91 @@ func (c *Creator) CreateMemberInvite(
|
||||
return services.Tenant.CreateInvite(ctx, tenantID, user.ID, form)
|
||||
}
|
||||
|
||||
// List tenant members
|
||||
//
|
||||
// @Router /t/:tenantCode/v1/creator/members [get]
|
||||
// @Summary List tenant members
|
||||
// @Description List tenant members with filters
|
||||
// @Tags CreatorCenter
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param filter query dto.TenantMemberListFilter false "Member list filter"
|
||||
// @Success 200 {object} requests.Pager{items=[]dto.TenantMemberItem}
|
||||
// @Bind user local key(__ctx_user)
|
||||
// @Bind filter query
|
||||
func (c *Creator) ListMembers(ctx fiber.Ctx, user *models.User, filter *dto.TenantMemberListFilter) (*requests.Pager, error) {
|
||||
tenantID := getTenantID(ctx)
|
||||
return services.Tenant.ListMembers(ctx, tenantID, user.ID, filter)
|
||||
}
|
||||
|
||||
// List member invites
|
||||
//
|
||||
// @Router /t/:tenantCode/v1/creator/members/invites [get]
|
||||
// @Summary List member invites
|
||||
// @Description List member invites with filters
|
||||
// @Tags CreatorCenter
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param filter query dto.TenantInviteListFilter false "Invite list filter"
|
||||
// @Success 200 {object} requests.Pager{items=[]dto.TenantInviteListItem}
|
||||
// @Bind user local key(__ctx_user)
|
||||
// @Bind filter query
|
||||
func (c *Creator) ListMemberInvites(ctx fiber.Ctx, user *models.User, filter *dto.TenantInviteListFilter) (*requests.Pager, error) {
|
||||
tenantID := getTenantID(ctx)
|
||||
return services.Tenant.ListInvites(ctx, tenantID, user.ID, filter)
|
||||
}
|
||||
|
||||
// Disable member invite
|
||||
//
|
||||
// @Router /t/:tenantCode/v1/creator/members/invites/:id<int> [delete]
|
||||
// @Summary Disable member invite
|
||||
// @Description Disable a member invite by ID
|
||||
// @Tags CreatorCenter
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param id path int64 true "Invite ID"
|
||||
// @Success 200 {string} string "Disabled"
|
||||
// @Bind user local key(__ctx_user)
|
||||
// @Bind id path
|
||||
func (c *Creator) DisableMemberInvite(ctx fiber.Ctx, user *models.User, id int64) error {
|
||||
tenantID := getTenantID(ctx)
|
||||
return services.Tenant.DisableInvite(ctx, tenantID, user.ID, id)
|
||||
}
|
||||
|
||||
// List member join requests
|
||||
//
|
||||
// @Router /t/:tenantCode/v1/creator/members/join-requests [get]
|
||||
// @Summary List member join requests
|
||||
// @Description List tenant join requests
|
||||
// @Tags CreatorCenter
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param filter query dto.TenantJoinRequestListFilter false "Join request list filter"
|
||||
// @Success 200 {object} requests.Pager{items=[]dto.TenantJoinRequestItem}
|
||||
// @Bind user local key(__ctx_user)
|
||||
// @Bind filter query
|
||||
func (c *Creator) ListMemberJoinRequests(ctx fiber.Ctx, user *models.User, filter *dto.TenantJoinRequestListFilter) (*requests.Pager, error) {
|
||||
tenantID := getTenantID(ctx)
|
||||
return services.Tenant.ListJoinRequests(ctx, tenantID, user.ID, filter)
|
||||
}
|
||||
|
||||
// Remove tenant member
|
||||
//
|
||||
// @Router /t/:tenantCode/v1/creator/members/:id<int> [delete]
|
||||
// @Summary Remove tenant member
|
||||
// @Description Remove a tenant member by relation ID
|
||||
// @Tags CreatorCenter
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Param id path int64 true "Member ID"
|
||||
// @Success 200 {string} string "Removed"
|
||||
// @Bind user local key(__ctx_user)
|
||||
// @Bind id path
|
||||
func (c *Creator) RemoveMember(ctx fiber.Ctx, user *models.User, id int64) error {
|
||||
tenantID := getTenantID(ctx)
|
||||
return services.Tenant.RemoveMember(ctx, tenantID, user.ID, id)
|
||||
}
|
||||
|
||||
// Get report overview
|
||||
//
|
||||
// @Router /t/:tenantCode/v1/creator/reports/overview [get]
|
||||
|
||||
Reference in New Issue
Block a user