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.