MCPcopy Create free account
hub / github.com/OpenCSGs/csghub-server / GetRunServerless

Method GetRunServerless

api/handler/user.go:775–814  ·  view source on GitHub ↗

GetServerless godoc @Security ApiKey @Summary Get serverless deploys @Description Get serverless deploys @Tags User @Accept json @Produce json @Param username path string true "username" @Param per query int false "per" default(50) @Param page query

(ctx *gin.Context)

Source from the content-addressed store, hash-verified

773// @Failure 500 {object} types.APIInternalServerError "Internal server error"
774// @Router /user/{username}/run/serverless [get]
775func (h *UserHandler) GetRunServerless(ctx *gin.Context) {
776 currentUser := httpbase.GetCurrentUser(ctx)
777 if currentUser == "" {
778 httpbase.UnauthorizedError(ctx, component.ErrUserNotFound)
779 return
780 }
781
782 username := ctx.Param("username")
783 if currentUser != username {
784 slog.Warn("invalid user to list serverless", slog.String("currentUser", currentUser), slog.String("username", username))
785 httpbase.ServerError(ctx, errors.New("invalid user"))
786 return
787 }
788
789 per, page, err := common.GetPerAndPageFromContext(ctx)
790 if err != nil {
791 slog.Error("Bad request format of page and per", slog.Any("error", err))
792 httpbase.BadRequest(ctx, err.Error())
793 return
794 }
795
796 var req types.DeployReq
797 req.CurrentUser = currentUser
798 req.Page = page
799 req.PageSize = per
800 req.RepoType = types.ModelRepo
801 req.DeployType = types.ServerlessType
802 ds, total, err := h.c.ListServerless(ctx, req)
803 if err != nil {
804 slog.Error("Failed to get serverless list", slog.Any("error", err), slog.Any("req", req))
805 httpbase.ServerError(ctx, err)
806 return
807 }
808 respData := gin.H{
809 "message": "OK",
810 "data": ds,
811 "total": total,
812 }
813 ctx.JSON(http.StatusOK, respData)
814}

Callers

nothing calls this directly

Calls 7

GetCurrentUserFunction · 0.92
UnauthorizedErrorFunction · 0.92
ServerErrorFunction · 0.92
GetPerAndPageFromContextFunction · 0.92
BadRequestFunction · 0.92
ErrorMethod · 0.80
ListServerlessMethod · 0.45

Tested by

no test coverage detected