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  }