mirror of https://github.com/Xhofe/alist
chore: add id to resp of create storage
parent
6e3df9f847
commit
3b6d8987db
|
@ -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,
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -21,6 +21,23 @@ func hidePrivacy(msg string) string {
|
|||
// ErrorResp is used to return error response
|
||||
// @param l: if true, log error
|
||||
func ErrorResp(c *gin.Context, err error, code int, l ...bool) {
|
||||
ErrorWithDataResp(c, err, code, nil, l...)
|
||||
//if len(l) > 0 && l[0] {
|
||||
// if flags.Debug || flags.Dev {
|
||||
// log.Errorf("%+v", err)
|
||||
// } else {
|
||||
// log.Errorf("%v", err)
|
||||
// }
|
||||
//}
|
||||
//c.JSON(200, Resp[interface{}]{
|
||||
// Code: code,
|
||||
// Message: hidePrivacy(err.Error()),
|
||||
// Data: nil,
|
||||
//})
|
||||
//c.Abort()
|
||||
}
|
||||
|
||||
func ErrorWithDataResp(c *gin.Context, err error, code int, data interface{}, l ...bool) {
|
||||
if len(l) > 0 && l[0] {
|
||||
if flags.Debug || flags.Dev {
|
||||
log.Errorf("%+v", err)
|
||||
|
@ -31,7 +48,7 @@ func ErrorResp(c *gin.Context, err error, code int, l ...bool) {
|
|||
c.JSON(200, Resp[interface{}]{
|
||||
Code: code,
|
||||
Message: hidePrivacy(err.Error()),
|
||||
Data: nil,
|
||||
Data: data,
|
||||
})
|
||||
c.Abort()
|
||||
}
|
||||
|
|
|
@ -36,10 +36,14 @@ func CreateStorage(c *gin.Context) {
|
|||
common.ErrorResp(c, err, 400)
|
||||
return
|
||||
}
|
||||
if err := op.CreateStorage(c, req); err != nil {
|
||||
common.ErrorResp(c, err, 500, true)
|
||||
if id, err := op.CreateStorage(c, req); err != nil {
|
||||
common.ErrorWithDataResp(c, err, 500, gin.H{
|
||||
"id": id,
|
||||
}, true)
|
||||
} else {
|
||||
common.SuccessResp(c)
|
||||
common.SuccessResp(c, gin.H{
|
||||
"id": id,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue