// ----------------------------------------------------------------------------- // Enum Typedefs // ----------------------------------------------------------------------------- /** * @typedef {"created" | "edited"} AppSortBy */ /** * @typedef {"api_json"} OriginalType */ /** * A publication represents something that a user can subscribe to. An example would be subscribing to an email alert whenever a new version of an application is created. * @typedef {"membership_requests.create" | "memberships.create" | "applications.create" | "versions.create"} Publication */ /** * @typedef {"asc" | "desc"} SortOrder */ /** * Controls who is able to view this version * @typedef {"public"} Visibility */ // ----------------------------------------------------------------------------- // Model Typedefs // ----------------------------------------------------------------------------- /** * Account is defined by the app specifically to manage users transactions. * @typedef {Object} Account * @property {number} accountid Internal unique identifier for this account. * @property {string} ownerid The username registered in the application * @property {number} total_amount The amount specific to the debit and sold account. This field allows the process transactions. * @property {string} currency The currency specific to location. * @property {number} sold The amount specific to the balance account. This field allows the process transactions. * @property {number} debit The amount specific to the money merchant have to collect and pay. This field allows the process transactions. */ /** * @typedef {Object} AccountForm * @property {number} accountid Internal unique identifier for this account. * @property {string} ownerid The username registered in the application. * @property {number} [total_amount] The amount specific to the debit and sold account. This field allows the process transactions. * @property {number} sold The amount specific to the balance account. This field allows the process transactions. * @property {number} [debit] The amount specific to the money merchant have to collect and pay. This field allows the process transactions. * @property {string} currency The currency specific to location. */ /** * Deposit describes a way a payment is handled. It depends of Payment Resource * @typedef {Object} Deposit * @property {number} depid Internal unique identifier for this account. * @property {number} paymentid The added paymentid used to proceed the deposit transaction. */ /** * Payment is defined by the app specifically to emit users transactions. * @typedef {Object} Payment * @property {number} payid Internal unique identifier for this payment. * @property {string} actorid The username registered in the application * @property {number} amount The amount to send. This field allowed the processing transactions. * @property {number} ref_accountid The accountid to use to send money to the specific account. * @property {string} payment_method The type of payment to use [Mobile Money or Credit Card]. * @property {string} operatorid The operator specified the type of payment if Mobile Money. * @property {number} phone The phone identifying specific account of consumer. * @property {number} pin The code used to validate the transaction. * @property {string} currency The phone identifying specific account of consumer. * @property {string} payment_context This field specify the type of transaction [Buying, Deposit, Withdraw]. */ /** * @typedef {Object} PaymentForm * @property {number} payid Internal unique identifier for this payment. * @property {string} actorid The username registered in the application * @property {number} amount The amount to send. This field allowed the processing transactions. * @property {number} ref_accountid The accountid to use to send money to the specific account. * @property {string} payment_method The type of payment to use [Mobile Money or Credit Card]. * @property {string} operatorid The operator specified the type of payment if Mobile Money. * @property {number} phone The phone identifying specific account of consumer. * @property {number} pin The code used to validate the transaction. * @property {string} currency The phone identifying specific account of consumer. * @property {string} payment_context This field specify the type of transaction [Buying, Deposit, Withdraw]. */ /** * Transfer is defined by the app specifically to manage users transactions (sending and receiving). * @typedef {Object} Transfer * @property {number} transferid Internal unique identifier for this account. * @property {string} senderid The username registered in the application * @property {number} amount The amount to be send. This field allows the process transactions. * @property {number} ref_accountid_receiver The accountid to use to send money and referencing the receiver. * @property {number} ref_accountid_sender The accountid to use to send money and referencing the sender. * @property {string} currency The currency specific to a country. */ /** * @typedef {Object} TransferForm * @property {number} transferid Internal unique identifier for this account. * @property {string} senderid The username registered in the application. * @property {number} amount The amount to be send. This field allows the process transactions. * @property {number} ref_accountid_receiver The accountid to use to send money and referencing the receiver. * @property {number} ref_accountid_sender The accountid to use to send money and referencing the sender. * @property {string} currency The currency specific to a country. */ /** * Used only to validate json files - used as a resource where http status code defines success * @typedef {Object} Validation * @property {boolean} valid If true, the json schema is valid. If false, there is at least one validation error. * @property {string[]} errors Contains any validation errors that result from parsing the json document. If empty, the document is valid. */ /** * Withdraw describes a way a payment is handled. It depends of Payment Resource * @typedef {Object} Withdraw * @property {number} wdwid Internal unique identifier for this account. * @property {number} paymentid The added paymentid used to proceed the deposit transaction. */ // ----------------------------------------------------------------------------- // Union Typedefs // -----------------------------------------------------------------------------