package controller import ( "errors" "github.com/gin-gonic/gin" "k8s-manager/src/model" "k8s-manager/src/utils" ) func AddProject(username string, proj *model.ProjectModel) (utils.OKType, error) { proj.UserName = username proj.Create() return utils.OK, nil } func DeleteProject(username string, ID uint) (utils.OKType, error) { old := model.ProjectModel{} old.ID = ID old.Fill() if username != old.UserName { return nil, errors.New("wrong username") } old.Delete() return utils.OK, nil } func UpdateProject(username string, proj *model.ProjectModel) (utils.OKType, error) { old := &model.ProjectModel{} old.ID = proj.ID old.Fill() if username != old.GetUserName() { return nil, errors.New("wrong username") } proj.Save(old) return utils.OK, nil } func GetProjects(UserName string, IsPublished bool) (gin.H, error) { proj := &model.ProjectModel{} proj.UserName = UserName proj.IsPublished = IsPublished if UserName == "" && !IsPublished { return gin.H{"data": []string{}}, nil } ans := proj.Gets() return gin.H{"data": ans}, nil } func AddProjectController(r *gin.Engine) { utils.RouteWrapper(r, "POST", "/project", AddProject, []string{"username", "1"}) utils.RouteWrapper(r, "DELETE", "/project", DeleteProject, []string{"username", "ID"}) utils.RouteWrapper(r, "PUT", "/project", UpdateProject, []string{"username", "1"}) utils.RouteWrapper(r, "GET", "/projects", GetProjects, []string{"UserName", "IsPublished"}) }