1
1
package controllers
2
2
3
3
import (
4
+ "ai-developer/app/models"
4
5
"ai-developer/app/services"
5
6
"ai-developer/app/types/request"
6
7
"net/http"
@@ -56,8 +57,8 @@ func (controller *ProjectController) GetProjectById(context *gin.Context) {
56
57
context .JSON (http .StatusOK , project )
57
58
}
58
59
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
61
62
if err := context .ShouldBindJSON (& createProjectRequest ); err != nil {
62
63
context .JSON (http .StatusBadRequest , gin.H {"error" : err .Error ()})
63
64
return
@@ -73,44 +74,13 @@ func (controller *ProjectController) CreateProjectFromGit(context *gin.Context)
73
74
return
74
75
}
75
76
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 )
80
82
}
81
83
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 )
114
84
if err != nil {
115
85
context .AbortWithStatusJSON (http .StatusInternalServerError , gin.H {"error" : err .Error ()})
116
86
return
0 commit comments