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
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) |
|
} |