Documentation
¶
Index ¶
- type Detail
- type Invoice
- type PaidInvoice
- type Repository
- func (r *Repository) Create(ctx context.Context, invoice *invoiceentity.Invoice) error
- func (r Repository) CreatePaid(ctx context.Context, paidInvoice invoiceentity.PaidInvoice) error
- func (r Repository) Get(ctx context.Context, invoiceID string, withDetails bool) (invoiceentity.Invoice, error)
- func (r Repository) UpdatePaidAt(ctx context.Context, invoiceID string, paidAt time.Time) error
- func (r Repository) UpdateStatus(ctx context.Context, invoiceID string, status invoiceentity.Status) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Detail ¶
type Detail struct {
// ID is PRIMARY_KEY
ID string `db:"id"`
// InvoiceID is INDEXED
InvoiceID string `db:"invoice_id"`
Amount int64 `db:"amount"`
Discount int64 `db:"discount"`
// total = amount - discount
ItemName string `db:"item_name"`
ItemQuantity int64 `db:"item_quantity"`
Description string `db:"description"`
CreatedAt time.Time `db:"created_at"`
CreatedBy string `db:"created_by"`
UpdatedAt time.Time `db:"updated_at"`
IsTest bool `db:"is_test"`
IsDeleted bool `db:"is_deleted"`
}
Detail for invoice detail
type Invoice ¶
type Invoice struct {
// ID is PRIMARY_KEY
ID string `db:"id"`
// Number/invoice_number might be indexed
Number string `db:"invoice_number"`
OrderID string `db:"order_id"`
InvoiceFrom string `db:"invoice_from"`
InvoiceTo string `db:"invoice_to"`
Type int `db:"invoice_type"`
Total int64 `db:"total"`
DiscountTotal int64 `db:"discount_total"`
// grand total = total - discount_total
GrandTotal int64 `db:"grand_total"`
Details []string `db:"invoice_details"`
Status invoiceentity.Status `db:"invoice_status"`
Description string `db:"description"`
DueDate time.Time `db:"due_date"`
PaidAt pq.NullTime `db:"paid_at"`
CreatedAt time.Time `db:"created_at"`
UpdatedAt pq.NullTime `db:"updated_at"`
CreatedBy int64 `db:"created_by"`
IsTest bool `db:"is_test"`
IsDeleted bool `db:"is_deleted"`
}
Invoice struct
type PaidInvoice ¶
type PaidInvoice struct {
// InvoiceID is PRIMARY_KEY
InvoiceID string `db:"invoice_id"`
InvoiceNumber string `db:"invoice_number"`
PaymentID string `db:"payment_id"`
OrderID string `db:"order_id"`
InvoiceFrom int64 `db:"invoice_from"`
InvoiceTo int64 `db:"invoice_to"`
CreatedAt time.Time `db:"created_at"`
CreatedBy int64 `db:"created_by"`
PaidAt time.Time `db:"paid_at"`
IsTest bool `db:"is_test"`
IsDeleted bool `db:"is_deleted"`
}
PaidInvoice struct store all data of paid invoice
type Repository ¶
type Repository struct {
// contains filtered or unexported fields
}
Repository of invoice
func (*Repository) Create ¶
func (r *Repository) Create(ctx context.Context, invoice *invoiceentity.Invoice) error
Create a new invoice
func (Repository) CreatePaid ¶
func (r Repository) CreatePaid(ctx context.Context, paidInvoice invoiceentity.PaidInvoice) error
CreatePaid to create a new paid invoice
func (Repository) Get ¶
func (r Repository) Get(ctx context.Context, invoiceID string, withDetails bool) (invoiceentity.Invoice, error)
Get invoice
func (Repository) UpdatePaidAt ¶
UpdatePaidAt to paid
func (Repository) UpdateStatus ¶
func (r Repository) UpdateStatus(ctx context.Context, invoiceID string, status invoiceentity.Status) error
UpdateStatus to update the status of invoice
Click to show internal directories.
Click to hide internal directories.