170 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			170 lines
		
	
	
		
			5.2 KiB
		
	
	
	
		
			Go
		
	
	
	
| /*
 | |
|  * Copyright 2025 coze-dev Authors
 | |
|  *
 | |
|  * Licensed under the Apache License, Version 2.0 (the "License");
 | |
|  * you may not use this file except in compliance with the License.
 | |
|  * You may obtain a copy of the License at
 | |
|  *
 | |
|  *     http://www.apache.org/licenses/LICENSE-2.0
 | |
|  *
 | |
|  * Unless required by applicable law or agreed to in writing, software
 | |
|  * distributed under the License is distributed on an "AS IS" BASIS,
 | |
|  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
|  * See the License for the specific language governing permissions and
 | |
|  * limitations under the License.
 | |
|  */
 | |
| 
 | |
| // Code generated by hertz generator.
 | |
| 
 | |
| package coze
 | |
| 
 | |
| import (
 | |
| 	"context"
 | |
| 
 | |
| 	"github.com/cloudwego/hertz/pkg/app"
 | |
| 	"github.com/cloudwego/hertz/pkg/protocol/consts"
 | |
| 
 | |
| 	"github.com/coze-dev/coze-studio/backend/api/model/permission/openapiauth"
 | |
| 	openapiauthApp "github.com/coze-dev/coze-studio/backend/application/openauth"
 | |
| 	"github.com/coze-dev/coze-studio/backend/pkg/errorx"
 | |
| 	"github.com/coze-dev/coze-studio/backend/pkg/lang/ptr"
 | |
| 	"github.com/coze-dev/coze-studio/backend/pkg/logs"
 | |
| 	"github.com/coze-dev/coze-studio/backend/types/errno"
 | |
| )
 | |
| 
 | |
| // GetPersonalAccessTokenAndPermission .
 | |
| // @router /api/permission_api/pat/get_personal_access_token_and_permission [GET]
 | |
