with Odoo and Miro Developer App?
Emit new event when an item's position changes in a Miro Custom App.
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 Miro Developer App API lets you extend the functionality of Miro, an online collaborative whiteboarding platform. On Pipedream, you can automate interactions with Miro boards, such as creating or updating content, and extracting data for reporting or integration purposes. This can streamline collaboration and project management by automating repetitive tasks and connecting Miro with other tools and services.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
miro_custom_app: {
type: "app",
app: "miro_custom_app",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.miro.com/v2/boards`,
headers: {
Authorization: `Bearer ${this.miro_custom_app.$auth.access_token}`,
},
})
},
})