This is an automated email from the ASF dual-hosted git repository.

hsluoyz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/casbin-gateway.git


The following commit(s) were added to refs/heads/master by this push:
     new e0c1c0c  fix: support opendata repos
e0c1c0c is described below

commit e0c1c0c628830b40311f853a10dbf82a201657c0
Author: Yang Luo <[email protected]>
AuthorDate: Mon May 4 23:07:22 2026 +0800

    fix: support opendata repos
---
 run/run.go  |  7 +++++--
 run/util.go | 19 +++++++++++++++++++
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/run/run.go b/run/run.go
index 4c7806e..9fd9b7c 100644
--- a/run/run.go
+++ b/run/run.go
@@ -31,7 +31,10 @@ func isFrontendBaseDirEnabledRepo(siteName string) bool {
        if strings.HasPrefix(siteName, "casdoor_") && siteName != "casdoor_my" {
                return true
        }
-       return strings.HasPrefix(siteName, "casibase_") && 
!strings.HasSuffix(siteName, "keli") && !strings.HasSuffix(siteName, "med2")
+       if strings.HasPrefix(siteName, "casibase_") && 
!strings.HasSuffix(siteName, "keli") && !strings.HasSuffix(siteName, "med2") {
+               return true
+       }
+       return strings.HasPrefix(siteName, "opendata_") && siteName != 
"opendata_my"
 }
 
 func wrapRepoError(function string, path string, err error) (int, error) {
@@ -166,7 +169,7 @@ func CreateRepo(siteName string, needStart bool, diff 
string, providerName strin
 
                if affected {
                        if !needStart {
-                               if !strings.HasPrefix(siteName, "casdoor") && 
!strings.HasPrefix(siteName, "casibase") {
+                               if !strings.HasPrefix(siteName, "casdoor") && 
!strings.HasPrefix(siteName, "casibase") && !strings.HasPrefix(siteName, 
"opendata") {
                                        err = stopProcess(siteName)
                                        if err != nil {
                                                return 
wrapRepoError("stopProcess", path, err)
diff --git a/run/util.go b/run/util.go
index dbe0c0f..40e8689 100644
--- a/run/util.go
+++ b/run/util.go
@@ -56,6 +56,8 @@ func getRepoUrl(name string) string {
                return "https://github.com/casdoor/casdoor";
        } else if name == "casibase" {
                return "https://github.com/casibase/casibase";
+       } else if name == "opendata" {
+               return "https://github.com/hsluoyz/opendata";
        } else {
                return fmt.Sprintf("https://github.com/casbin/%s";, name)
        }
@@ -102,6 +104,23 @@ func updateAppConfFile(name string, i int, orgName string) 
{
                content = strings.ReplaceAll(content, "casdoorApplication = 
\"app-casibase\"", fmt.Sprintf("casdoorApplication = \"%s\"", 
fmt.Sprintf("app-%s", shortName)))
                content = strings.ReplaceAll(content, "isLocalIpDb = false", 
"isLocalIpDb = true")
                content = strings.ReplaceAll(content, "providerDbName = \"\"", 
"providerDbName = \"casibase_casbin\"")
+       } else if strings.HasPrefix(name, "opendata_customer_") {
+               shortName := strings.ReplaceAll(name, "opendata_customer_", 
"od")
+               if orgName != "" {
+                       shortName = orgName
+               }
+
+               content = strings.ReplaceAll(content, "httpport = 14000", 
fmt.Sprintf("httpport = %d", 50000+i))
+               content = strings.ReplaceAll(content, "root", 
beego.AppConfig.String("dbUser"))
+               content = strings.ReplaceAll(content, "123456", 
beego.AppConfig.String("dbPass"))
+               content = strings.ReplaceAll(content, "localhost:3306", 
fmt.Sprintf("%s:3306", beego.AppConfig.String("dbHost")))
+               content = strings.ReplaceAll(content, "dbName = opendata", 
fmt.Sprintf("dbName = %s", name))
+               content = strings.ReplaceAll(content, "redisEndpoint =", 
fmt.Sprintf("redisEndpoint = \"%s\"", beego.AppConfig.String("redisEndpoint")))
+               content = strings.ReplaceAll(content, "casdoorEndpoint = 
https://door.casdoor.com";, fmt.Sprintf("casdoorEndpoint = %s", 
strings.ReplaceAll(beego.AppConfig.String("casdoorEndpoint"), "my.", "od.")))
+               content = strings.ReplaceAll(content, "clientId = 
af6b5aa958822fb9dc33", fmt.Sprintf("clientId = %s", 
beego.AppConfig.String("clientIdPrefix")+shortName))
+               content = strings.ReplaceAll(content, "clientSecret = 
8bc3010c1c951c8d876b1f311a901ff8deeb93bc", fmt.Sprintf("clientSecret = %s", 
beego.AppConfig.String("clientSecretPrefix")+shortName))
+               content = strings.ReplaceAll(content, "casdoorOrganization = 
\"casbin\"", fmt.Sprintf("casdoorOrganization = \"%s\"", shortName))
+               content = strings.ReplaceAll(content, "casdoorApplication = 
\"app-opendata\"", fmt.Sprintf("casdoorApplication = \"%s\"", 
fmt.Sprintf("app-%s", shortName)))
        } else {
                content = strings.ReplaceAll(content, "httpport = 8000", 
fmt.Sprintf("httpport = %d", 30000+i))
                content = strings.ReplaceAll(content, "123456", 
beego.AppConfig.String("dbPass"))


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to