github.com/angryronald/go-kit@v0.0.0-20240505173814-ff2bd9c79dbf/generic/repository/generic.interface.go (about) 1 package repository 2 3 import ( 4 "context" 5 6 "github.com/google/uuid" 7 ) 8 9 type GenericRepositoryInterface interface { 10 FindAll(ctx context.Context, params map[string]interface{}, conditionalOperations []ConditionalOperation, relationalOperations []RelationalOperation, page int, limit int, result interface{}) (interface{}, error) 11 FindOne(ctx context.Context, key string, value interface{}, result interface{}) (interface{}, error) 12 FindByID(ctx context.Context, id uuid.UUID, result interface{}) (interface{}, error) 13 Insert(ctx context.Context, data interface{}) (interface{}, error) 14 Update(ctx context.Context, data interface{}) (interface{}, error) 15 Delete(ctx context.Context, data interface{}) (interface{}, error) 16 Upsert(ctx context.Context, data interface{}) (interface{}, error) 17 BulkInsert(ctx context.Context, data interface{}) (interface{}, error) 18 BulkUpsert(ctx context.Context, data interface{}) (interface{}, error) 19 Query(ctx context.Context, query string, params []interface{}, result interface{}) (interface{}, error) 20 } 21 22 type ImmutableGenericRepositoryInterface interface { 23 FindAll(ctx context.Context, params map[string]interface{}, conditionalOperations []ConditionalOperation, relationalOperations []RelationalOperation, page int, limit int, result interface{}) (interface{}, error) 24 FindOne(ctx context.Context, key string, value interface{}, result interface{}) (interface{}, error) 25 FindByID(ctx context.Context, id uuid.UUID, result interface{}) (interface{}, error) 26 Insert(ctx context.Context, data interface{}) (interface{}, error) 27 BulkInsert(ctx context.Context, data interface{}) (interface{}, error) 28 Query(ctx context.Context, query string, params []interface{}, result interface{}) (interface{}, error) 29 } 30 31 type MutableGenericRepositoryInterface interface { 32 FindAll(ctx context.Context, params map[string]interface{}, conditionalOperations []ConditionalOperation, relationalOperations []RelationalOperation, page int, limit int, result interface{}) (interface{}, error) 33 FindOne(ctx context.Context, key string, value interface{}, result interface{}) (interface{}, error) 34 FindByID(ctx context.Context, id uuid.UUID, result interface{}) (interface{}, error) 35 Insert(ctx context.Context, data interface{}) (interface{}, error) 36 Update(ctx context.Context, data interface{}) (interface{}, error) 37 Delete(ctx context.Context, data interface{}) (interface{}, error) 38 Upsert(ctx context.Context, data interface{}) (interface{}, error) 39 BulkUpsert(ctx context.Context, data interface{}) (interface{}, error) 40 Query(ctx context.Context, query string, params []interface{}, result interface{}) (interface{}, error) 41 }