chore: add id to resp of create storage

This commit is contained in:
Noah Hsu
2022-11-13 20:17:10 +08:00
parent 6e3df9f847
commit 3b6d8987db
6 changed files with 34 additions and 13 deletions

View File

@ -39,7 +39,7 @@ func TestConnect(t *testing.T) {
func TestDown(t *testing.T) {
TestConnect(t)
err := op.CreateStorage(context.Background(), model.Storage{
_, err := op.CreateStorage(context.Background(), model.Storage{
ID: 0,
MountPath: "/",
Order: 0,

View File

@ -12,7 +12,7 @@ import (
)
func initDevData() {
err := op.CreateStorage(context.Background(), model.Storage{
_, err := op.CreateStorage(context.Background(), model.Storage{
MountPath: "/",
Order: 0,
Driver: "Local",

View File

@ -31,7 +31,7 @@ func GetStorageByVirtualPath(virtualPath string) (driver.Driver, error) {
// CreateStorage Save the storage to database so storage can get an id
// then instantiate corresponding driver and save it in memory
func CreateStorage(ctx context.Context, storage model.Storage) error {
func CreateStorage(ctx context.Context, storage model.Storage) (uint, error) {
storage.Modified = time.Now()
storage.MountPath = utils.StandardizePath(storage.MountPath)
var err error
@ -39,13 +39,13 @@ func CreateStorage(ctx context.Context, storage model.Storage) error {
driverName := storage.Driver
driverNew, err := GetDriverNew(driverName)
if err != nil {
return errors.WithMessage(err, "failed get driver new")
return 0, errors.WithMessage(err, "failed get driver new")
}
storageDriver := driverNew()
// insert storage to database
err = db.CreateStorage(&storage)
if err != nil {
return errors.WithMessage(err, "failed create storage in database")
return storage.ID, errors.WithMessage(err, "failed create storage in database")
}
// already has an id
err = storageDriver.Init(ctx, storage)
@ -53,13 +53,13 @@ func CreateStorage(ctx context.Context, storage model.Storage) error {
if err != nil {
storageDriver.GetStorage().SetStatus(fmt.Sprintf("%+v", err.Error()))
MustSaveDriverStorage(storageDriver)
return errors.Wrapf(err, "failed init storage but storage is already created")
return storage.ID, errors.Wrapf(err, "failed init storage but storage is already created")
} else {
storageDriver.GetStorage().SetStatus(WORK)
MustSaveDriverStorage(storageDriver)
}
log.Debugf("storage %+v is created", storageDriver)
return nil
return storage.ID, nil
}
// LoadStorage load exist storage in db to memory

View File

@ -30,7 +30,7 @@ func TestCreateStorage(t *testing.T) {
{storage: model.Storage{Driver: "None", MountPath: "/none", Addition: `{"root_folder":"."}`}, isErr: true},
}
for _, storage := range storages {
err := op.CreateStorage(context.Background(), storage.storage)
_, err := op.CreateStorage(context.Background(), storage.storage)
if err != nil {
if !storage.isErr {
t.Errorf("failed to create storage: %+v", err)
@ -77,7 +77,7 @@ func setupStorages(t *testing.T) {
{Driver: "Local", MountPath: "/a/d/e.balance", Order: 4, Addition: `{"root_folder":"."}`},
}
for _, storage := range storages {
err := op.CreateStorage(context.Background(), storage)
_, err := op.CreateStorage(context.Background(), storage)
if err != nil {
t.Fatalf("failed to create storage: %+v", err)
}