iam: define IamStorage interface

This commit is contained in:
Chris Lu
2026-01-24 23:46:47 -08:00
parent 41244b1786
commit 4bad0a2e1a
+23
View File
@@ -0,0 +1,23 @@
package iam
import (
"context"
"github.com/seaweedfs/seaweedfs/weed/iam/policy"
"github.com/seaweedfs/seaweedfs/weed/pb/iam_pb"
)
type IamStorage interface {
// Identity Management
CreateIdentity(ctx context.Context, identity *iam_pb.Identity) error
GetIdentity(ctx context.Context, name string) (*iam_pb.Identity, error)
UpdateIdentity(ctx context.Context, identity *iam_pb.Identity) error
DeleteIdentity(ctx context.Context, name string) error
ListIdentities(ctx context.Context, limit int, offset string) ([]*iam_pb.Identity, error)
// Policy Management
CreatePolicy(ctx context.Context, policy *policy.PolicyDocument) error
GetPolicy(ctx context.Context, name string) (*policy.PolicyDocument, error)
DeletePolicy(ctx context.Context, name string) error
ListPolicies(ctx context.Context, limit int, offset string) ([]string, error)
}