20 lines
799 B
Go
20 lines
799 B
Go
package invitation
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/tech/sendico/pkg/auth"
|
|
"github.com/tech/sendico/pkg/model"
|
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
|
)
|
|
|
|
type DB interface {
|
|
auth.ProtectedDB[*model.Invitation]
|
|
GetPublic(ctx context.Context, invitationRef primitive.ObjectID) (*model.PublicInvitation, error)
|
|
Accept(ctx context.Context, invitationRef primitive.ObjectID) error
|
|
Decline(ctx context.Context, invitationRef primitive.ObjectID) error
|
|
List(ctx context.Context, accountRef, organizationRef, _ primitive.ObjectID, cursor *model.ViewCursor) ([]model.Invitation, error)
|
|
DeleteCascade(ctx context.Context, accountRef, statusRef primitive.ObjectID) error
|
|
SetArchived(ctx context.Context, accountRef, organizationRef, statusRef primitive.ObjectID, archived, cascade bool) error
|
|
}
|