apskel-pos-backend/internal/processor/expense_repository.go
2026-05-25 16:19:36 +07:00

20 lines
768 B
Go

package processor
import (
"apskel-pos-be/internal/entities"
"context"
"github.com/google/uuid"
)
type ExpenseRepository interface {
Create(ctx context.Context, expense *entities.Expense) error
GetByID(ctx context.Context, id uuid.UUID) (*entities.Expense, error)
GetByIDAndOrganizationID(ctx context.Context, id, organizationID uuid.UUID) (*entities.Expense, error)
Update(ctx context.Context, expense *entities.Expense) error
Delete(ctx context.Context, id uuid.UUID) error
List(ctx context.Context, organizationID uuid.UUID, filters map[string]interface{}, limit, offset int) ([]*entities.Expense, int64, error)
CreateItem(ctx context.Context, item *entities.ExpenseItem) error
DeleteItemsByExpenseID(ctx context.Context, expenseID uuid.UUID) error
}