with Odoo and Cloudflare?
Development Mode temporarily allows you to enter development mode for your websites if you need to make changes to your site. This will bypass Cloudflare's accelerated cache and slow down your site. See the docs here
Choose the appropriate SSL setting for your zone. See the docs here
Creates a new IP Access Rule for an account. The rule will apply to all zones in the account. See the docs here
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();
},
})
Harness the power of Cloudflare within Pipedream's scalable platform to automate and optimize your web operations. The Cloudflare API enables you to programmatically control countless aspects of your web presence, from security settings and firewall rules to traffic and DNS management. By integrating this with Pipedream, you can create custom workflows that react to specific triggers, manipulate Cloudflare configurations on-the-fly, and connect to countless other services for a seamless automation experience.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
cloudflare_api_key: {
type: "app",
app: "cloudflare_api_key",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.cloudflare.com/client/v4/user`,
headers: {
"X-Auth-Key": `${this.cloudflare_api_key.$auth.API_Key}`,
"X-Auth-Email": `${this.cloudflare_api_key.$auth.Email}`,
},
})
},
})