with Bókun and PostgreSQL?
Emit new event when a new column is added to a table. See the documentation
Emit new event when a row is added or modified. See the documentation
Emit new event when a new row is added to a table. See the documentation
Emit new event when new rows are returned from a custom query that you provide. See the documentation
Emit new event when a new table is added to the database. See the documentation
Finds a row in a table via a custom query. See the documentation
import { axios } from "@pipedream/platform";
import crypto from "crypto";
export default defineComponent({
props: {
bokun: {
type: "app",
app: "bokun",
}
},
async run({ steps, $ }) {
const getBokunHeaders = function (accessKey, secretKey, path = "", method = "GET") {
// Format current date in UTC
const now = new Date();
const date = now.toISOString()
.replace('T', ' ')
.replace(/\.\d+Z$/, '');
// Normalize method
const httpMethod = method.toUpperCase();
// Concatenate string for signature
const stringToSign = date + accessKey + httpMethod + path;
// Create HMAC-SHA1 signature
const hmac = crypto.createHmac('sha1', secretKey);
hmac.update(stringToSign);
const signature = hmac.digest('base64');
// Return headers and debug info
return {
headers: {
"X-Bokun-Date": date,
"X-Bokun-AccessKey": accessKey,
"X-Bokun-Signature": signature,
"Content-Type": "application/json"
},
debug: {
date,
stringToSign,
signature
}
};
};
const path= "/restapi/v2.0/marketplace/vendor/self/";
const headers = getBokunHeaders(
this.bokun.$auth.access_key,
this.bokun.$auth.secret_key,
path).headers;
// Make API request
const response = await axios($, {
method: "GET", // must match the method you specified when generating headers
url: `${this.bokun.$auth.api_url}${path}`,
headers,
});
return response;
},
})
On Pipedream, you can leverage the PostgreSQL app to create workflows that automate database operations, synchronize data across platforms, and react to database events in real-time. Think handling new row entries, updating records from webhooks, or even compiling reports on a set schedule. Pipedream's serverless platform provides a powerful way to connect PostgreSQL with a variety of apps, enabling you to create tailored automation that fits your specific needs.
import postgresql from "@pipedream/postgresql"
export default defineComponent({
props: {
postgresql,
},
async run({ steps, $ }) {
// Component source code:
// https://github.com/PipedreamHQ/pipedream/tree/master/components/postgresql
const queryObj = {
text: "SELECT NOW()",
values: [], // Ignored since query does not contain placeholders
};
return await this.postgresql.executeQuery(queryObj);
},
})