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)
| 773 | // @Failure 500 {object} types.APIInternalServerError "Internal server error" |
| 774 | // @Router /user/{username}/run/serverless [get] |
| 775 | func (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 | } |
nothing calls this directly
no test coverage detected