33 lines
1.9 KiB
Go
33 lines
1.9 KiB
Go
package processor
|
|
|
|
import (
|
|
"apskel-pos-be/internal/entities"
|
|
"context"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
type PurchaseOrderRepository interface {
|
|
Create(ctx context.Context, po *entities.PurchaseOrder) error
|
|
GetByID(ctx context.Context, id uuid.UUID) (*entities.PurchaseOrder, error)
|
|
GetByIDAndOrganizationID(ctx context.Context, id, organizationID uuid.UUID) (*entities.PurchaseOrder, error)
|
|
Update(ctx context.Context, po *entities.PurchaseOrder) error
|
|
Delete(ctx context.Context, id uuid.UUID) error
|
|
List(ctx context.Context, organizationID uuid.UUID, filters map[string]interface{}, limit, offset int) ([]*entities.PurchaseOrder, int64, error)
|
|
Count(ctx context.Context, organizationID uuid.UUID, filters map[string]interface{}) (int64, error)
|
|
GetByPONumber(ctx context.Context, poNumber string, organizationID uuid.UUID) (*entities.PurchaseOrder, error)
|
|
GetByStatus(ctx context.Context, organizationID uuid.UUID, status string) ([]*entities.PurchaseOrder, error)
|
|
GetOverdue(ctx context.Context, organizationID uuid.UUID) ([]*entities.PurchaseOrder, error)
|
|
UpdateStatus(ctx context.Context, id uuid.UUID, status string) error
|
|
UpdateTotalAmount(ctx context.Context, id uuid.UUID, totalAmount float64) error
|
|
CreateItem(ctx context.Context, item *entities.PurchaseOrderItem) error
|
|
UpdateItem(ctx context.Context, item *entities.PurchaseOrderItem) error
|
|
DeleteItem(ctx context.Context, id uuid.UUID) error
|
|
DeleteItemsByPurchaseOrderID(ctx context.Context, purchaseOrderID uuid.UUID) error
|
|
GetItemsByPurchaseOrderID(ctx context.Context, purchaseOrderID uuid.UUID) ([]*entities.PurchaseOrderItem, error)
|
|
CreateAttachment(ctx context.Context, attachment *entities.PurchaseOrderAttachment) error
|
|
DeleteAttachment(ctx context.Context, id uuid.UUID) error
|
|
DeleteAttachmentsByPurchaseOrderID(ctx context.Context, purchaseOrderID uuid.UUID) error
|
|
GetAttachmentsByPurchaseOrderID(ctx context.Context, purchaseOrderID uuid.UUID) ([]*entities.PurchaseOrderAttachment, error)
|
|
}
|