Fix ListObjects()
This commit is contained in:
parent
ec45d9e5eb
commit
9c3f8aed8b
|
@ -15,38 +15,15 @@
|
|||
package casdoor
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/astaxie/beego"
|
||||
"github.com/casbin/casibase/util"
|
||||
"github.com/casdoor/casdoor-go-sdk/casdoorsdk"
|
||||
)
|
||||
|
||||
func ListResources(prefix string) ([]*casdoorsdk.Resource, error) {
|
||||
prefix = util.GetIdFromOwnerAndName(fmt.Sprintf("/resource/%s/%s/casibase",
|
||||
beego.AppConfig.String("casdoorOrganization"),
|
||||
beego.AppConfig.String("casdoorApplication")), prefix)
|
||||
|
||||
result := make([]*casdoorsdk.Resource, 0)
|
||||
err := adapter.Engine.Where("name like ?", prefix+"%").Find(&result)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return result, nil
|
||||
res, err := casdoorsdk.GetResources("built-in", "admin", "", "", "", "")
|
||||
return res, err
|
||||
}
|
||||
|
||||
func GetResource(key string) (*casdoorsdk.Resource, error) {
|
||||
id := fmt.Sprintf("/resource/%s/%s/casibase/%s", Organization, Application, key)
|
||||
resource := casdoorsdk.Resource{Owner: Organization, Name: id}
|
||||
existed, err := adapter.Engine.Get(&resource)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if existed {
|
||||
return &resource, nil
|
||||
} else {
|
||||
return nil, fmt.Errorf("resource %s not found", key)
|
||||
}
|
||||
res, err := casdoorsdk.GetResourceEx("built-in", key)
|
||||
return res, err
|
||||
}
|
||||
|
|
2
go.mod
2
go.mod
|
@ -7,7 +7,7 @@ require (
|
|||
github.com/aliyun/aliyun-oss-go-sdk v2.2.2+incompatible
|
||||
github.com/astaxie/beego v1.12.3
|
||||
github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f // indirect
|
||||
github.com/casdoor/casdoor-go-sdk v0.25.0
|
||||
github.com/casdoor/casdoor-go-sdk v0.27.0
|
||||
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||
github.com/danaugrs/go-tsne/tsne v0.0.0-20220306155740-2250969e057f
|
||||
github.com/fsnotify/fsnotify v1.6.0 // indirect
|
||||
|
|
4
go.sum
4
go.sum
|
@ -86,8 +86,8 @@ github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl
|
|||
github.com/bradfitz/gomemcache v0.0.0-20180710155616-bc664df96737/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60=
|
||||
github.com/casbin/casbin v1.7.0/go.mod h1:c67qKN6Oum3UF5Q1+BByfFxkwKvhwW57ITjqwtzR1KE=
|
||||
github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ=
|
||||
github.com/casdoor/casdoor-go-sdk v0.25.0 h1:hrx10mgpLgWqNsgFKQN/ljJsnD1i0cytW+S+2XxmxyQ=
|
||||
github.com/casdoor/casdoor-go-sdk v0.25.0/go.mod h1:MBed3ISHQfXTtoOCAk5T8l5lt4wFvsyynrw0awggydY=
|
||||
github.com/casdoor/casdoor-go-sdk v0.27.0 h1:40TdcsomUxxhbtBi0huZxPZhfj+pSB8KtWkXg6Dqtk8=
|
||||
github.com/casdoor/casdoor-go-sdk v0.27.0/go.mod h1:MBed3ISHQfXTtoOCAk5T8l5lt4wFvsyynrw0awggydY=
|
||||
github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
|
||||
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
|
||||
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
||||
|
|
|
@ -21,7 +21,6 @@ import (
|
|||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/astaxie/beego"
|
||||
"github.com/casbin/casibase/casdoor"
|
||||
"github.com/casbin/casibase/util"
|
||||
"github.com/casdoor/casdoor-go-sdk/casdoorsdk"
|
||||
|
@ -45,6 +44,7 @@ func ListObjects(bucketName string, prefix string) ([]*Object, error) {
|
|||
res = append(res, &Object{
|
||||
Key: util.GetNameFromIdNoCheck(resource.Name),
|
||||
LastModified: &created,
|
||||
Size: int64(resource.FileSize),
|
||||
})
|
||||
}
|
||||
return res, nil
|
||||
|
@ -66,7 +66,7 @@ func GetObject(bucketName string, key string) (io.ReadCloser, error) {
|
|||
|
||||
func PutObject(bucketName string, key string, fileBuffer *bytes.Buffer) error {
|
||||
_, _, err := casdoorsdk.UploadResource("Casibase", "Casibase", "Casibase",
|
||||
fmt.Sprintf("/resource/%s/%s/%s", casdoor.Organization, casdoor.Application, key), fileBuffer.Bytes())
|
||||
fmt.Sprintf("/casibase/%s", key), fileBuffer.Bytes())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -74,9 +74,7 @@ func PutObject(bucketName string, key string, fileBuffer *bytes.Buffer) error {
|
|||
}
|
||||
|
||||
func DeleteObject(bucketName string, key string) error {
|
||||
_, err := casdoorsdk.DeleteResource(util.GetIdFromOwnerAndName(fmt.Sprintf("/resource/%s/%s/casibase",
|
||||
beego.AppConfig.String("casdoorOrganization"),
|
||||
beego.AppConfig.String("casdoorApplication")), key))
|
||||
_, err := casdoorsdk.DeleteResource(util.GetIdFromOwnerAndName("built-in", fmt.Sprintf("/casibase/%s", key)))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -18,21 +18,24 @@
|
|||
package storage_test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/casbin/casibase/casdoor"
|
||||
"github.com/casbin/casibase/controllers"
|
||||
"github.com/casbin/casibase/object"
|
||||
"github.com/casbin/casibase/storage"
|
||||
)
|
||||
|
||||
func TestStorage(t *testing.T) {
|
||||
object.InitConfig()
|
||||
casdoor.InitCasdoorAdapter()
|
||||
controllers.InitAuthConfig()
|
||||
|
||||
objects, err := storage.ListObjects("casibase", "")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
println(objects)
|
||||
for i, obj := range objects {
|
||||
fmt.Printf("[%d] %v\n", i, obj)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue