23 lines
833 B
Go
23 lines
833 B
Go
package helpers
|
|
|
|
import (
|
|
"context"
|
|
|
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
|
)
|
|
|
|
// AccountManager defines the interface for account management operations
|
|
type AccountManager interface {
|
|
// DeleteOrganization deletes an organization and all its associated data
|
|
// The caller is responsible for wrapping this in a transaction
|
|
DeleteOrganization(ctx context.Context, orgRef primitive.ObjectID) error
|
|
|
|
// DeleteAccount deletes an account and all its associated data
|
|
// The caller is responsible for wrapping this in a transaction
|
|
DeleteAccount(ctx context.Context, accountRef primitive.ObjectID) error
|
|
|
|
// DeleteAll deletes all data for a given account and organization
|
|
// The caller is responsible for wrapping this in a transaction
|
|
DeleteAll(ctx context.Context, accountRef, organizationRef primitive.ObjectID) error
|
|
}
|