| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- // Zoho Tasks Plugin v1.0.0
- // EU data center: accounts.zoho.eu / projectsapi.zoho.eu
- var auth = require('./lib/auth');
- var tasks = require('./lib/tasks');
- shadowman.log.info('Zoho Tasks plugin v1.0.0 loaded');
- // Auth tools
- shadowman.tools.register('setup_auth', function(args, context) {
- shadowman.storage.set('auth_conversation_id', context.conversationId);
- return auth.setupAuth(args.grant_token);
- });
- shadowman.tools.register('auth_status', function(args, context) {
- return auth.getStatus();
- });
- // Project tools
- shadowman.tools.register('list_projects', function(args, context) {
- var token = auth.getValidToken();
- if (!token) return { error: 'Not authenticated. Run setup_auth with a grant token first.' };
- return tasks.listProjects(token, args.index || 1);
- });
- // Task tools
- shadowman.tools.register('list_tasks', function(args, context) {
- var token = auth.getValidToken();
- if (!token) return { error: 'Not authenticated. Run setup_auth with a grant token first.' };
- if (!args.project_id) return { error: 'Missing project_id parameter' };
- return tasks.listTasks(token, args.project_id, args);
- });
- shadowman.tools.register('get_task', function(args, context) {
- var token = auth.getValidToken();
- if (!token) return { error: 'Not authenticated. Run setup_auth with a grant token first.' };
- if (!args.project_id) return { error: 'Missing project_id parameter' };
- if (!args.task_id) return { error: 'Missing task_id parameter' };
- return tasks.getTask(token, args.project_id, args.task_id);
- });
- shadowman.tools.register('create_task', function(args, context) {
- var token = auth.getValidToken();
- if (!token) return { error: 'Not authenticated. Run setup_auth with a grant token first.' };
- if (!args.project_id) return { error: 'Missing project_id parameter' };
- if (!args.name) return { error: 'Missing name parameter' };
- return tasks.createTask(token, args.project_id, args);
- });
- shadowman.tools.register('update_task', function(args, context) {
- var token = auth.getValidToken();
- if (!token) return { error: 'Not authenticated. Run setup_auth with a grant token first.' };
- if (!args.project_id) return { error: 'Missing project_id parameter' };
- if (!args.task_id) return { error: 'Missing task_id parameter' };
- return tasks.updateTask(token, args.project_id, args.task_id, args);
- });
- shadowman.tools.register('delete_task', function(args, context) {
- var token = auth.getValidToken();
- if (!token) return { error: 'Not authenticated. Run setup_auth with a grant token first.' };
- if (!args.project_id) return { error: 'Missing project_id parameter' };
- if (!args.task_id) return { error: 'Missing task_id parameter' };
- return tasks.deleteTask(token, args.project_id, args.task_id);
- });
- shadowman.tools.register('my_tasks', function(args, context) {
- var token = auth.getValidToken();
- if (!token) return { error: 'Not authenticated. Run setup_auth with a grant token first.' };
- return tasks.getMyTasks(token, args);
- });
- shadowman.tools.register('search_tasks', function(args, context) {
- var token = auth.getValidToken();
- if (!token) return { error: 'Not authenticated. Run setup_auth with a grant token first.' };
- if (!args.query) return { error: 'Missing query parameter' };
- return tasks.searchTasks(token, args);
- });
|