first commit
This commit is contained in:
40
backend/internal/domain/repositories/additional.go
Normal file
40
backend/internal/domain/repositories/additional.go
Normal file
@@ -0,0 +1,40 @@
|
||||
package repositories
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/noteapp/backend/internal/domain/entities"
|
||||
"go.mongodb.org/mongo-driver/v2/bson"
|
||||
)
|
||||
|
||||
// AccountRecoveryRepository defines account recovery operations
|
||||
type AccountRecoveryRepository interface {
|
||||
CreateRecovery(ctx context.Context, recovery *entities.AccountRecovery) error
|
||||
GetRecoveryByToken(ctx context.Context, token string) (*entities.AccountRecovery, error)
|
||||
MarkRecoveryUsed(ctx context.Context, id bson.ObjectID) error
|
||||
}
|
||||
|
||||
// FeatureFlagRepository defines app feature-flag operations.
|
||||
type FeatureFlagRepository interface {
|
||||
GetFeatureFlags(ctx context.Context) (*entities.FeatureFlags, error)
|
||||
UpdateFeatureFlags(ctx context.Context, flags *entities.FeatureFlags) error
|
||||
}
|
||||
|
||||
// Additional repository extensions
|
||||
type (
|
||||
// SpaceRepository extensions
|
||||
SpaceRepositoryExt interface {
|
||||
SpaceRepository
|
||||
}
|
||||
|
||||
// MembershipRepository extensions
|
||||
MembershipRepositoryExt interface {
|
||||
MembershipRepository
|
||||
GetUserMemberships(ctx context.Context, userID bson.ObjectID) ([]*entities.Membership, error)
|
||||
}
|
||||
|
||||
// NoteRepository extensions
|
||||
NoteRepositoryExt interface {
|
||||
NoteRepository
|
||||
}
|
||||
)
|
||||
Reference in New Issue
Block a user