22 lines
938 B
Go
22 lines
938 B
Go
package processor
|
|
|
|
import (
|
|
"apskel-pos-be/internal/entities"
|
|
"context"
|
|
"time"
|
|
|
|
"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)
|
|
GetAnalytics(ctx context.Context, organizationID uuid.UUID, outletID *uuid.UUID, dateFrom, dateTo time.Time, groupBy string) (*entities.ExpenseAnalytics, error)
|
|
CreateItem(ctx context.Context, item *entities.ExpenseItem) error
|
|
DeleteItemsByExpenseID(ctx context.Context, expenseID uuid.UUID) error
|
|
}
|