with Odoo and Freshping?
import xmlrpc from 'xmlrpc';
export default defineComponent({
props: {
odoo: {
type: "app",
app: "odoo",
}
},
async run({ steps, $ }) {
const url = this.odoo.$auth.server_url;
const db = this.odoo.$auth.db;
const username = this.odoo.$auth.username;
const password = this.odoo.$auth.password;
// Create clients for common and object endpoints
const common = xmlrpc.createSecureClient(`${url}/xmlrpc/2/common`);
const models = xmlrpc.createSecureClient(`${url}/xmlrpc/2/object`);
// Using async/await with promises
async function getFields() {
try {
// Authenticate and get uid
const uid = await new Promise((resolve, reject) => {
common.methodCall('authenticate', [db, username, password, {}], (error, value) => {
if (error) reject(error);
resolve(value);
});
});
// Get fields
const results = await new Promise((resolve, reject) => {
models.methodCall('execute_kw', [
db,
uid,
password,
'res.partner',
'fields_get',
[],
{ 'attributes': ['string', 'help', 'type'] }
], (error, value) => {
if (error) reject(error);
resolve(value);
});
});
return results;
} catch (error) {
throw new Error(error);
}
}
return await getFields();
},
})
The Freshping API allows you to automate uptime and performance monitoring for your websites and web services. By integrating with Pipedream, you can harness this capability to create customized alerts, log incidents, and trigger actions based on the health of your monitored services. This opens up possibilities for proactive maintenance, real-time status updates, and seamless incident management by connecting to various apps and services.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
freshping: {
type: "app",
app: "freshping",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.freshping.io/api/v1/checks/`,
auth: {
username: `${this.freshping.$auth.api_key}`,
password: `${this.freshping.$auth.subdomain}`,
},
})
},
})