with Odoo and Lucid?
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 Lucid API enables developers to automate visual communication processes by programmatically manipulating Lucidchart and Lucidpress documents. This allows for dynamic creation and updates of diagrams, visual workflows, and marketing materials, ensuring that teams can streamline their design operations with current data. Integrations via Pipedream can enhance this by triggering actions in Lucid based on events in other apps, or vice versa.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
lucid: {
type: "app",
app: "lucid",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.lucid.co/users/me/profile`,
headers: {
Authorization: `Bearer ${this.lucid.$auth.oauth_access_token}`,
"Lucid-Api-Version": `1`,
},
})
},
})