feat: stripe triggers (payout + transaction)

This commit is contained in:
Pierre Maurice Schwang
2022-11-24 23:22:02 +01:00
parent d3a059d759
commit ef27c9348b
11 changed files with 189 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
import {TBeforeRequest} from "@automatisch/types";
const addAuthHeader: TBeforeRequest = ($, requestConfig) => {
requestConfig.headers['Authorization'] = `Bearer ${$.auth.data?.secretKey}`
return requestConfig
}
export default addAuthHeader;

View File

@@ -0,0 +1,34 @@
import {IGlobalVariable, IJSONObject} from "@automatisch/types";
import {URLSearchParams} from "url";
import {isEmpty, omitBy} from "lodash";
const getBalanceTransactions = async ($: IGlobalVariable) => {
let response;
let lastId = undefined;
do {
const params: IJSONObject = {
starting_after: lastId,
ending_before: $.flow.lastInternalId
}
const queryParams = new URLSearchParams(omitBy(params, isEmpty))
const requestPath = `/v1/balance_transactions${
queryParams.toString() ? `?${queryParams.toString()}` : ''
}`;
response = (await $.http.get(requestPath)).data
for (const entry of response.data) {
$.pushTriggerItem({
raw: entry,
meta: {
internalId: entry.id as string
}
})
lastId = entry.id
}
} while (response.has_more)
return $.triggerOutput;
};
export default getBalanceTransactions;

View File

@@ -0,0 +1,34 @@
import {IGlobalVariable, IJSONObject} from "@automatisch/types";
import {URLSearchParams} from "url";
import {isEmpty, omitBy} from "lodash";
const getPayouts = async ($: IGlobalVariable) => {
let response;
let lastId = undefined;
do {
const params: IJSONObject = {
starting_after: lastId,
ending_before: $.flow.lastInternalId
}
const queryParams = new URLSearchParams(omitBy(params, isEmpty))
const requestPath = `/v1/payouts${
queryParams.toString() ? `?${queryParams.toString()}` : ''
}`;
response = (await $.http.get(requestPath)).data
for (const entry of response.data) {
$.pushTriggerItem({
raw: entry,
meta: {
internalId: entry.id as string
}
})
lastId = entry.id
}
} while (response.has_more)
return $.triggerOutput;
};
export default getPayouts;