Files
sendico/api/pkg/db/template/interface.go
Stephan D 62a6631b9a
All checks were successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/nats Pipeline was successful
service backend
2025-11-07 18:35:26 +01:00

22 lines
790 B
Go

package template
import (
"context"
"github.com/tech/sendico/pkg/db/repository/builder"
"github.com/tech/sendico/pkg/db/storable"
"go.mongodb.org/mongo-driver/bson/primitive"
)
type DB[T storable.Storable] interface {
Create(ctx context.Context, object T) error
InsertMany(ctx context.Context, objects []T) error
Get(ctx context.Context, objectRef primitive.ObjectID, result T) error
Update(ctx context.Context, object T) error
Patch(ctx context.Context, objectRef primitive.ObjectID, patch builder.Patch) error
Delete(ctx context.Context, objectRef primitive.ObjectID) error
DeleteMany(ctx context.Context, query builder.Query) error
DeleteCascade(ctx context.Context, objectRef primitive.ObjectID) error
FindOne(ctx context.Context, query builder.Query, result T) error
}