summaryrefslogtreecommitdiffstats
path: root/lib/apiv1/folders.go
diff options
context:
space:
mode:
Diffstat (limited to 'lib/apiv1/folders.go')
-rw-r--r--lib/apiv1/folders.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/apiv1/folders.go b/lib/apiv1/folders.go
index cf56c3f..a231b86 100644
--- a/lib/apiv1/folders.go
+++ b/lib/apiv1/folders.go
@@ -2,6 +2,7 @@ package apiv1
import (
"net/http"
+ "os"
"github.com/gin-gonic/gin"
common "github.com/iotbzh/xds-common/golib"
@@ -40,6 +41,27 @@ func (s *APIService) addFolder(c *gin.Context) {
return
}
+ // Create xds-project.conf file
+ // FIXME: move to folders.createUpdate func (but gin context needed)
+ fld := s.mfolders.Get(newFld.ID)
+ prjConfFile := (*fld).GetFullPath("xds-project.conf")
+ if !common.Exists(prjConfFile) {
+ fd, err := os.OpenFile(prjConfFile, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0666)
+ if err != nil {
+ common.APIError(c, err.Error())
+ return
+ }
+ fd.WriteString("# XDS project settings\n")
+ fd.WriteString("export XDS_SERVER_URL=" + c.Request.Host + "\n")
+ fd.WriteString("export XDS_PROJECT_ID=" + newFld.ID + "\n")
+ if newFld.DefaultSdk == "" {
+ sdks := s.sdks.GetAll()
+ newFld.DefaultSdk = sdks[0].ID
+ }
+ fd.WriteString("export XDS_SDK_ID=" + newFld.DefaultSdk + "\n")
+ fd.Close()
+ }
+
c.JSON(http.StatusOK, newFld)
}