11package controllers
22
33import (
4+ "ai-developer/app/models"
45 "ai-developer/app/services"
56 "ai-developer/app/types/request"
67 "net/http"
@@ -56,8 +57,8 @@ func (controller *ProjectController) GetProjectById(context *gin.Context) {
5657 context .JSON (http .StatusOK , project )
5758}
5859
59- func (controller * ProjectController ) CreateProjectFromGit (context * gin.Context ) {
60- var createProjectRequest request.CreateProjectFromGitRequest
60+ func (controller * ProjectController ) CreateProject (context * gin.Context ) {
61+ var createProjectRequest request.CreateProjectRequest
6162 if err := context .ShouldBindJSON (& createProjectRequest ); err != nil {
6263 context .JSON (http .StatusBadRequest , gin.H {"error" : err .Error ()})
6364 return
@@ -73,44 +74,13 @@ func (controller *ProjectController) CreateProjectFromGit(context *gin.Context)
7374 return
7475 }
7576
76- project , err := controller .projectService .CreateProjectFromGit (user .ID , user .OrganisationID , createProjectRequest )
77- if err != nil {
78- context .AbortWithStatusJSON (http .StatusInternalServerError , gin.H {"error" : err .Error ()})
79- return
77+ var project * models.Project
78+ if createProjectRequest .Repository == nil {
79+ project , err = controller .projectService .CreateProject (int (user .OrganisationID ), createProjectRequest )
80+ } else {
81+ project , err = controller .projectService .CreateProjectFromGit (user .ID , user .OrganisationID , createProjectRequest )
8082 }
8183
82- context .JSON (
83- http .StatusOK ,
84- gin.H {
85- "project_id" : project .ID ,
86- "project_url" : project .Url ,
87- "project_name" : project .Name ,
88- "project_frontend_url" : project .FrontendURL ,
89- "project_backend_url" : project .BackendURL ,
90- "project_framework" : project .BackendFramework ,
91- "project_frontend_framework" : project .FrontendFramework ,
92- },
93- )
94- return
95- }
96-
97- func (controller * ProjectController ) CreateProject (context * gin.Context ) {
98- var createProjectRequest request.CreateProjectRequest
99- if err := context .ShouldBindJSON (& createProjectRequest ); err != nil {
100- context .JSON (http .StatusBadRequest , gin.H {"error" : err .Error ()})
101- return
102- }
103- email , _ := context .Get ("email" )
104- user , err := controller .userService .GetUserByEmail (email .(string ))
105- if err != nil {
106- context .AbortWithStatusJSON (http .StatusInternalServerError , gin.H {"error" : err .Error ()})
107- return
108- }
109- if user == nil {
110- context .AbortWithStatusJSON (http .StatusInternalServerError , gin.H {"error" : "User not found" })
111- return
112- }
113- project , err := controller .projectService .CreateProject (int (user .OrganisationID ), createProjectRequest )
11484 if err != nil {
11585 context .AbortWithStatusJSON (http .StatusInternalServerError , gin.H {"error" : err .Error ()})
11686 return
0 commit comments