Skip to content

SudoSOS Back-end API / invoicing / InvoiceService

Class: InvoiceService ​

Extends ​

Constructors ​

Constructor ​

ts
new InvoiceService(manager?): InvoiceService;

Parameters ​

ParameterType
manager?EntityManager

Returns ​

InvoiceService

Inherited from ​

WithManager.constructor

Properties ​

PropertyModifierTypeInherited from
managerprotectedEntityManagerWithManager.manager

Methods ​

checkIfInvoiced() ​

ts
checkIfInvoiced(transactions): Promise<void>;

Checks if any of the transactions are already invoiced

Parameters ​

ParameterTypeDescription
transactionsTransaction[]The transactions to check

Returns ​

Promise<void>


createInvoice() ​

ts
createInvoice(invoiceRequest): Promise<Invoice>;

Creates an Invoice from an CreateInvoiceRequest

Parameters ​

ParameterTypeDescription
invoiceRequestCreateInvoiceParamsThe Invoice request to create

Returns ​

Promise<Invoice>


createTransfer() ​

ts
createTransfer(
   forId, 
   transactions, 
amount): Promise<Transfer>;

Creates a Transfer for an Invoice from TransactionResponses

Parameters ​

ParameterTypeDescription
forIdnumberThe user which receives the Invoice/Transfer
transactionsTransaction[]The array of transactions which to create the Transfer for
amountDineroObjectRequestThe amount to transfer

Returns ​

Promise<Transfer>


deleteInvoice() ​

ts
deleteInvoice(invoiceId, byId): Promise<Invoice>;

Deletes the given invoice and makes an undo transfer

Parameters ​

ParameterTypeDescription
invoiceIdnumber-
byIdnumber-

Returns ​

Promise<Invoice>


getDefaultInvoiceParams() ​

ts
getDefaultInvoiceParams(userId): Promise<InvoiceUserDefaults>;

Returns the default Invoice Params for an invoice user.

Parameters ​

ParameterTypeDescription
userIdnumber-

Returns ​

Promise<InvoiceUserDefaults>


getEligibleTransactions() ​

ts
getEligibleTransactions(params): Promise<
  | false
| TransactionResponse[]>;

Gets all uninvoiced transactions for a given user

Parameters ​

ParameterTypeDescription
paramsInvoiceTransactionsRequest-

Returns ​

Promise< | false | TransactionResponse[]>


getInvoices() ​

ts
getInvoices(params?): Promise<Invoice[]>;

Returns database entities based on the given filter params.

Parameters ​

ParameterTypeDescription
paramsInvoiceFilterParametersThe filter params to apply

Returns ​

Promise<Invoice[]>


getPaginatedInvoices() ​

ts
getPaginatedInvoices(params?, pagination?): Promise<[Invoice[], number]>;

Function that returns all the invoices based on the given params.

Parameters ​

ParameterTypeDescription
paramsInvoiceFilterParametersThe filter params to apply
paginationPaginationParametersThe pagination params to apply

Returns ​

Promise<[Invoice[], number]>


getTransactionInvoices() ​

ts
getTransactionInvoices(transactionId): Promise<Invoice[]>;

Get all invoices that contain any subtransaction rows from the given transaction

Parameters ​

ParameterTypeDescription
transactionIdnumberThe transaction ID

Returns ​

Promise<Invoice[]>

Array of invoices


removeSubTransactionInvoice() ​

ts
removeSubTransactionInvoice(invoice): Promise<any[]>;

Removes the invoice reference from all sub transaction rows

Parameters ​

ParameterTypeDescription
invoiceInvoice-

Returns ​

Promise<any[]>


setSubTransactionInvoice() ​

ts
setSubTransactionInvoice(invoice, subTransactions): Promise<void>;

Set a reference to an Invoice for all given sub Transactions.

Parameters ​

ParameterTypeDescription
invoiceInvoice-
subTransactionsSubTransaction[]-

Returns ​

Promise<void>


updateInvoice() ​

ts
updateInvoice(update): Promise<Invoice>;

Updates the Invoice

It is not possible to change the amount or details of the transfer itself.

Parameters ​

ParameterTypeDescription
updateUpdateInvoiceParams-

Returns ​

Promise<Invoice>


asBaseInvoiceResponse() ​

ts
static asBaseInvoiceResponse(invoice): BaseInvoiceResponse;

Parses an Invoice Object to a BaseInvoiceResponse

Parameters ​

ParameterTypeDescription
invoiceInvoiceThe Invoice to parse

Returns ​

BaseInvoiceResponse


asInvoiceResponse() ​

ts
static asInvoiceResponse(invoice): InvoiceResponse;

Parses an Invoice Object to a InvoiceResponse

Parameters ​

ParameterTypeDescription
invoiceInvoiceThe Invoice to parse

Returns ​

InvoiceResponse


getLatestInvoiceStatus() ​

ts
static getLatestInvoiceStatus(invoiceStatus): InvoiceStatus;

Parameters ​

ParameterType
invoiceStatusInvoiceStatus[]

Returns ​

InvoiceStatus


getOptions() ​

ts
static getOptions(params): FindManyOptions<Invoice>;

Parameters ​

ParameterType
paramsInvoiceFilterParameters

Returns ​

FindManyOptions<Invoice>


isState() ​

ts
static isState(invoice, state): boolean;

Parameters ​

ParameterType
invoiceInvoice
stateInvoiceState

Returns ​

boolean


stateSubQuery() ​

ts
static stateSubQuery(): string;

Returns ​

string


toArrayResponse() ​

ts
static toArrayResponse(invoices): InvoiceResponse[];

Parameters ​

ParameterType
invoicesInvoice[]

Returns ​

InvoiceResponse[]


toArrayWithoutEntriesResponse() ​

ts
static toArrayWithoutEntriesResponse(invoices): BaseInvoiceResponse[];

Parameters ​

ParameterType
invoicesInvoice[]

Returns ​

BaseInvoiceResponse[]