| func GetPersonalAccessTokenAndPermission(ctx context.Context, c *app.RequestContext) {
 | |
| 	var err error
 | |
| 	var req openapiauth.GetPersonalAccessTokenAndPermissionRequest
 | |
| 	err = c.BindAndValidate(&req)
 | |
| 	if err != nil {
 | |
| 		invalidParamRequestResponse(c, err.Error())
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	if req.ID == 0 {
 | |
| 		invalidParamRequestResponse(c, "id is required")
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	resp, err := openapiauthApp.OpenAuthApplication.GetPersonalAccessTokenAndPermission(ctx, &req)
 | |
| 	if err != nil {
 | |
| 		logs.CtxErrorf(ctx, "OpenAuthApplicationService.GetPersonalAccessTokenAndPermission failed, err=%v", err)
 | |
| 		internalServerErrorResponse(ctx, c, err)
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	c.JSON(consts.StatusOK, resp)
 | |
| }
 | |
| 
 | |
| // DeletePersonalAccessTokenAndPermission .
 | |
| // @router /api/permission_api/pat/delete_personal_access_token_and_permission [POST]
 | |
| func DeletePersonalAccessTokenAndPermission(ctx context.Context, c *app.RequestContext) {
 | |
| 	var err error
 | |
| 	var req openapiauth.DeletePersonalAccessTokenAndPermissionRequest
 | |
| 	err = c.BindAndValidate(&req)
 | |
| 	if err != nil {
 | |
| 		invalidParamRequestResponse(c, err.Error())
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	if req.ID <= 0 {
 | |
| 		invalidParamRequestResponse(c, "id is required")
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	resp, err := openapiauthApp.OpenAuthApplication.DeletePersonalAccessTokenAndPermission(ctx, &req)
 | |
| 	if err != nil {
 | |
| 		logs.CtxErrorf(ctx, "OpenAuthApplication.DeletePersonalAccessTokenAndPermission failed, err=%v", err)
 | |
| 		internalServerErrorResponse(ctx, c, err)
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	c.JSON(consts.StatusOK, resp)
 | |
| }
 | |
| 
 | |
| // ListPersonalAccessTokens .
 | |
| // @router /api/permission_api/pat/list_personal_access_tokens [GET]
 | |
| func ListPersonalAccessTokens(ctx context.Context, c *app.RequestContext) {
 | |
| 	var err error
 | |
| 	var req openapiauth.ListPersonalAccessTokensRequest
 | |
| 	err = c.BindAndValidate(&req)
 | |
| 	if err != nil {
 | |
| 		invalidParamRequestResponse(c, err.Error())
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	if req.Page == nil || *req.Page <= 0 {
 | |
| 		req.Page = ptr.Of(int64(1))
 | |
| 	}
 | |
| 	if req.Size == nil || *req.Size <= 0 {
 | |
| 		req.Size = ptr.Of(int64(10))
 | |
| 	}
 | |
| 
 | |
| 	resp, err := openapiauthApp.OpenAuthApplication.ListPersonalAccessTokens(ctx, &req)
 | |
| 	if err != nil {
 | |
| 		logs.CtxErrorf(ctx, "OpenAuthApplication.ListPersonalAccessTokens failed, err=%v", err)
 | |
| 		internalServerErrorResponse(ctx, c, err)
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	c.JSON(consts.StatusOK, resp)
 | |
| }
 | |
| 
 | |
| // CreatePersonalAccessTokenAndPermission .
 | |
| // @router /api/permission_api/pat/create_personal_access_token_and_permission [POST]
 | |
| func CreatePersonalAccessTokenAndPermission(ctx context.Context, c *app.RequestContext) {
 | |
| 	var err error
 | |
| 	var req openapiauth.CreatePersonalAccessTokenAndPermissionRequest
 | |
| 	err = c.BindAndValidate(&req)
 | |
| 	if err != nil {
 | |
| 		invalidParamRequestResponse(c, err.Error())
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	if err = checkCPATParams(ctx, &req); err != nil {
 | |
| 		invalidParamRequestResponse(c, err.Error())
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	resp, err := openapiauthApp.OpenAuthApplication.CreatePersonalAccessToken(ctx, &req)
 | |
| 	if err != nil {
 | |
| 		logs.CtxErrorf(ctx, "OpenAuthApplicationService.CreatePersonalAccessToken failed, err=%v", err)
 | |
| 		internalServerErrorResponse(ctx, c, err)
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	c.JSON(consts.StatusOK, resp)
 | |
| }
 | |
| 
 | |
| // checkCPATParams 检查创建个人访问令牌的参数
 | |
| func checkCPATParams(ctx context.Context, req *openapiauth.CreatePersonalAccessTokenAndPermissionRequest) error {
 | |
| 
 | |
| 	if req.Name == "" {
 | |
| 		return errorx.New(errno.ErrPermissionInvalidParamCode, errorx.KV("msg", "name is required"))
 | |
| 	}
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| // UpdatePersonalAccessTokenAndPermission .
 | |
| // @router /api/permission_api/pat/update_personal_access_token_and_permission [POST]
 | |
| func UpdatePersonalAccessTokenAndPermission(ctx context.Context, c *app.RequestContext) {
 | |
| 	var err error
 | |
| 	var req openapiauth.UpdatePersonalAccessTokenAndPermissionRequest
 | |
| 	err = c.BindAndValidate(&req)
 | |
| 	if err != nil {
 | |
| 		invalidParamRequestResponse(c, err.Error())
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	resp, err := openapiauthApp.OpenAuthApplication.UpdatePersonalAccessTokenAndPermission(ctx, &req)
 | |
| 	if err != nil {
 | |
| 		logs.CtxErrorf(ctx, "OpenAuthApplication.UpdatePersonalAccessTokenAndPermission failed, err=%v", err)
 | |
| 		internalServerErrorResponse(ctx, c, err)
 | |
| 		return
 | |
| 	}
 | |
| 
 | |
| 	c.JSON(consts.StatusOK, resp)
 | |
| }
 |