diff --git a/app/handler/aaafunc.go b/app/handler/aaafunc.go index 7fb4c75..ea2153b 100644 --- a/app/handler/aaafunc.go +++ b/app/handler/aaafunc.go @@ -17,7 +17,7 @@ import ( "mstore/app/router" "mstore/pkg/auxhttp" "mstore/pkg/auxpwd" - "mstore/pkg/terms" + "mstore/pkg/term" "mstore/pkg/uuid" ) @@ -51,7 +51,7 @@ func (hand *Handler) CheckAccess(rctx *router.Context) (bool, uuid.UUID, error) var password string var accountID uuid.UUID - accountID = terms.AnonymousID + accountID = term.AnonymousID authHeader := rctx.GetHeader("Authorization") if authHeader != "" { @@ -76,7 +76,7 @@ func (hand *Handler) CheckAccess(rctx *router.Context) (bool, uuid.UUID, error) } anonymous: success = true - accountID = terms.AnonymousID + accountID = term.AnonymousID return success, accountID, err } @@ -102,7 +102,7 @@ func (hand *Handler) ValidatePassword(ctx context.Context, username, password st // Authorization -func (hand *Handler) CheckRight(ctx context.Context, accountID uuid.UUID, reqRight terms.Right, subject string) (bool, error) { +func (hand *Handler) CheckRight(ctx context.Context, accountID uuid.UUID, reqRight term.Right, subject string) (bool, error) { var err error var res bool //hand.logg.Debugf("Cop check your right %s: %s %s", accountID, reqRight, subject) @@ -121,7 +121,7 @@ func (hand *Handler) CheckRight(ctx context.Context, accountID uuid.UUID, reqRig return res, err } switch reqRight { - case terms.RightReadFiles, terms.RightWriteFiles: + case term.RightReadFiles, term.RightWriteFiles: for _, grant := range grants { re, err := regexp.Compile(grant.Pattern) if err != nil { diff --git a/app/handler/account.go b/app/handler/account.go index 95db7e7..e319b89 100644 --- a/app/handler/account.go +++ b/app/handler/account.go @@ -14,7 +14,7 @@ import ( "mstore/app/operator" "mstore/app/router" - "mstore/pkg/terms" + "mstore/pkg/term" "mstore/pkg/uuid" ) @@ -30,7 +30,7 @@ func (hand *Handler) CreateAccount(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightWriteAccounts, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightWriteAccounts, "") if err != nil { err := fmt.Errorf("Operation error: %v", err) hand.SendError(rctx, err) @@ -63,7 +63,7 @@ func (hand *Handler) GetAccount(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightWriteAccounts, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightWriteAccounts, "") if err != nil { err := fmt.Errorf("Operation error: %v", err) hand.SendError(rctx, err) @@ -96,7 +96,7 @@ func (hand *Handler) ListAccounts(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightWriteAccounts, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightWriteAccounts, "") if err != nil { err := fmt.Errorf("Operation error: %v", err) hand.SendError(rctx, err) @@ -129,7 +129,7 @@ func (hand *Handler) UpdateAccount(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightWriteAccounts, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightWriteAccounts, "") if err != nil { err := fmt.Errorf("Operation error: %v", err) hand.SendError(rctx, err) @@ -162,7 +162,7 @@ func (hand *Handler) DeleteAccount(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightWriteAccounts, params.Username) + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightWriteAccounts, params.Username) if err != nil { err := fmt.Errorf("Operation error: %v", err) hand.SendError(rctx, err) diff --git a/app/handler/blob.go b/app/handler/blob.go index 4b83696..987335c 100644 --- a/app/handler/blob.go +++ b/app/handler/blob.go @@ -16,7 +16,7 @@ import ( "mstore/app/operator" "mstore/app/router" - "mstore/pkg/terms" + "mstore/pkg/term" "mstore/pkg/uuid" ) @@ -33,7 +33,7 @@ func (hand *Handler) BlobExists(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightReadImages, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightReadImages, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return @@ -73,7 +73,7 @@ func (hand *Handler) PostUpload(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightWriteImages, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightWriteImages, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return @@ -118,7 +118,7 @@ func (hand *Handler) PatchUpload(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightWriteImages, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightWriteImages, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return @@ -162,7 +162,7 @@ func (hand *Handler) PutUpload(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightWriteImages, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightWriteImages, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return @@ -192,7 +192,7 @@ func (hand *Handler) GetBlob(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightReadImages, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightReadImages, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return @@ -238,7 +238,7 @@ func (hand *Handler) DeleteBlob(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightWriteImages, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightWriteImages, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return diff --git a/app/handler/file.go b/app/handler/file.go index db50f18..78d1472 100644 --- a/app/handler/file.go +++ b/app/handler/file.go @@ -15,7 +15,7 @@ import ( "mstore/app/operator" "mstore/app/router" - "mstore/pkg/terms" + "mstore/pkg/term" "mstore/pkg/uuid" ) @@ -29,7 +29,7 @@ func (hand *Handler) FileInfo(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightReadFiles, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightReadFiles, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return @@ -74,7 +74,7 @@ func (hand *Handler) PutFile(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightWriteFiles, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightWriteFiles, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return @@ -102,7 +102,7 @@ func (hand *Handler) GetFile(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightReadFiles, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightReadFiles, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return @@ -150,7 +150,7 @@ func (hand *Handler) DeleteFile(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightWriteFiles, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightWriteFiles, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return @@ -187,7 +187,7 @@ func (hand *Handler) ListFiles(rctx *router.Context) { // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightReadFiles, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightReadFiles, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return @@ -224,7 +224,7 @@ func (hand *Handler) ListCollections(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightReadFiles, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightReadFiles, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return @@ -262,7 +262,7 @@ func (hand *Handler) DeleteCollection(rctx *router.Context) { // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightReadFiles, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightReadFiles, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return diff --git a/app/handler/grant.go b/app/handler/grant.go index d80630d..2c9cbba 100644 --- a/app/handler/grant.go +++ b/app/handler/grant.go @@ -14,7 +14,7 @@ import ( "mstore/app/operator" "mstore/app/router" - "mstore/pkg/terms" + "mstore/pkg/term" "mstore/pkg/uuid" ) @@ -30,7 +30,7 @@ func (hand *Handler) CreateGrant(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightWriteAccounts, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightWriteAccounts, "") if err != nil { err := fmt.Errorf("Operation error: %v", err) hand.SendError(rctx, err) @@ -63,7 +63,7 @@ func (hand *Handler) GetGrant(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightReadAccounts, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightReadAccounts, "") if err != nil { err := fmt.Errorf("Operation error: %v", err) hand.SendError(rctx, err) @@ -96,7 +96,7 @@ func (hand *Handler) ListGrants(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightReadAccounts, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightReadAccounts, "") if err != nil { err := fmt.Errorf("Operation error: %v", err) hand.SendError(rctx, err) @@ -129,7 +129,7 @@ func (hand *Handler) UpdateGrant(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightWriteAccounts, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightWriteAccounts, "") if err != nil { err := fmt.Errorf("Operation error: %v", err) hand.SendError(rctx, err) @@ -162,7 +162,7 @@ func (hand *Handler) DeleteGrant(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightWriteAccounts, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightWriteAccounts, "") if err != nil { err := fmt.Errorf("Operation error: %v", err) hand.SendError(rctx, err) diff --git a/app/handler/manifest.go b/app/handler/manifest.go index fc0d273..bcdcd64 100644 --- a/app/handler/manifest.go +++ b/app/handler/manifest.go @@ -14,7 +14,7 @@ import ( "mstore/app/operator" "mstore/app/router" - "mstore/pkg/terms" + "mstore/pkg/term" "mstore/pkg/uuid" ) @@ -30,7 +30,7 @@ func (hand *Handler) ManifestExists(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightReadImages, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightReadImages, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return @@ -72,7 +72,7 @@ func (hand *Handler) PutManifest(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightWriteImages, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightWriteImages, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return @@ -105,7 +105,7 @@ func (hand *Handler) GetManifest(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightReadImages, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightReadImages, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return @@ -145,7 +145,7 @@ func (hand *Handler) DeleteManifest(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightWriteImages, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightWriteImages, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return @@ -174,7 +174,7 @@ func (hand *Handler) GetReferer(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightReadImages, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightReadImages, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return @@ -200,7 +200,7 @@ func (hand *Handler) GetTags(rctx *router.Context) { } // Rigth checking operatorID, _ := rctx.GetString(userTag) - opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), terms.RightReadImages, "") + opEnable, err := hand.CheckRight(rctx.Ctx, uuid.UUID(operatorID), term.RightReadImages, "") if err != nil { rctx.SetStatus(http.StatusInternalServerError) return diff --git a/app/maindb/grant.go b/app/maindb/grant.go index 1a6f4d6..e90b73c 100644 --- a/app/maindb/grant.go +++ b/app/maindb/grant.go @@ -13,7 +13,7 @@ import ( "context" "mstore/pkg/descr" - "mstore/pkg/terms" + "mstore/pkg/term" "mstore/pkg/uuid" ) @@ -78,7 +78,7 @@ func (db *Database) GetGrantByID(ctx context.Context, id uuid.UUID) (bool, *desc return true, res, err } -func (db *Database) GetGrantByAccoundIDRight(ctx context.Context, accountID uuid.UUID, right terms.Right) (bool, *descr.Grant, error) { +func (db *Database) GetGrantByAccoundIDRight(ctx context.Context, accountID uuid.UUID, right term.Right) (bool, *descr.Grant, error) { var err error res := &descr.Grant{} request := `SELECT * FROM grants WHERE account_id = $1 AND right = $2 LIMIT 1` @@ -95,7 +95,7 @@ func (db *Database) GetGrantByAccoundIDRight(ctx context.Context, accountID uuid return true, res, err } -func (db *Database) ListGrantsByAccoundIDRight(ctx context.Context, accountID uuid.UUID, right terms.Right) (bool, []descr.Grant, error) { +func (db *Database) ListGrantsByAccoundIDRight(ctx context.Context, accountID uuid.UUID, right term.Right) (bool, []descr.Grant, error) { var err error request := `SELECT * FROM grants WHERE account_id = $1 AND right = $2` res := make([]descr.Grant, 0) @@ -109,7 +109,7 @@ func (db *Database) ListGrantsByAccoundIDRight(ctx context.Context, accountID uu return true, res, err } -func (db *Database) GetGrantByAccoundIDRightPattern(ctx context.Context, accountID uuid.UUID, right terms.Right, pattern string) (bool, *descr.Grant, error) { +func (db *Database) GetGrantByAccoundIDRightPattern(ctx context.Context, accountID uuid.UUID, right term.Right, pattern string) (bool, *descr.Grant, error) { var err error res := &descr.Grant{} request := `SELECT * FROM grants WHERE account_id = $1 AND right = $2 AND pattern = $3 LIMIT 1` diff --git a/app/maindb/init.go b/app/maindb/init.go index ffeeb25..7368bc1 100644 --- a/app/maindb/init.go +++ b/app/maindb/init.go @@ -16,7 +16,7 @@ import ( "mstore/pkg/auxpwd" "mstore/pkg/auxtool" "mstore/pkg/descr" - "mstore/pkg/terms" + "mstore/pkg/term" "mstore/pkg/uuid" ) @@ -27,14 +27,14 @@ func (db *Database) WriteAnonymous(ctx context.Context) error { password := auxtool.RandomString(64) passhash := auxpwd.MakeSHA256Hash([]byte(password)) accountDescr := &descr.Account{ - ID: terms.AnonymousID, - Username: terms.AnonimousUsername, + ID: term.AnonymousID, + Username: term.AnonimousUsername, Passhash: passhash, Disabled: false, CreatedAt: now, UpdatedAt: now, - CreatedBy: terms.ServerID, - UpdatedBy: terms.ServerID, + CreatedBy: term.ServerID, + UpdatedBy: term.ServerID, } err = db.InsertAccount(ctx, accountDescr) if err != nil { @@ -43,12 +43,12 @@ func (db *Database) WriteAnonymous(ctx context.Context) error { grantDescr := &descr.Grant{ ID: uuid.NewUUID(), AccountID: accountDescr.ID, - Right: terms.RightReadFiles, + Right: term.RightReadFiles, Pattern: ".*", CreatedAt: now, UpdatedAt: now, - CreatedBy: terms.ServerID, - UpdatedBy: terms.ServerID, + CreatedBy: term.ServerID, + UpdatedBy: term.ServerID, } err = db.InsertGrant(ctx, grantDescr) if err != nil { @@ -57,12 +57,12 @@ func (db *Database) WriteAnonymous(ctx context.Context) error { grantDescr = &descr.Grant{ ID: uuid.NewUUID(), AccountID: accountDescr.ID, - Right: terms.RightReadImages, + Right: term.RightReadImages, Pattern: ".*", CreatedAt: now, UpdatedAt: now, - CreatedBy: terms.ServerID, - UpdatedBy: terms.ServerID, + CreatedBy: term.ServerID, + UpdatedBy: term.ServerID, } err = db.InsertGrant(ctx, grantDescr) if err != nil { @@ -76,16 +76,16 @@ func (db *Database) WriteAnonymous(ctx context.Context) error { func (db *Database) WriteInituser(ctx context.Context) error { var err error now := auxtool.TimeNow() - passhash := auxpwd.MakeSHA256Hash([]byte(terms.InitUsername)) + passhash := auxpwd.MakeSHA256Hash([]byte(term.InitUsername)) accountDescr := &descr.Account{ - ID: terms.InitID, - Username: terms.InitUsername, + ID: term.InitID, + Username: term.InitUsername, Passhash: passhash, Disabled: false, CreatedAt: now, UpdatedAt: now, - CreatedBy: terms.ServerID, - UpdatedBy: terms.ServerID, + CreatedBy: term.ServerID, + UpdatedBy: term.ServerID, } err = db.InsertAccount(ctx, accountDescr) if err != nil { @@ -95,12 +95,12 @@ func (db *Database) WriteInituser(ctx context.Context) error { grantDescr := &descr.Grant{ ID: uuid.NewUUID(), AccountID: accountDescr.ID, - Right: terms.RightReadFiles, + Right: term.RightReadFiles, Pattern: ".*", CreatedAt: now, UpdatedAt: now, - CreatedBy: terms.ServerID, - UpdatedBy: terms.ServerID, + CreatedBy: term.ServerID, + UpdatedBy: term.ServerID, } err = db.InsertGrant(ctx, grantDescr) if err != nil { @@ -109,12 +109,12 @@ func (db *Database) WriteInituser(ctx context.Context) error { grantDescr = &descr.Grant{ ID: uuid.NewUUID(), AccountID: accountDescr.ID, - Right: terms.RightWriteFiles, + Right: term.RightWriteFiles, Pattern: ".*", CreatedAt: now, UpdatedAt: now, - CreatedBy: terms.ServerID, - UpdatedBy: terms.ServerID, + CreatedBy: term.ServerID, + UpdatedBy: term.ServerID, } err = db.InsertGrant(ctx, grantDescr) if err != nil { @@ -124,12 +124,12 @@ func (db *Database) WriteInituser(ctx context.Context) error { grantDescr = &descr.Grant{ ID: uuid.NewUUID(), AccountID: accountDescr.ID, - Right: terms.RightReadAccounts, + Right: term.RightReadAccounts, Pattern: ".*", CreatedAt: now, UpdatedAt: now, - CreatedBy: terms.ServerID, - UpdatedBy: terms.ServerID, + CreatedBy: term.ServerID, + UpdatedBy: term.ServerID, } err = db.InsertGrant(ctx, grantDescr) if err != nil { @@ -138,12 +138,12 @@ func (db *Database) WriteInituser(ctx context.Context) error { grantDescr = &descr.Grant{ ID: uuid.NewUUID(), AccountID: accountDescr.ID, - Right: terms.RightWriteAccounts, + Right: term.RightWriteAccounts, Pattern: ".*", CreatedAt: now, UpdatedAt: now, - CreatedBy: terms.ServerID, - UpdatedBy: terms.ServerID, + CreatedBy: term.ServerID, + UpdatedBy: term.ServerID, } err = db.InsertGrant(ctx, grantDescr) if err != nil { @@ -153,12 +153,12 @@ func (db *Database) WriteInituser(ctx context.Context) error { grantDescr = &descr.Grant{ ID: uuid.NewUUID(), AccountID: accountDescr.ID, - Right: terms.RightReadImages, + Right: term.RightReadImages, Pattern: ".*", CreatedAt: now, UpdatedAt: now, - CreatedBy: terms.ServerID, - UpdatedBy: terms.ServerID, + CreatedBy: term.ServerID, + UpdatedBy: term.ServerID, } err = db.InsertGrant(ctx, grantDescr) if err != nil { @@ -167,12 +167,12 @@ func (db *Database) WriteInituser(ctx context.Context) error { grantDescr = &descr.Grant{ ID: uuid.NewUUID(), AccountID: accountDescr.ID, - Right: terms.RightWriteImages, + Right: term.RightWriteImages, Pattern: ".*", CreatedAt: now, UpdatedAt: now, - CreatedBy: terms.ServerID, - UpdatedBy: terms.ServerID, + CreatedBy: term.ServerID, + UpdatedBy: term.ServerID, } err = db.InsertGrant(ctx, grantDescr) if err != nil { diff --git a/app/operator/file.go b/app/operator/file.go index ac5c3b4..30117ea 100644 --- a/app/operator/file.go +++ b/app/operator/file.go @@ -23,7 +23,7 @@ import ( "mstore/pkg/auxtool" "mstore/pkg/descr" - "mstore/pkg/terms" + "mstore/pkg/term" "mstore/pkg/uuid" ) @@ -288,7 +288,7 @@ func (oper *Operator) DeleteFile(ctx context.Context, operatorID uuid.UUID, para // ListFiles type ListFilesParams struct { Filepath string - PathAs terms.PathUsage `param:"pathAs"` + PathAs term.PathUsage `param:"pathAs"` } type ListFilesResult struct { Files []descr.File `json:"files,omitempty"` @@ -300,14 +300,14 @@ func (oper *Operator) ListFiles(ctx context.Context, operatorID uuid.UUID, param Files: make([]descr.File, 0), } switch params.PathAs { - case terms.AsRegexp: + case term.AsRegexp: files, err := oper.listFilesWithRegex(ctx, params.Filepath) if err != nil { code := http.StatusInternalServerError return code, res, err } res.Files = files - case terms.AsPrefix: + case term.AsPrefix: params.Filepath, err = cleanFilepath(params.Filepath) if err != nil { code := http.StatusInternalServerError @@ -400,7 +400,7 @@ func (oper *Operator) listFilesWithRegex(ctx context.Context, regex string) ([]d // ListCollections type ListCollectionsParams struct { Path string - PathAS terms.PathUsage `param:"pathAs"` + PathAS term.PathUsage `param:"pathAs"` } type ListCollectionsResult struct { Collections []string `json:"collection,omitempty"` @@ -414,13 +414,13 @@ func (oper *Operator) ListCollections(ctx context.Context, operatorID uuid.UUID, collectionList := make([]string, 0) switch param.PathAS { - case terms.AsRegexp: + case term.AsRegexp: collectionList, err = oper.listCollectionsWithRegexp(ctx, param.Path) if err != nil { code := http.StatusInternalServerError return code, res, err } - case terms.AsPrefix: + case term.AsPrefix: param.Path, err = cleanFilepath(param.Path) if err != nil { code := http.StatusInternalServerError @@ -532,8 +532,8 @@ func (oper *Operator) listAllCollections(ctx context.Context) ([]string, error) // DeleteColletion type DeleteColletionParams struct { Path string - PathAs terms.PathUsage `param:"pathAs"` - DryRun bool `param:"dryRun"` + PathAs term.PathUsage `param:"pathAs"` + DryRun bool `param:"dryRun"` } type DeleteColletionResult struct { Files []descr.File `json:"files,omitempty"` @@ -545,7 +545,7 @@ func (oper *Operator) DeleteColletion(ctx context.Context, operatorID uuid.UUID, Files: make([]descr.File, 0), } switch param.PathAs { - case terms.AsRegexp: + case term.AsRegexp: collections, err := oper.listCollectionsWithRegexp(ctx, param.Path) if err != nil { code := http.StatusInternalServerError @@ -562,7 +562,7 @@ func (oper *Operator) DeleteColletion(ctx context.Context, operatorID uuid.UUID, } res.Files = allfiles - case terms.AsPrefix: + case term.AsPrefix: param.Path, err = cleanFilepath(param.Path) if err != nil { code := http.StatusInternalServerError diff --git a/app/operator/grant.go b/app/operator/grant.go index 1694b8c..e20f0da 100644 --- a/app/operator/grant.go +++ b/app/operator/grant.go @@ -7,16 +7,16 @@ import ( "mstore/pkg/auxtool" "mstore/pkg/descr" - "mstore/pkg/terms" + "mstore/pkg/term" "mstore/pkg/uuid" ) // CreateGrant type CreateGrantParams struct { - AccountID uuid.UUID `json:"accountID"` - Username string `json:"username"` - Right terms.Right `json:"operation"` - Pattern string `json:"pattern"` + AccountID uuid.UUID `json:"accountID"` + Username string `json:"username"` + Right term.Right `json:"operation"` + Pattern string `json:"pattern"` } type CreateGrantResult struct { GrantID uuid.UUID `json:"grantId"` diff --git a/cmd/mstorectl/accountcmd.go b/cmd/mstorectl/accountcmd.go index 128d75d..5bf11d1 100644 --- a/cmd/mstorectl/accountcmd.go +++ b/cmd/mstorectl/accountcmd.go @@ -20,7 +20,7 @@ import ( "mstore/pkg/client" "mstore/pkg/descr" - "mstore/pkg/terms" + "mstore/pkg/term" "mstore/pkg/uuid" ) @@ -126,8 +126,8 @@ type CreateAccountParams struct { NewPassword string } type CreateAccountResult struct { - AccountID uuid.UUID `yaml:"accountId"` - Grants map[uuid.UUID]terms.Right `yaml:"grantsIds,omitempty"` + AccountID uuid.UUID `yaml:"accountId"` + Grants map[uuid.UUID]term.Right `yaml:"grantsIds,omitempty"` } func (util *AccountUtil) CreateAccount(cmd *cobra.Command, args []string) { @@ -141,7 +141,7 @@ func (util *AccountUtil) CreateAccount(cmd *cobra.Command, args []string) { func (util *AccountUtil) createAccount(common *CommonAccountParams, params *CreateAccountParams) (*CreateAccountResult, error) { var err error res := &CreateAccountResult{ - Grants: make(map[uuid.UUID]terms.Right, 0), + Grants: make(map[uuid.UUID]term.Right, 0), } hostname, err := packUserinfo(common.Hostname, common.Username, common.Password) if err != nil { @@ -154,13 +154,13 @@ func (util *AccountUtil) createAccount(common *CommonAccountParams, params *Crea return res, err } - fullRights := []terms.Right{ - terms.RightWriteAccounts, - terms.RightReadAccounts, - terms.RightWriteFiles, - terms.RightReadFiles, - terms.RightWriteImages, - terms.RightReadImages, + fullRights := []term.Right{ + term.RightWriteAccounts, + term.RightReadAccounts, + term.RightWriteFiles, + term.RightReadFiles, + term.RightWriteImages, + term.RightReadImages, } for _, right := range fullRights { id, err := client.NewClient().CreateGrantByAccountID(ctx, hostname, accountID, right, ".*") @@ -299,9 +299,9 @@ type ListAccountsParams struct { } type Userinfo struct { - Username string `yaml:"username,omitempty"` - AccountID uuid.UUID `yaml:"accountId,omitempty"` - Rights map[uuid.UUID]terms.Right `yaml:"rights,omitempty"` + Username string `yaml:"username,omitempty"` + AccountID uuid.UUID `yaml:"accountId,omitempty"` + Rights map[uuid.UUID]term.Right `yaml:"rights,omitempty"` } type ListAccountsResult struct { @@ -350,7 +350,7 @@ func (util *AccountUtil) listAccounts(common *CommonAccountParams, params *ListA userinfo := Userinfo{ Username: account.Username, AccountID: account.ID, - Rights: make(map[uuid.UUID]terms.Right, 0), + Rights: make(map[uuid.UUID]term.Right, 0), } for _, grant := range account.Grants { userinfo.Rights[grant.ID] = grant.Right diff --git a/cmd/mstorectl/filecmd.go b/cmd/mstorectl/filecmd.go index 0567b86..92b658d 100644 --- a/cmd/mstorectl/filecmd.go +++ b/cmd/mstorectl/filecmd.go @@ -27,7 +27,7 @@ import ( "mstore/pkg/client" "mstore/pkg/descr" - "mstore/pkg/terms" + "mstore/pkg/term" ) func (util *FileUtil) CreateFileCmds() *cobra.Command { @@ -338,14 +338,14 @@ func (util *FileUtil) listFiles(common *CommonFileParams, params *ListFilesParam if params.AsRegexp { params.AsPrefix = false } - var pathAs terms.PathUsage + var pathAs term.PathUsage switch { case params.AsRegexp: - pathAs = terms.AsRegexp + pathAs = term.AsRegexp case params.AsPrefix: - pathAs = terms.AsPrefix + pathAs = term.AsPrefix default: - pathAs = terms.AsFinePath + pathAs = term.AsFinePath } timeout := time.Duration(common.Timeout) * time.Second ctx, _ := context.WithTimeout(context.Background(), timeout) @@ -464,14 +464,14 @@ func (util *FileUtil) exportFiles(common *CommonFileParams, params *ExportFilesP if params.AsRegexp { params.AsPrefix = false } - var pathAs terms.PathUsage + var pathAs term.PathUsage switch { case params.AsRegexp: - pathAs = terms.AsRegexp + pathAs = term.AsRegexp case params.AsPrefix: - pathAs = terms.AsPrefix + pathAs = term.AsPrefix default: - pathAs = terms.AsFinePath + pathAs = term.AsFinePath } timeout := time.Duration(common.Timeout) * time.Second ctx, _ := context.WithTimeout(context.Background(), timeout) @@ -553,14 +553,14 @@ func (util *FileUtil) listCollections(common *CommonFileParams, params *ListColl if params.AsRegexp { params.AsPrefix = false } - var pathAs terms.PathUsage + var pathAs term.PathUsage switch { case params.AsRegexp: - pathAs = terms.AsRegexp + pathAs = term.AsRegexp case params.AsPrefix: - pathAs = terms.AsPrefix + pathAs = term.AsPrefix default: - pathAs = terms.AsFinePath + pathAs = term.AsFinePath } timeout := time.Duration(common.Timeout) * time.Second ctx, _ := context.WithTimeout(context.Background(), timeout) @@ -603,12 +603,12 @@ func (util *FileUtil) deleteCollection(common *CommonFileParams, params *DeleteC } timeout := time.Duration(common.Timeout) * time.Second ctx, _ := context.WithTimeout(context.Background(), timeout) - var pathAs terms.PathUsage + var pathAs term.PathUsage switch { case params.AsPrefix: - pathAs = terms.AsPrefix + pathAs = term.AsPrefix default: - pathAs = terms.AsFinePath + pathAs = term.AsFinePath } files, err := client.NewClient().DeleteCollection(ctx, params.Path, pathAs, params.DryRun) if err != nil { diff --git a/cmd/mstorectl/grantcmd.go b/cmd/mstorectl/grantcmd.go index b0cdb81..84e5f34 100644 --- a/cmd/mstorectl/grantcmd.go +++ b/cmd/mstorectl/grantcmd.go @@ -20,7 +20,7 @@ import ( "mstore/pkg/client" "mstore/pkg/descr" - "mstore/pkg/terms" + "mstore/pkg/term" "mstore/pkg/uuid" ) @@ -142,9 +142,9 @@ func (util *GrantUtil) createGrant(common *CommonGrantParams, params *CreateGran id := strings.ToLower(params.AccountID) var operRes uuid.UUID if re.MatchString(id) { - operRes, err = client.NewClient().CreateGrantByAccountID(ctx, hostname, uuid.UUID(id), terms.Right(params.Right), params.Pattern) + operRes, err = client.NewClient().CreateGrantByAccountID(ctx, hostname, uuid.UUID(id), term.Right(params.Right), params.Pattern) } else { - operRes, err = client.NewClient().CreateGrantByUsername(ctx, hostname, params.AccountID, terms.Right(params.Right), params.Pattern) + operRes, err = client.NewClient().CreateGrantByUsername(ctx, hostname, params.AccountID, term.Right(params.Right), params.Pattern) } if err != nil { return res, err @@ -259,8 +259,8 @@ type ListGrantsParams struct { } type ListGrantsResult struct { - Grants []descr.Grant `yaml:"grants,omitempty"` - Rights map[uuid.UUID]terms.Right `yaml:"rights,omitempty"` + Grants []descr.Grant `yaml:"grants,omitempty"` + Rights map[uuid.UUID]term.Right `yaml:"rights,omitempty"` } func (util *GrantUtil) ListGrants(cmd *cobra.Command, args []string) { @@ -292,7 +292,7 @@ func (util *GrantUtil) listGrants(common *CommonGrantParams, params *ListGrantsP if params.Detail { res.Grants = grants } else { - res.Rights = make(map[uuid.UUID]terms.Right, 0) + res.Rights = make(map[uuid.UUID]term.Right, 0) for _, item := range grants { res.Rights[item.ID] = item.Right } diff --git a/pkg/client/file.go b/pkg/client/file.go index 850d4f3..2655c72 100644 --- a/pkg/client/file.go +++ b/pkg/client/file.go @@ -23,7 +23,7 @@ import ( "mstore/pkg/auxhttp" "mstore/pkg/descr" - "mstore/pkg/terms" + "mstore/pkg/term" ) func (cli *Client) FileInfo(ctx context.Context, fileuri string) (bool, *descr.File, error) { @@ -209,7 +209,7 @@ func (cli *Client) DeleteFile(ctx context.Context, fileuri string) error { return err } -func (cli *Client) ListFiles(ctx context.Context, catalogURI string, usePathAs terms.PathUsage) ([]descr.File, error) { +func (cli *Client) ListFiles(ctx context.Context, catalogURI string, usePathAs term.PathUsage) ([]descr.File, error) { var err error res := make([]descr.File, 0) @@ -277,7 +277,7 @@ func (cli *Client) ListFiles(ctx context.Context, catalogURI string, usePathAs t return res, err } -func (cli *Client) ListCollections(ctx context.Context, catalogURI string, usePathAs terms.PathUsage) ([]string, error) { +func (cli *Client) ListCollections(ctx context.Context, catalogURI string, usePathAs term.PathUsage) ([]string, error) { var err error res := make([]string, 0) @@ -346,7 +346,7 @@ func (cli *Client) ListCollections(ctx context.Context, catalogURI string, usePa return res, err } -func (cli *Client) DeleteCollection(ctx context.Context, catalogURI string, usePathAs terms.PathUsage, dryRun bool) ([]descr.File, error) { +func (cli *Client) DeleteCollection(ctx context.Context, catalogURI string, usePathAs term.PathUsage, dryRun bool) ([]descr.File, error) { var err error res := make([]descr.File, 0) diff --git a/pkg/client/grant.go b/pkg/client/grant.go index 2959d44..6f33315 100644 --- a/pkg/client/grant.go +++ b/pkg/client/grant.go @@ -17,11 +17,11 @@ import ( "mstore/app/handler" "mstore/app/operator" "mstore/pkg/descr" - "mstore/pkg/terms" + "mstore/pkg/term" "mstore/pkg/uuid" ) -func (cli *Client) CreateGrantByAccountID(ctx context.Context, hosturi string, accountID uuid.UUID, right terms.Right, pattern string) (uuid.UUID, error) { +func (cli *Client) CreateGrantByAccountID(ctx context.Context, hosturi string, accountID uuid.UUID, right term.Right, pattern string) (uuid.UUID, error) { var err error var res uuid.UUID @@ -56,7 +56,7 @@ func (cli *Client) CreateGrantByAccountID(ctx context.Context, hosturi string, a return res, err } -func (cli *Client) CreateGrantByUsername(ctx context.Context, hosturi, username string, right terms.Right, pattern string) (uuid.UUID, error) { +func (cli *Client) CreateGrantByUsername(ctx context.Context, hosturi, username string, right term.Right, pattern string) (uuid.UUID, error) { var err error var res uuid.UUID diff --git a/pkg/descr/grant.go b/pkg/descr/grant.go index 849570b..4efb483 100644 --- a/pkg/descr/grant.go +++ b/pkg/descr/grant.go @@ -11,17 +11,17 @@ package descr import ( - "mstore/pkg/terms" + "mstore/pkg/term" "mstore/pkg/uuid" ) type Grant struct { - ID uuid.UUID `json:"id" db:"id"` - AccountID uuid.UUID `json:"accountID" db:"account_id"` - Right terms.Right `json:"right" db:"right"` - Pattern string `json:"pattern" db:"pattern"` - CreatedAt string `json:"createdAt" db:"created_at"` - UpdatedAt string `json:"updatedAt" db:"updated_at"` - CreatedBy uuid.UUID `json:"createdBy" db:"created_by"` - UpdatedBy uuid.UUID `json:"updatedBy" db:"updated_by"` + ID uuid.UUID `json:"id" db:"id"` + AccountID uuid.UUID `json:"accountID" db:"account_id"` + Right term.Right `json:"right" db:"right"` + Pattern string `json:"pattern" db:"pattern"` + CreatedAt string `json:"createdAt" db:"created_at"` + UpdatedAt string `json:"updatedAt" db:"updated_at"` + CreatedBy uuid.UUID `json:"createdBy" db:"created_by"` + UpdatedBy uuid.UUID `json:"updatedBy" db:"updated_by"` } diff --git a/pkg/terms/terms.go b/pkg/term/terms.go similarity index 98% rename from pkg/terms/terms.go rename to pkg/term/terms.go index 0d8421d..eaac7bd 100644 --- a/pkg/terms/terms.go +++ b/pkg/term/terms.go @@ -8,7 +8,7 @@ * modifications are strictly prohibited. */ -package terms +package term import ( "mstore/pkg/uuid" diff --git a/pkg/uuid/uuid.go b/pkg/uuid/uuid.go new file mode 100644 index 0000000..48a678f --- /dev/null +++ b/pkg/uuid/uuid.go @@ -0,0 +1,22 @@ +/* + * Copyright 2026 Oleg Borodin + * + * This work is published and licensed under a Creative Commons + * Attribution-NonCommercial-NoDerivatives 4.0 International License. + * + * Distribution of this work is permitted, but commercial use and + * modifications are strictly prohibited. + */ +package uuid + +import ( + "github.com/google/uuid" +) + +type UUID string + +const ZeroUUID UUID = "00000000-0000-0000-0000-000000000000" + +func NewUUID() UUID { + return UUID(uuid.New().String()) +}