Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import ApiService from '@/services/api.service';
- class TransferService {
- /**
- * Create Transfer
- **/
- createTransfer (data) {
- /**
- * Args
- * [from_entity_id] (str): id of entity record from which
- * the transfer goes
- * [to_entity_id] (str): id of entity record from which the
- * transfer goes
- * date (timestamp): datetime of transfer
- * group (str): one of ['deposit', 'withdrawal', 'fee_withdrawal']
- * type (str): if group deposit or withdrawal one of ['standard',
- * 'management'], fee type name if fee_withdrawal
- * amount (float): THE amount
- * unit (str): 'currency' or 'series'
- * unit_id (str): id of either currency or series
- **/
- try {
- return ApiService.post(`/api/v1/transfers`, data);
- } catch (error) {
- throw new Error(error);
- }
- }
- /**
- * Update Transfer
- **/
- updateTransfer (transfer_id, data) {
- /**
- * Args
- * transfer_id (str): id of transfer
- * [from_entity_id] (str): id of entity record from which
- * the transfer goes
- * [to_entity_id] (str): id of entity record from which the
- * transfer goes
- * [date] (timestamp): datetime of transfer
- * [group] (str): one of ['deposit', 'withdrawal', 'fee_withdrawal']
- * [type] (str): if group deposit or withdrawal one of ['standard',
- * 'management'], fee type name if fee_withdrawal
- * [amount] (float): THE amount
- * [unit] (str): 'currency' or 'series'
- * [unit_id] (str): id of either currency or series
- **/
- try {
- return ApiService.put(`/api/v1/transfers/${transfer_id}`, data);
- } catch (error) {
- throw new Error(error);
- }
- }
- /**
- * Delete Transfer
- **/
- deleteTransfer (transfer_id) {
- /**
- * Args
- * transfer_id (str): id of transfer
- **/
- try {
- return ApiService.delete(`/api/v1/transfers/${transfer_id}`, data);
- } catch (error) {
- throw new Error(error);
- }
- }
- /**
- * Get transfers by type
- * Args:
- * [filters] (obj): can contain any of these - group (array or str),
- * type (array or str), date_from (timestamp), date_to (timestamp),
- * from_entity_id (array or str), to_entity_id (array or str)
- * [aggr_params] (obj): any parameters needed for aggregation
- * [aggr_name] (str): name of aggregation
- **/
- getTransfer (filters, aggr_params, aggr_name) {
- const body = {};
- const body_filters = [];
- let url = `/api/v1/transfer/search`;
- for (var filter in filters) {
- if ( filters.hasOwnProperty(filter) ) {
- body_filters.push(this.setFilter(filter, filters));
- }
- }
- if (body_filters.length != 0) {
- body.filters = body_filters;
- }
- if (aggr_name !== null) {
- body.aggr = aggr_params;
- url += `/${aggr_name}`;
- }
- try {
- return ApiService.post(url, body);
- } catch (error) {
- throw new Error(error);
- }
- }
- setFilter (filter, filters) {
- // return results before
- if (filter == 'date_to') {
- return {
- column: 'date',
- relations: 'lte',
- value: filters[filter],
- };
- }
- // return results after
- if (filter == 'date_from') {
- return {
- column: 'date',
- relations: 'gte',
- value: filters[filter],
- };
- }
- if ( Array.isArray(filters[filter]) ) {
- return {
- column: filter,
- relations: 'in',
- value: filters[filter],
- };
- }
- return {
- column: filter,
- relations: 'eq',
- value: filters[filter],
- };
- }
- }
- export default TransferService;
- export {
- TransferService,
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement