30 lines
1.1 KiB
JavaScript
30 lines
1.1 KiB
JavaScript
class Invoice {
|
|
constructor(row) {
|
|
this.id = row.id;
|
|
this.invoice_number = row.invoice_number;
|
|
this.user_id = row.user_id;
|
|
this.source_type = row.source_type;
|
|
this.source_id = row.source_id;
|
|
this.buyer_name = row.buyer_name;
|
|
this.buyer_email = row.buyer_email;
|
|
this.buyer_street = row.buyer_street;
|
|
this.buyer_postal_code = row.buyer_postal_code;
|
|
this.buyer_city = row.buyer_city;
|
|
this.buyer_country = row.buyer_country;
|
|
this.currency = row.currency;
|
|
this.total_net = Number(row.total_net);
|
|
this.total_tax = Number(row.total_tax);
|
|
this.total_gross = Number(row.total_gross);
|
|
this.vat_rate = row.vat_rate != null ? Number(row.vat_rate) : null;
|
|
this.status = row.status;
|
|
this.issued_at = row.issued_at;
|
|
this.due_at = row.due_at;
|
|
this.pdf_storage_key = row.pdf_storage_key;
|
|
this.context = row.context ? (typeof row.context === 'string' ? JSON.parse(row.context) : row.context) : null;
|
|
this.created_at = row.created_at;
|
|
this.updated_at = row.updated_at;
|
|
}
|
|
}
|
|
|
|
module.exports = Invoice;
|