init bootstrap
This commit is contained in:
28
local/service/membership_interface.go
Normal file
28
local/service/membership_interface.go
Normal file
@@ -0,0 +1,28 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
"omega-server/local/model"
|
||||
|
||||
"github.com/google/uuid"
|
||||
)
|
||||
|
||||
// MembershipServiceInterface defines the interface for membership-related operations
|
||||
type MembershipServiceInterface interface {
|
||||
// Authentication and Authorization
|
||||
Login(ctx context.Context, username, password string) (string, error)
|
||||
HasPermission(ctx context.Context, userID string, permissionName string) (bool, error)
|
||||
GetUserWithPermissions(ctx context.Context, userID string) (*model.User, error)
|
||||
SetCacheInvalidator(invalidator CacheInvalidator)
|
||||
|
||||
// User Management
|
||||
CreateUser(ctx context.Context, username, password, roleName string) (*model.User, error)
|
||||
ListUsers(ctx context.Context) ([]*model.User, error)
|
||||
GetUser(ctx context.Context, userID uuid.UUID) (*model.User, error)
|
||||
DeleteUser(ctx context.Context, userID uuid.UUID) error
|
||||
UpdateUser(ctx context.Context, userID uuid.UUID, req UpdateUserRequest) (*model.User, error)
|
||||
|
||||
// Role Management
|
||||
GetAllRoles(ctx context.Context) ([]*model.Role, error)
|
||||
SetupInitialData(ctx context.Context) error
|
||||
}
|
||||
Reference in New Issue
Block a user