Multiple implementations of the same back-end application. The aim is to provide quick, side-by-side comparisons of different technologies (languages, frameworks, libraries) while preserving consistent business logic across all implementations.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

17 lines
693 B

package interfaces
import (
"context"
"autostore/internal/domain/entities"
"autostore/internal/domain/specifications"
"autostore/internal/domain/value_objects"
)
type IItemRepository interface {
Save(ctx context.Context, item *entities.ItemEntity) error
FindByID(ctx context.Context, id value_objects.ItemID) (*entities.ItemEntity, error)
FindByUserID(ctx context.Context, userID value_objects.UserID) ([]*entities.ItemEntity, error)
FindWhere(ctx context.Context, spec specifications.Specification[*entities.ItemEntity]) ([]*entities.ItemEntity, error)
Delete(ctx context.Context, id value_objects.ItemID) error
Exists(ctx context.Context, id value_objects.ItemID) (bool, error)
}