Skip to content

tamil-03/frappe-client-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

frappe-client-js

CI Status npm License

Client Utility for frappe framework

Install


npm install frappe-client

Usage


Importing

import { FrappeClient } from 'frappe-client';
// or
const { FrappeClient } = require('frappe-client');

Creating a client

const getHeaders = async () => ({
	Authorization: 'Bearer ...',
});

// includes all the clients (api, etc)
const frappe = new FrappeClient(baseURL, getHeaders);

Frappe Resource Calls (Direct Doctype Access)

const doctype = frappe.Resource('Doctype');

doctype.list({ filters, fields, ...more }).then(res => console.log(res.data)); // get list of documents
doctype.create({ ...data }).then(res => console.log(res.data)); // create a document
doctype.get('docname').then(res => console.log(res.data)); // get a document

const document = doctype.getDoc('docname'); // get a Document object

Resource Call Example

(async () => {
	const doctype = frappe.Resource('Doctype');
	const response = await doctype.list({ filters, fields, ...more });
	console.log(response.data);
})();

Frappe Document Acces

const doctype = frappe.Resource('Doctype');

// get a Document object
const document = doctype.getDoc('docname');
// or
const document = frappe.Document('Doctype', 'docname');

document.get().then(console.log); // get data from server and add it to cache
document.update({ ...data }).then(console.log); // update data and update to cache
document.delete().then(console.log); // delete data and remove from cache
console.log(document.getDocument()) // get data from cache

Document Call Example

(async () => {
	const doctype = frappe.Resource('Doctype');
	const document = frappe.Document('Doctype', 'docname');
	const response = await document.get();
	console.log(response);
})();

Frappe Remote Method Calls

// we can access the methods scoped to the app
const app = frappe.Method('appName'); // get a Method object with the appname

app.get(methodPath, args); // GET request
app.post(methodPath, args); // POST request
app.put(methodPath, args); // PUT request
app.delete(methodPath, args); // DELETE request
app.head(methodPath, args); // HEAD request
app.options(methodPath, args); // OPTIONS request

Method Call Example (RPC)

const app = frappe.Method('appName');
app
	.post('module_name.path.method_name', {
		arg1: 'ARG!',
		arg2: 'ARG!!',
	})
	.then(console.log);

Testing


npm test

License


The MIT License. See the license file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published