feat: add tenant membership flow

This commit is contained in:
2026-01-13 10:26:11 +08:00
parent fa43c0355f
commit 2a670b3a78
11 changed files with 1719 additions and 0 deletions

View File

@@ -29,6 +29,46 @@ func (c *Creator) Apply(ctx fiber.Ctx, user *models.User, form *dto.ApplyForm) e
return services.Creator.Apply(ctx, tenantID, user.ID, form)
}
// Review join request
//
// @Router /t/:tenantCode/v1/creator/members/:id<int>/review [post]
// @Summary Review join request
// @Description Approve or reject a tenant join request
// @Tags CreatorCenter
// @Accept json
// @Produce json
// @Param id path int64 true "Join request ID"
// @Param form body dto.TenantJoinReviewForm true "Review form"
// @Success 200 {string} string "Reviewed"
// @Bind user local key(__ctx_user)
// @Bind id path
// @Bind form body
func (c *Creator) ReviewMember(ctx fiber.Ctx, user *models.User, id int64, form *dto.TenantJoinReviewForm) error {
tenantID := getTenantID(ctx)
return services.Tenant.ReviewJoin(ctx, tenantID, user.ID, id, form)
}
// Create member invite
//
// @Router /t/:tenantCode/v1/creator/members/invite [post]
// @Summary Create member invite
// @Description Create an invite for tenant members
// @Tags CreatorCenter
// @Accept json
// @Produce json
// @Param form body dto.TenantInviteCreateForm true "Invite form"
// @Success 200 {object} dto.TenantInviteItem
// @Bind user local key(__ctx_user)
// @Bind form body
func (c *Creator) CreateMemberInvite(
ctx fiber.Ctx,
user *models.User,
form *dto.TenantInviteCreateForm,
) (*dto.TenantInviteItem, error) {
tenantID := getTenantID(ctx)
return services.Tenant.CreateInvite(ctx, tenantID, user.ID, form)
}
// Get creator dashboard stats
//
// @Router /t/:tenantCode/v1/creator/dashboard [get]