{ "id": "130070", "key": "AC-738", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "3", "description": "The problem is a duplicate of an existing issue.", "name": "Duplicate" }, "resolutiondate": "2014-06-16T21:45:07.000+0000", "created": "2014-05-06T14:50:32.000+0000", "labels": [ "node-acs" ], "versions": [], "issuelinks": [ { "id": "37660", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "130106", "key": "NATIVESDK-107", "fields": { "summary": "No Delete, Update and Show Method for Status Object in acs-node-sdk", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": { "name": "sliang", "key": "sliang", "displayName": "Shuo Liang", "active": true, "timeZone": "Asia/Harbin" }, "updated": "2016-03-08T07:36:59.000+0000", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "14550", "name": "Appcelerator Modules", "description": "Please enter tickets related to Modules here." } ], "description": "When using Node.ACS the acs-node lib is incomplete compared to the normally available methods for Statuses. If you try to either edit, update or delete a status using Node.ACS you will get an error similar to the following: \r\n\r\nTypeError: Object # has no method 'update'\r\n\r\nThe global npm for acs-node installed at \r\n/usr/local/lib/node_modules/acs/node_modules/acs-node/lib/acs.js\r\n\r\nshows that only:\r\n- create\r\n- search\r\n- query \r\nare listed as options.\r\n\r\nIt would be helpful if: \r\n- show\r\n- update\r\n- delete\r\n\r\nwere also available as per the docs for the Cloud Statuses:\r\nhttp://docs.appcelerator.com/cloud/latest/#!/api/Statuses", "attachment": [], "flagged": false, "summary": "Ti.Cloud Node.ACS Statuses Methods Incomplete in Node.ACS", "creator": { "name": "applification", "key": "applification", "displayName": "Dave Hudson", "active": true, "timeZone": "Europe/London" }, "subtasks": [], "reporter": { "name": "applification", "key": "applification", "displayName": "Dave Hudson", "active": true, "timeZone": "Europe/London" }, "environment": "Node.ACS", "comment": { "comments": [ { "id": "303671", "author": { "name": "stoda", "key": "stoda", "displayName": "Seth Toda", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Hello Dave,\r\nThe API has not been completely ported to the node-acs library. But this is an ongoing process. In the mean time, I would suggest using an xhr request to simulate a curl request. \r\n// Seth", "updateAuthor": { "name": "stoda", "key": "stoda", "displayName": "Seth Toda", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-05-06T17:44:07.000+0000", "updated": "2014-05-06T17:44:07.000+0000" }, { "id": "303769", "author": { "name": "sliang", "key": "sliang", "displayName": "Shuo Liang", "active": true, "timeZone": "Asia/Harbin" }, "body": "Hi Dave,\r\n\r\nFor now, if you want use show, update or delete method in Node.ACS app, you can go with REST API way to work around. Like this:\r\n\r\n{code:title=controllers/status.js|borderStyle=solid}\r\nvar ACS = require('acs').ACS;\r\nvar acs = ACS.initACS('');\r\nvar logger = require('acs').logger;\r\n\r\n// status show method \r\nfunction show(req, res) {\t\r\n\tvar data = {\r\n\t\tstatus_id: '5369a57415d82732262876c7'\r\n\t};\r\n\tacs.rest('statuses/show.json', 'GET', data, function(e){\r\n\t\tif(e && e.meta) {\r\n\t\t\tif(e.meta.status == 'ok') {\r\n\t\t\t\tvar status = e.response.statuses[0];\r\n \t\tlogger.info('Success:\\n' + 'id: ' + status.id + '\\n' + 'updated_at: ' + status.updated_at);\r\n \t\tres.redirect('/main');\r\n\t\t\t} else {\r\n\t\t\t\tres.render('index', {message: e.meta.message});\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tres.render('index', {message: e.meta.message});\r\n\t\t}\r\n\t}, req, res);\r\n}\r\n{code}", "updateAuthor": { "name": "sliang", "key": "sliang", "displayName": "Shuo Liang", "active": true, "timeZone": "Asia/Harbin" }, "created": "2014-05-07T04:37:17.000+0000", "updated": "2014-05-07T04:37:17.000+0000" }, { "id": "305275", "author": { "name": "applification", "key": "applification", "displayName": "Dave Hudson", "active": true, "timeZone": "Europe/London" }, "body": "Thanks Shuo, that works great!", "updateAuthor": { "name": "applification", "key": "applification", "displayName": "Dave Hudson", "active": true, "timeZone": "Europe/London" }, "created": "2014-05-16T12:40:00.000+0000", "updated": "2014-05-16T12:40:09.000+0000" }, { "id": "309212", "author": { "name": "rtlechuga", "key": "rtlechuga", "displayName": "Radamantis Torres-Lechuga", "active": false, "timeZone": "Asia/Dubai" }, "updateAuthor": { "name": "rtlechuga", "key": "rtlechuga", "displayName": "Radamantis Torres-Lechuga", "active": false, "timeZone": "Asia/Dubai" }, "created": "2014-06-16T21:45:07.000+0000", "updated": "2014-06-16T21:45:07.000+0000" } ], "maxResults": 6, "total": 6, "startAt": 0 } } }