Skip to content

Commit

Permalink
Update install process
Browse files Browse the repository at this point in the history
  • Loading branch information
hwbrzzl committed Jun 10, 2023
1 parent e71de75 commit 7ed1d3a
Show file tree
Hide file tree
Showing 6 changed files with 29 additions and 46 deletions.
23 changes: 10 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# oss
# OSS

A oss disk driver for facades.Storage of Goravel.
An OSS disk driver for facades.Storage of Goravel.

## Install

Expand All @@ -18,19 +18,11 @@ import "github.com/goravel/oss"
"providers": []foundation.ServiceProvider{
...
&sms.ServiceProvider{},
&oss.ServiceProvider{},
}
```

3. Publish configuration file
dd
```
go run . artisan vendor:publish --package=github.com/goravel/oss
```

4. Fill your oss configuration to `config/oss.go` file

5. Add oss disk to `config/filesystems.go` file
3. Add oss disk to `config/filesystems.go` file

```
// config/filesystems.go
Expand All @@ -43,8 +35,13 @@ import (
...
"oss": map[string]any{
"driver": "custom",
"key": config.Env("ALIYUN_ACCESS_KEY_ID"),
"secret": config.Env("ALIYUN_ACCESS_KEY_SECRET"),
"bucket": config.Env("ALIYUN_BUCKET"),
"url": config.Env("ALIYUN_URL"),
"endpoint": config.Env("ALIYUN_ENDPOINT"),
"via": func() (filesystem.Driver, error) {
return ossfacades.Oss(), nil
return ossfacades.Oss("oss"), nil // The `oss` value is the `disks` key
},
},
}
Expand Down
16 changes: 0 additions & 16 deletions config/oss.go

This file was deleted.

4 changes: 2 additions & 2 deletions facades/oss.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import (
"github.com/goravel/oss"
)

func Oss() filesystem.Driver {
instance, err := oss.App.Make(oss.Binding)
func Oss(disk string) filesystem.Driver {
instance, err := oss.App.MakeWith(oss.Binding, map[string]any{"disk": disk})
if err != nil {
log.Fatalln(err)
return nil
Expand Down
16 changes: 9 additions & 7 deletions oss.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,20 @@ import (
type Oss struct {
ctx context.Context
config config.Config
disk string
instance *oss.Client
bucketInstance *oss.Bucket
bucket string
url string
endpoint string
}

func NewOss(ctx context.Context, config config.Config) (*Oss, error) {
accessKeyId := config.GetString("oss.key")
accessKeySecret := config.GetString("oss.secret")
bucket := config.GetString("oss.bucket")
url := config.GetString("oss.url")
endpoint := config.GetString("oss.endpoint")
func NewOss(ctx context.Context, config config.Config, disk string) (*Oss, error) {
accessKeyId := config.GetString(fmt.Sprintf("filesystems.disks.%s.key", disk))
accessKeySecret := config.GetString(fmt.Sprintf("filesystems.disks.%s.secret", disk))
bucket := config.GetString(fmt.Sprintf("filesystems.disks.%s.bucket", disk))
url := config.GetString(fmt.Sprintf("filesystems.disks.%s.url", disk))
endpoint := config.GetString(fmt.Sprintf("filesystems.disks.%s.endpoint", disk))

client, err := oss.New(endpoint, accessKeyId, accessKeySecret)
if err != nil {
Expand All @@ -53,6 +54,7 @@ func NewOss(ctx context.Context, config config.Config) (*Oss, error) {
return &Oss{
ctx: ctx,
config: config,
disk: disk,
instance: client,
bucketInstance: bucketInstance,
bucket: bucket,
Expand Down Expand Up @@ -314,7 +316,7 @@ func (r *Oss) TemporaryUrl(file string, t time.Time) (string, error) {
}

func (r *Oss) WithContext(ctx context.Context) filesystem.Driver {
driver, err := NewOss(ctx, r.config)
driver, err := NewOss(ctx, r.config, r.disk)
if err != nil {
color.Redf("[OSS] init disk error: %+v\n", err)

Expand Down
12 changes: 6 additions & 6 deletions oss_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ func TestStorage(t *testing.T) {

mockConfig := &configmocks.Config{}
mockConfig.On("GetString", "app.timezone").Return("UTC")
mockConfig.On("GetString", "oss.key").Return(os.Getenv("ALIYUN_ACCESS_KEY_ID"))
mockConfig.On("GetString", "oss.secret").Return(os.Getenv("ALIYUN_ACCESS_KEY_SECRET"))
mockConfig.On("GetString", "oss.bucket").Return(os.Getenv("ALIYUN_BUCKET"))
mockConfig.On("GetString", "oss.url").Return(os.Getenv("ALIYUN_URL"))
mockConfig.On("GetString", "oss.endpoint").Return(os.Getenv("ALIYUN_ENDPOINT"))
mockConfig.On("GetString", "filesystems.disks.oss.key").Return(os.Getenv("ALIYUN_ACCESS_KEY_ID"))
mockConfig.On("GetString", "filesystems.disks.oss.secret").Return(os.Getenv("ALIYUN_ACCESS_KEY_SECRET"))
mockConfig.On("GetString", "filesystems.disks.oss.bucket").Return(os.Getenv("ALIYUN_BUCKET"))
mockConfig.On("GetString", "filesystems.disks.oss.url").Return(os.Getenv("ALIYUN_URL"))
mockConfig.On("GetString", "filesystems.disks.oss.endpoint").Return(os.Getenv("ALIYUN_ENDPOINT"))

var driver contractsfilesystem.Driver
url := os.Getenv("ALIYUN_URL")
Expand Down Expand Up @@ -370,7 +370,7 @@ func TestStorage(t *testing.T) {
}

var err error
driver, err = NewOss(context.Background(), mockConfig)
driver, err = NewOss(context.Background(), mockConfig, "oss")
assert.NotNil(t, driver)
assert.Nil(t, err)
for _, test := range tests {
Expand Down
4 changes: 2 additions & 2 deletions service_provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ type ServiceProvider struct {
func (receiver *ServiceProvider) Register(app foundation.Application) {
App = app

app.Bind(Binding, func(app foundation.Application) (any, error) {
return NewOss(context.Background(), app.MakeConfig())
app.BindWith(Binding, func(app foundation.Application, parameter map[string]any) (any, error) {
return NewOss(context.Background(), app.MakeConfig(), parameter["disk"].(string))
})
}

Expand Down

0 comments on commit 7ed1d3a

Please sign in to comment.