cityworks 0.0.26 → 0.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -10,6 +10,8 @@ Configure the instance that is then available:
10
10
 
11
11
  cityworks.configure('my.cityworks.domain')
12
12
 
13
+ ## Authentication
14
+
13
15
  Authenticate with the Cityworks install:
14
16
 
15
17
  cityworks.authenticate('myuser', 'mypassword').then(resp => {
@@ -27,6 +29,8 @@ Provide a saved token instead of the standard u/p auth:
27
29
 
28
30
  cityworks.setToken('mytoken');
29
31
 
32
+ ## Main method calls
33
+
30
34
  Access the primary AMS ([Inspection](https://walker.github.io/cityworks/classes/inspection.Inspection.html), [WorkOrder](https://walker.github.io/cityworks/classes/workorder.WorkOrder.html), & [{Service} Request](https://walker.github.io/cityworks/classes/request.Request.html)) & [PLL](https://walker.github.io/cityworks/classes/case.Case.html) object libraries like so:
31
35
 
32
36
  cityworks.inspection.methodHere().then(resp => {
@@ -74,6 +78,8 @@ Some of the methods are general or top-level, and so, are accessed separately ar
74
78
 
75
79
  })
76
80
 
81
+ ## Case finnacials, data details, and admin
82
+
77
83
  For the sake of organizing some of the other methods needed by the primary and secondary libraries, there are also objects and methods accessed within those main libraries:
78
84
 
79
85
  For [PLL case financial actions](https://walker.github.io/cityworks/classes/case_financial.CaseFinancial.html):
@@ -99,3 +105,19 @@ For [PLL administration actions](https://walker.github.io/cityworks/classes/case
99
105
  cityworks.case.admin.methodHere().then(resp => {
100
106
 
101
107
  })
108
+
109
+ ## Commenting
110
+
111
+ For any object in Cityworks which can be commented on, use the [Comments class](https://walker.github.io/cityworks/classes/case_admin.CaseAdmin.html) via the class the comment is to be made on:
112
+
113
+ cityworks.case.comment.add(CaObjectIdGoesHere, "Comment goes here").then(resp => {
114
+
115
+ })
116
+
117
+ cityworks.workorder.comment.add(WorkOrderSIDGoesHere, "Comment goes here").then(resp => {
118
+
119
+ })
120
+
121
+ cityworks.request.comment.add(RequestIDGoesHere, "Comment goes here").then(resp => {
122
+
123
+ })
package/dist/case.d.ts CHANGED
@@ -15,6 +15,10 @@ export declare class Case {
15
15
  * Payment, Receipt, & Fee methods
16
16
  */
17
17
  financial?: Object;
18
+ /**
19
+ * Commenting methods
20
+ */
21
+ comment?: Object;
18
22
  /**
19
23
  * PLL Administration methods
20
24
  */
@@ -3,6 +3,10 @@ export declare class CaseWorkflow {
3
3
  * @hidden
4
4
  */
5
5
  cw: any;
6
+ /**
7
+ * Task sub-methods
8
+ */
9
+ task: Object;
6
10
  /**
7
11
  * @hidden
8
12
  */
@@ -0,0 +1,53 @@
1
+ import ReversibleMap from 'reversible-map';
2
+ /**
3
+ * A plugin that contains "comments" methods
4
+ */
5
+ export declare class Comments {
6
+ /**
7
+ * @hidden
8
+ */
9
+ cw: any;
10
+ /**
11
+ * Storage of all potential activity types which comments can be attached to: Unknown, Request, WorkOrder, CaTask, CaObject, CaCorrection, Project, Contract
12
+ */
13
+ activityTypes: ReversibleMap<string, number>;
14
+ /**
15
+ * Storage of object's active activityType
16
+ */
17
+ currentActivityType: string;
18
+ /**
19
+ * @hidden
20
+ */
21
+ constructor(cw: any, activityType: any);
22
+ /**
23
+ * Add a comment
24
+ *
25
+ * @param {number} sid - The SID of the activity to which the comment should be attached
26
+ * @param {string} comment - The text for the comment
27
+ * @return {Object} Returns a Promise which represents a CommentRecord object
28
+ */
29
+ add(sid: number, comment: string): Promise<unknown>;
30
+ /**
31
+ * Update a comment
32
+ *
33
+ * @param {number} id - The ID of the comment which should be updated
34
+ * @param {string} comment - The new text for the updated comment
35
+ * @return {Object} Returns a Promise which represents a CommentRecord object
36
+ */
37
+ update(id: number, comment: string): Promise<unknown>;
38
+ /**
39
+ * Get comments for activity items
40
+ *
41
+ * @param {Array<number>} sids - The options SIDs to get comments for.
42
+ * @return {Object} Returns Promise object that represents a collection of available comments
43
+ */
44
+ get(sids: Array<number>): Promise<unknown>;
45
+ /**
46
+ * Get pre-defined comments for activityTypes
47
+ *
48
+ * @param {number} problemSid - The ProblemSid if currentActivityType is (Service) Request
49
+ * @param {string} [category] - Only applies to WorkOrder and ServiceRequest category comments.
50
+ * @return {Object} Returns Promise object that represents a collection of available comment templates.
51
+ */
52
+ getPredefined(problemSid?: number, category?: string): Promise<unknown>;
53
+ }
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=e(require("reversible-map")),n=function(e,t,n){this.name=void 0,this.code=void 0,this.message=void 0,this.info=void 0,this.name="Cityworks Exception",this.code=e,this.message=t,void 0!==n&&(this.info=JSON.stringify(n))},i=require("lodash"),s=function(){function e(e){this.cw=void 0,this.cw=e}var t=e.prototype;return t.notifications=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("General/ActivityNotification/User",{}).then(function(e){t(e.Value)})})},t.amIWatching=function(e,t){var i=this;return new Promise(function(s,o){var u={null:0,case:1,task:2};void 0===u[e]?o(new n(1,"Activity type provided does not exist.",{provided:e,potential_activities:u})):i.cw.runRequest("General/ActivityNotification/UserWatching",{ActivityType:u[e],ActivityId:t}).then(function(e){s(e.Value)}).catch(function(e){o(new n(2,"Unknown error."))})})},t.getActivityMetadataByIds=function(e,t){var s=this;return new Promise(function(o,u){var r=["INSPECTION","REQUEST","WORKORDER"];-1==i.indexOf(r,t)&&u(new n(2,"TableName provided does not exist or is mispelled.",{provided:t,available:r})),s.cw.runRequest("General/CwMetaData/ByTableNameSids",{Ids:e,TableName:t}).then(function(e){console.log(e),o(e.Value)}).catch(function(e){u(e)})})},t.getHistory=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/Search/RecentActivity",{}).then(function(e){console.log(e),t(e.Value)}).catch(function(e){n(e)})})},t.getWOEntityCostSummary=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("General/CostSummary/WorkOrderEntity",{ObjectIds:e}).then(function(e){console.log(e),n(e.Value)}).catch(function(e){i(e)})})},t.searchWOEntityCostSummary=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("General/CostSummary/WorkOrderEntitySearch",{SearchId:e}).then(function(e){console.log(e),n(e.Value)}).catch(function(e){i(e)})})},e}(),o=require("lodash"),u=function(){function e(e){this.activityTypes=void 0,this.linkTypes=void 0,this.cw=void 0,this.cw=e,this.activityTypes=new t.default,this.activityTypes.set("null",0),this.activityTypes.set("case",1),this.activityTypes.set("inspection",2),this.activityTypes.set("request",3),this.activityTypes.set("workorder",4),this.activityTypes.set("wipcase",5),this.linkTypes=new t.default,this.linkTypes.set("null",0),this.linkTypes.set("parent",1),this.linkTypes.set("related",2)}var i=e.prototype;return i.add=function(e,t,i,s,o){var u=this;return void 0===o&&(o="related"),new Promise(function(r,c){u.activityTypes.has(e)||c(new n(1,"Source type not found.",{provided:e,options:u.activityTypes})),u.activityTypes.has(i)||c(new n(2,"Destination type not found.",{provided:i,options:u.activityTypes})),u.linkTypes.has(o)||c(new n(3,"Link type not found.",{provided:o,options:u.linkTypes}));var a={SourceType:u.activityTypes.get(e),SourceSid:t,DestType:u.activityTypes.get(i),DestSid:s,LinkType:u.linkTypes.get(o)};u.cw.runRequest("General/ActivityLink/Add",a).then(function(e){r(e.Value)})})},i.get=function(e,t){var i=this;return new Promise(function(s,u){i.activityTypes.has(e)||u(new n(4,"Activity type not found.",{provided:e,options:i.activityTypes}));var r={ActivityType:i.activityTypes.get(e),ActivitySids:t},c=i;i.cw.runRequest("General/ActivityLink/ByActivitySids",r).then(function(e){var t=new Array;o.forEach(e.Value,function(e,n){e.DestType=c.activityTypes.get(e.DestType),e.SourceType=c.activityTypes.get(e.SourceType),e.LinkType=c.linkTypes.get(e.LinkType),t.push(e)}),s(t)})})},i.clone=function(e,t,i,s){var o=this;return new Promise(function(u,r){o.activityTypes.has(e)||r(new n(1,"Source type not found.",{provided:e,options:o.activityTypes})),o.activityTypes.has(i)||r(new n(1,"Destination type not found.",{provided:i,options:o.activityTypes}));var c={SourceActivityType:o.activityTypes.get(e),SourceActivitySid:t,DestinationActivityType:o.activityTypes.get(i),DestinationActivitySid:s};o.cw.runRequest("General/ActivityLink/CloneByActivitySid",c).then(function(e){u(e.Value)})})},i.delete=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("General/ActivityLink/Delete",{ActivityLinkId:e}).then(function(e){n(e.Value)})})},i.remove=function(e,t,i,s,o){var u=this;return void 0===o&&(o="related"),new Promise(function(r,c){u.activityTypes.has(e)||c(new n(1,"Source type not found.",{provided:e,options:u.activityTypes})),u.activityTypes.has(i)||c(new n(1,"Destination type not found.",{provided:i,options:u.activityTypes})),u.linkTypes.has(o)||c(new n(1,"Link type not found.",{provided:o,options:u.linkTypes}));var a={SourceType:u.activityTypes.get(e),SourceSid:t,DestType:u.activityTypes.get(i),DestSid:s,LinkType:u.linkTypes.get(o)};u.cw.runRequest("General/ActivityLink/Remove",a).then(function(e){r(e.Value)})})},e}();require("lodash");var r=function(){function e(e){this.cw=void 0,this.cw=e}var t=e.prototype;return t.getConfig=function(e,t,n,i){var s=this;return new Promise(function(t,n){e=e.toLowerCase(),s.cw.runRequest("Gis/MapService/Domain",{}).then(function(e){t(e.Value)})})},t.domain=function(e,t){var n=this;return new Promise(function(e,t){n.cw.runRequest("Gis/MapService/Domain",{}).then(function(t){e(t.Value)})})},t.downloadMobile=function(e,t){var n=this;return new Promise(function(e,t){n.cw.runRequest("Gis/MapService/DownloadMobileMapCache",{}).then(function(t){e(t.Value)})})},t.initialExtent=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Gis/MapService/InitialExtent",{}).then(function(e){t(e.Value)})})},t.request=function(e,t){var n=this;return new Promise(function(e,t){n.cw.runRequest("Gis/MapService/ServiceRequestConfiguration",{}).then(function(t){e(t.Value)})})},t.inspection=function(e,t){var n=this;return new Promise(function(e,t){n.cw.runRequest("Gis/MapService/InspectionConfiguration",{}).then(function(t){e(t.Value)})})},t.workOrder=function(e,t){var n=this;return new Promise(function(e,t){n.cw.runRequest("Gis/MapService/WorkOrderConfiguration",{}).then(function(t){e(t.Value)})})},t.user=function(e,t,n,i){var s=this;return new Promise(function(e,t){s.cw.runRequest("Gis/MapService/User",{}).then(function(t){e(t.Value)})})},t.selectedEntities=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("General/AppData/SelectedEntities",{}).then(function(e){t(e.Value)})})},e}(),c=require("lodash"),a=function(){function e(e){this.cw=void 0,this.status=void 0,this.hook_types=void 0,this.cw=e,this.status={Pending:0,Processing:1,Complete:2,Failed:3},this.hook_types={Unknown:0,ActivityUpdate:1,Email:2,WebHook:3}}var t=e.prototype;return t.processMessages=function(e,t){var n=this;return void 0===t&&(t=!1),new Promise(function(i,s){n.cw.runRequest("General/WebHookEvent/ProcessMessages",{Ids:e,Delete:t}).then(function(e){})})},t.get=function(e,t,i){var s=this;return void 0===i&&(i=15),new Promise(function(o,u){void 0===s.status[t]&&u(new n(1,"Status provided does not exist or is mispelled.",{provided:t,available:s.status})),s.cw.runRequest("General/MessageQueue/ByIds",{Ids:e,MaxCount:void 0!==i?i:15,Status:s.status[t]}).then(function(e){})})},t.delete=function(e,t,i){var s=this;return new Promise(function(o,u){void 0===s.status[t]&&u(new n(2,"Status provided does not exist or is mispelled.",{provided:t,available:s.status})),s.cw.runRequest("General/MessageQueue/Delete",{Ids:e,Status:s.status[t],HoursToKeep:i}).then(function(e){})})},t.preferences=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("General/MessageQueue/Preferences",{}).then(function(e){})})},t.search=function(e,t){var i,s=this;return new Promise(function(o,u){void 0!==e.status&&void 0===s.status[e.status]?u(new n(3,"Status provided does not exist or is mispelled.",{provided:e.status,available:s.status})):void 0!==e.status&&void 0!==s.status[e.status]&&(i.Status=s.status[e.status]),void 0!==t&&(i.MaxResults=t);var r=["Id","HookId","HookType","Result","DateCreatedBegin","DateCreatedEnd","DateUpdatedBegin","DateUpdatedEnd"],a=["Status","MaxResults"];c.forEach(e,function(e,t){-1!=c.indexOf(r,t)&&-1==c.indexOf(a,t)?i[t]=e:-1==c.indexOf(a,t)&&u(new n(4,"Provided parameter does not exist or is mispelled.",{provided:t,value:e,available:c.concat(r,a)}))}),s.cw.runRequest("General/MessageQueue/Search",i).then(function(e){void 0===e.Value&&(e.Value=[]),o(e.Value)})})},t.update=function(e){var t,i=this;return new Promise(function(s,o){void 0!==e.status&&void 0===i.status[e.status]?o(new n(3,"Status provided does not exist or is mispelled.",{provided:e.status,available:i.status})):void 0!==e.status&&void 0!==i.status[e.status]&&(t.Status=i.status[e.status]),void 0!==e.hook_types&&void 0===i.hook_types[e.hook_types]?o(new n(3,"Status provided does not exist or is mispelled.",{provided:e.hook_types,available:i.hook_types})):void 0!==e.hook_types&&void 0!==i.hook_types[e.hook_types]&&(t.HookType=i.hook_types[e.hook_types]);var u=["Id","HookId","Packet","Result"],r=["Status","HookType"];c.forEach(e,function(e,i){-1!=c.indexOf(u,i)&&-1==c.indexOf(r,i)?t[i]=e:-1==c.indexOf(r,i)&&o(new n(5,"Provided parameter does not exist or is mispelled.",{provided:i,value:e,available:c.concat(u,r)}))}),i.cw.runRequest("General/MessageQueue/Update",t).then(function(e){void 0===e.Value&&(e.Value=[]),s(e.Value)})})},t.updateMessageStatus=function(e,t,i){var s=this;return new Promise(function(o,u){void 0===s.status[t]&&u(new n(2,"Status provided does not exist or is mispelled.",{provided:t,available:s.status})),s.cw.runRequest("General/MessageQueue/UpdateMessageStatus",{Ids:e,Status:s.status[t],HoursToKeep:i}).then(function(e){})})},t.getWebooks=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("General/MessageQueue/WebHooks",{HookIds:e}).then(function(e){})})},e}(),d=require("lodash"),f=function(){function e(e){this.cw=void 0,this.searchTypes={Null:0,Request:1,WorkOrder:2,Inspection:3,Contract:4,Permit:5,GIS:6,PermitTask:7,PermitAddress:8,InspCommon:9,Case:10,WorkOrderEntity:11,StoreTransaction:12,Requisition:13,Material:14,WorkActivity:15,MaterialLeaf:16,WoTemplate:17,Unknown:18,Employee:19,MessageQueue:20,Analytics:21,TokenState:22,AssetCalculationResult:23,Equipment:24,CustomerAccount:25,InspTemplate:26,ProblemLeaf:27,AssetSplitRecord:28,PavementInsp:29,TvInspection:30,Projects:31},this.cw=e}var t=e.prototype;return t.quick=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("General/QuickSearch/QuickSearch",{QuickSearchText:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.execute=function(e,t){var n=this;return new Promise(function(e,i){var s={};s=d.merge(s,t),n.cw.runRequest("Ams/Search/Execute",s).then(function(t){e(t.Value)}).catch(function(e){i(e)})})},t.getSaved=function(e,t,i,s){var o=this;return new Promise(function(u,r){d.has(o.searchTypes,e)?void 0===t||null==t||void 0===i&&void 0===s||r(new n(3,"You cannot specify both applyToEntities AND employeeSid/domainId")):r(new n(2,"SearchType provided does not exist or is mispelled.",{provided:e,available:o.searchTypes}));var c={},a="";void 0!==i||void 0!==s?(a="SavedByType",void 0!==i&&null!=i&&d.set(c,"EmployeeSid",i),void 0!==s&&null!=s&&d.set(c,"DomainId",s)):(a="Case"==e?"PllSavedSaved":e+"Saved",void 0!==t&&null!=t&&d.set(c,"ApplyToEntities",t)),o.cw.runRequest("Ams/Search/"+a,c).then(function(e){u(e.Value)}).catch(function(e){r(e)})})},t.displayFields=function(e){var t=this;return new Promise(function(i,s){d.has(t.searchTypes,e)||s(new n(1,"SearchType provided does not exist or is mispelled.",{provided:e,available:t.searchTypes}));var o={searchType:d.get(t.searchTypes,e)};t.cw.runRequest("Ams/Search/DisplayFields",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.types=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/Search/Types",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.enableServices=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Search/UpdateEurl",{Enable:!0,SearchIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.disableServices=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Search/UpdateEurl",{Enable:!1,SearchIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getDefinition=function(e,t){var n=this;return new Promise(function(i,s){var o={SearchId:e};void 0!==t&&d.set(o,"EmployeeSid",t),n.cw.runRequest("Ams/Search/Definition",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getDefinitionNames=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Search/DefinitionNames",{SearchIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getDefinitions=function(e,t){var n=this;return new Promise(function(i,s){var o={SearchIds:e};void 0!==t&&d.set(o,"EmployeeSid",t),n.cw.runRequest("Ams/Search/Definitions",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.deleteDefinitions=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Search/DeleteDefinitions",{SearchIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.saveDefinition=function(e,t,i){var s=this;return void 0===i&&(i=0),new Promise(function(o,u){d.has(s.searchTypes,e)||u(new n(1,"SearchType provided does not exist or is mispelled.",{provided:e,available:s.searchTypes}));var r={SearchFor:d.get(s.searchTypes,e),SearchId:i};r=d.merge(r,t),s.cw.runRequest("Ams/Search/SaveDefinition",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},e}();require("lodash");var l=function(e){this.cw=void 0,this.cw=e},h=require("lodash"),m=function(){function e(e){this.cw=void 0,this.admin=void 0,this.cw=e,this.admin=new l(e)}var t=e.prototype;return t.create=function(e){var t=this;return new Promise(function(i,s){h.has(e,"ProblemSid")?t.cw.runRequest("Ams/ServiceRequest/Create",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(2,"ProblemSid must be provided.",{provided:e}))})},t.update=function(e){var t=this;return new Promise(function(i,s){h.has(e,"RequestId")?t.cw.runRequest("Ams/ServiceRequest/Update",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(3,"RequestId must be provided.",{provided:e}))})},t.move=function(e,t,i,s,o){var u=this;return new Promise(function(r,c){h.has(s,"WKID")||h.has(s,"WKT")||c(new n(6,"You must provide either the WKID or WKT for the x/y coordinates.",{projection:s}));var a={RequestId:e,X:t,Y:i};void 0!==o&&h.set(a,"Z",o);var d=h.merge(a,s);u.cw.runRequest("Ams/ServiceRequest/Move",d).then(function(e){r(e.Value)}).catch(function(e){c(e)})})},t.changeProblem=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Ams/ServiceRequest/ChangeProblem",{RequestId:e,ProblemSid:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getById=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/ById",{RequestId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getByIds=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/ByIds",{RequestIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getAuditLog=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/AuditLog",{RequestId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getCustomFields=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/CustomFields",{RequestIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.changeCustomFieldCategory=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Ams/ServiceRequest/ChangeCustomFieldCategory",{RequestIds:e,CategoryId:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.comment=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Ams/ServiceRequest/AddComments",{RequestId:e,Comments:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.cancel=function(e,t,n){var i=this;return new Promise(function(s,o){var u={RequestIds:e};void 0!==t&&h.set(u,"CancelReason",t),void 0!==n&&h.set(u,"DateCancelled",n),i.cw.runRequest("Ams/ServiceRequest/Cancel",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.uncancel=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/Uncancel",{RequestIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.close=function(e){var t=this;return new Promise(function(i,s){t.cw.runRequest("Ams/ServiceRequest/Close",{RequestIds:e}).then(function(e){e.Status>0?s(new n(5,e.Message,{response:e})):i(e.Value)}).catch(function(e){s(e)})})},t.reopen=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/ReOpen",{RequestIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.delete=function(e){var t=this;return new Promise(function(i,s){t.cw.runRequest("Ams/ServiceRequest/Delete",{RequestIds:e}).then(function(e){e.Status>0?s(new n(4,e.Message,{response:e})):i(e.Value)}).catch(function(e){s(e)})})},t.search=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/Search",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.searchObject=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/SearchObject",{RequestId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.createSearchDefinition=function(e,t,n,i,s){var o=this;return void 0===i&&(i=!0),void 0===s&&(s=!0),new Promise(function(n,u){var r=e;h.isString(t)&&(h.set(r,"SearchName",t),h.set(r,"SaveDefinition",i),h.set(r,"EnableEurl",s)),o.cw.runRequest("Ams/ServiceRequest/CreateSearchDefinition",r).then(function(e){n(e.Value)}).catch(function(e){u(e)})})},t.getProblemNodes=function(e,t,n,i){var s=this;return void 0===t&&(t=!1),void 0===i&&(i=!1),new Promise(function(o,u){var r={DomainId:e,IncludeCancelled:i,ViewOnly:t};null!=n&&h.has(n,"DisplayTextMode")&&(h.set(r,"DisplayTextMode",h.get(n,"DisplayTextMode")),"CD"==h.get(n,"DisplayTextMode")&&h.has(n,"DisplayTextDelimeter")&&h.set(r,"DisplayTextDelimeter",h.get(n,"DisplayTextDelimeter"))),s.cw.runRequest("Ams/ServiceRequest/ProblemNodes",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.getProblems=function(e,t,n){var i=this;return void 0===e&&(e=!1),void 0===t&&(t=!0),new Promise(function(s,o){var u={ForPublicOnly:e,OnlyActiveTemplates:t};void 0!==n&&h.set(u,"DomainIds",n),i.cw.runRequest("Ams/ServiceRequest/Problems",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.getProblemsByKeywords=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/ProblemsByKeywords",{Keywords:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getPriorities=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/Priorities",{ProblemSids:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getCustomFieldTemplate=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/TemplateCustomFields",{ProblemSids:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getQASettings=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/QA",{ProblemSids:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getProblemLeaf=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/ProblemLeafBySid",{ProblemSid:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getStatuses=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/DefaultStatus",{DomainIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getEmployeeLists=function(e,t){var i=this;return new Promise(function(s,o){var u={DomainId:t};h.includes(["DispatchTo","SubmitTo"],e)?i.cw.runRequest("Ams/ServiceRequest/"+e,u).then(function(e){s(e.Value)}).catch(function(e){o(e)}):o(new n(2,"listType must be either SubmitTo or DispatchTo.",{provided:e}))})},t.getDispatchTos=function(e){return this.getEmployeeLists("DispatchTo",e)},t.getSubmitTos=function(e){return this.getEmployeeLists("SubmitTo",e)},t.streetCodes=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/ServiceRequest/AllStreetCode",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getTemplatesById=function(e,t,n){var i=this;return new Promise(function(e,s){var o={ProblemSids:null};void 0!==t&&h.set(o,"MinimumDateModified",t),void 0!==n&&h.set(o,"MaximumDateModified",n),i.cw.runRequest("Ams/ServiceRequestTemplate/ByIds",o).then(function(t){e(t.Value)}).catch(function(e){s(e)})})},t.createTemplateSearchDefinition=function(e,t,n,i){var s=this;return void 0===i&&(i=!0),new Promise(function(n,o){var u=e;h.isString(t)&&(h.set(u,"SearchName",t),h.set(u,"SaveDefinition",i)),s.cw.runRequest("Ams/ServiceRequestTemplate/CreateSearchDefinition",u).then(function(e){n(e.Value)}).catch(function(e){o(e)})})},t.getTemplateQAs=function(e,t,n){var i=this;return new Promise(function(e,t){i.cw.runRequest("Ams/ServiceRequestTemplate/QA",{ProblemSids:null}).then(function(t){e(t.Value)}).catch(function(e){t(e)})})},t.searchTemplates=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequestTemplate/Search",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getTemplates=function(e,t,n,i,s){var o=this;return void 0===t&&(t=!1),void 0===n&&(n=!1),new Promise(function(u,r){var c={CanCreate:t,IncludeInactiveIf:n};void 0!==e&&h.set(c,"TemplateIds",e),void 0!==i&&h.set(c,"MinimumDateModified",i),void 0!==s&&h.set(c,"MaximumDateModified",s),o.cw.runRequest("Ams/ServiceRequestTemplate/Templates",c).then(function(e){u(e.Value)}).catch(function(e){r(e)})})},t.getWOTemplates=function(e,t){var n=this;return void 0===t&&(t=!1),new Promise(function(i,s){n.cw.runRequest("Ams/ServiceRequestTemplate/WorkOrderTemplates",{ProblemSids:e,IncludeInactive:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},e}();require("lodash");var v=function(e){this.cw=void 0,this.cw=e},p=require("lodash"),w=function(){function e(e){this.cw=void 0,this.admin=void 0,this.cw=e,this.admin=new v(e)}var t=e.prototype;return t.create=function(e){var t=this;return new Promise(function(i,s){p.has(e,"EntityType")&&p.has(e,"InspTemplateId")?t.cw.runRequest("Ams/Inspection/Create",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(1,"EntityType and InspTemplateId properties must be provided.",{provided:e}))})},t.createFromEntities=function(e){var t=this;return new Promise(function(i,s){p.has(e,"EntityType")&&p.has(e,"InspTemplateId")?t.cw.runRequest("Ams/Inspection/CreateFromEntities",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(1,"EntityType and InspTemplateId properties must be provided.",{provided:e}))})},t.createFromParent=function(e){var t=this;return new Promise(function(i,s){p.has(e,"EntityType")&&p.has(e,"InspTemplateId")&&p.has(e,"InspectionId")?t.cw.runRequest("Ams/Inspection/CreateFromParent",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(1,"EntityType and InspTemplateId properties must be provided.",{provided:e}))})},t.createFromServiceRequest=function(e){var t=this;return new Promise(function(i,s){p.has(e,"EntityType")&&p.has(e,"InspTemplateId")&&p.has(e,"RequestId")?t.cw.runRequest("Ams/Inspection/CreateFromServiceRequest",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(1,"EntityType and InspTemplateId properties must be provided.",{provided:e}))})},t.createFromWorkOrder=function(e){var t=this;return new Promise(function(i,s){p.has(e,"EntityType")&&p.has(e,"InspTemplateId")&&p.has(e,"WorkOrderSid")?t.cw.runRequest("Ams/Inspection/CreateFromWorkOrder",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(1,"EntityType and InspTemplateId properties must be provided.",{provided:e}))})},t.update=function(e){var t=this;return new Promise(function(i,s){return new Promise(function(i,s){p.has(e,"InspectionId")?t.cw.runRequest("Ams/Inspection/Update",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(1,"InspectionId must be provided.",{provided:e}))})})},t.getById=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Inspection/ById",{InspectionId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getByIds=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Inspection/ByIds",{InspectionIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.cancel=function(e,t,n){var i=this;return new Promise(function(s,o){var u={InspectionIds:e};void 0!==t&&(u.CancelReason=t),void 0!==n&&(u.DateCancelled=n),i.cw.runRequest("Ams/Inspection/Cancel",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.uncancel=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Inspection/Uncancel",{InspectionIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.close=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Inspection/Close",{InspectionIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.reopen=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Inspection/Reopen",{InspectionIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.delete=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Inspection/Delete",{InspectionIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.search=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Inspection/Search",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.searchObject=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/SearchObject",{InspectionId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.statuses=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/Inspection/Statuses",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.submitTos=function(e,t){var n=this;return void 0===e&&(e=!1),new Promise(function(i,s){var o={};e&&(o.IncludeInactiveEmployees=!0),void 0!==t&&(o.DomainIds=t),n.cw.runRequest("Ams/Inspection/SubmitTos",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.connectAsset=function(e,t,n,i){var s=this;return void 0===i&&(i={}),new Promise(function(n,o){var u={InspectionId:t};p.has(e,"EntityType")&&p.has(e,"EntityUid")?(u.EntityType=e.EntityType,u.EntityUid=e.EntityUid):p.has(e,"Entity")&&(u.Entity=e.Entity),p.has(i,"Facility_Id")&&(u.Facility_Id=i.Facility_Id),p.has(i,"Level_Id")&&(u.Level_Id=i.Level_Id),s.cw.runRequest("Ams/Inspection/AddEntity",u).then(function(e){n(e.Value)}).catch(function(e){o(e)})})},t.getAnswers=function(e){var t=this;return new Promise(function(n,i){var s={};0==e.length?s.InspectionId=e[0]:s.InspectionIds=e,t.cw.runRequest("Ams/Inspection/Answers",s).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getAuditLog=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Inspection/AuditLog",{InspectionId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.createSearchDefinition=function(e,t,n,i,s){var o=this;return void 0===i&&(i=!0),void 0===s&&(s=!0),new Promise(function(n,u){var r=e;p.isString(t)&&(p.set(r,"SearchName",t),p.set(r,"SaveDefinition",i),p.set(r,"EnableEurl",s)),o.cw.runRequest("Ams/Inspection/CreateSearchDefinition",r).then(function(e){n(e.Value)}).catch(function(e){u(e)})})},t.getCycleFrom=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/Inspection/CycleFrom",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getCycleIntervals=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/Inspection/CycleIntervals",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getCycleTypes=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/Inspection/CycleTypes",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getDistricts=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/Inspection/Districts",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getEmployeeLists=function(e,t,i){var s=this;return void 0===t&&(t=!1),new Promise(function(o,u){var r={IncludeInactiveEmployees:t};void 0!==i&&null!=i&&p.set(r,"DomainIds",i),"SubmitTos"!=e?u(new n(2,'listType must be "SubmitTos".',{provided:e})):s.cw.runRequest("Ams/Inspection/"+e,r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.getSubmitTos=function(e,t){return void 0===e&&(e=!1),this.getEmployeeLists("SubmitTos",e,t)},t.move=function(e,t,i,s,o){var u=this;return new Promise(function(r,c){p.has(s,"WKID")||p.has(s,"WKT")||c(new n(3,"You must provide either the WKID or WKT for the x/y coordinates.",{projection:s}));var a={InspectionId:e,X:t,Y:i};void 0!==o&&p.set(a,"Z",o);var d=p.merge(a,s);u.cw.runRequest("Ams/Inspection/Move",d).then(function(e){r(e.Value)}).catch(function(e){c(e)})})},t.getTemplates=function(e,t,n){var i=this;return new Promise(function(s,o){var u={};void 0!==e&&(u.EntityTypes=e),u.CanCreate=void 0===t||t,"object"==typeof n&&p.forIn(n,function(e,t){u[t]=e}),i.cw.runRequest("Ams/InspectionTemplate/Templates",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.getTemplatesByIds=function(e,t){var n=this;return new Promise(function(i,s){var o={InspTemplateIds:e};"object"==typeof t&&p.forIn(t,function(e,t){o[t]=e}),n.cw.runRequest("Ams/InspectionTemplate/ByIds",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getTemplateEntityTypes=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/InspectionTemplate/EntityTypes",{InspTemplateIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getQA=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/InspectionTemplate/QA",{InspTemplateIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getQConditions=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/InspectionTemplate/QuestionConditions",{InspTemplateIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteAttachments=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Attachments/DeleteInspectionAttachments",{AttachmentIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.downloadAttachment=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Attachments/DownloadInspectionAttachment",{AttachmentId:e}).then(function(e){}).catch(function(e){i(e)})})},t.getAttachmentById=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Attachments/InspectionAttachmentById",{AttachmentId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getAttachments=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Attachments/InspectionAttachments",{InspectionIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},e}();require("lodash");var y=function(e){this.cw=void 0,this.cw=e},I=require("lodash"),P=function(){function e(e){this.cw=void 0,this.admin=void 0,this.cw=e,this.admin=new y(e)}var t=e.prototype;return t.create=function(e,t,i){var s=this;return new Promise(function(o,u){if(I.has(e,"WOTemplateId")&&I.has(e,"EntityType")){var r=e;void 0===t||null==t||I.has(r,"InspectionIds")||I.set(r,"InspectionIds",t),void 0===i||null==i||I.has(r,"RequestIds")||I.set(r,"RequestIds",i),s.cw.runRequest("Ams/WorkOrder/Create",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})}else u(new n(2,"WOTemplateId & EntityType must be provided.",{provided:e}))})},t.createFromParent=function(e,t,i){var s=this;return new Promise(function(i,o){if(I.has(e,"WOTemplateId")&&I.has(e,"EntityType")){var u=e;I.isString(t)?I.set(u,"WorkOrderId",t):I.set(u,"WorkOrderSid",t),s.cw.runRequest("Ams/WorkOrder/Create",u).then(function(e){i(e.Value)}).catch(function(e){o(e)})}else o(new n(2,"WOTemplateId & EntityType must be provided.",{provided:e}))})},t.update=function(e){var t=this;return new Promise(function(i,s){I.has(e,"WorkOrderSid")||I.has(e,"WorkOrderId")?t.cw.runRequest("Ams/WorkOrder/Update",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(3,"WorkOrderId or WorkOrderSid must be provided.",{provided:e}))})},t.combine=function(e,t,i){var s=this;return void 0===i&&(i=!0),new Promise(function(o,u){s.cw.runRequest("Ams/WorkOrder/Combine",{CancelCombinedWorkOrders:i,ToWorkOrderId:t,FromWorkOrderIds:e}).then(function(e){e.Status>0?u(new n(4,e.Message,{response:e})):o(e.Value)}).catch(function(e){u(e)})})},t.move=function(e,t,i,s,o){var u=this;return new Promise(function(r,c){I.has(s,"WKID")||I.has(s,"WKT")||c(new n(6,"You must provide either the WKID or WKT for the x/y coordinates.",{projection:s}));var a={WorkOrderId:e,X:t,Y:i};void 0!==o&&I.set(a,"z",o);var d=I.merge(a,s);u.cw.runRequest("Ams/WorkOrder/Move",d).then(function(e){r(e.Value)}).catch(function(e){c(e)})})},t.getById=function(e,t){var n=this;return new Promise(function(t,i){var s={};if(I.isString(e)){I.set(s,"WorkOrderId",e);var o="Ams/WorkOrder/ById"}else I.set(s,"WorkOrderSid",e),o="Ams/WorkOrder/BySid";n.cw.runRequest(o,s).then(function(e){t(e.Value)}).catch(function(e){i(e)})})},t.getByIds=function(e){var t=this;return new Promise(function(i,s){var o={};if(0==e.length)s(new n(10,"No workorder S/IDs were provided.",{workorderSId:e}));else{var u="Ams/WorkOrder/ByIds";I.isString(e[0])?(I.set(o,"WorkOrderIds",e),u="Ams/WorkOrder/ByIds"):I.isNumber(e[0])?(I.set(o,"WorkOrderSids",e),u="Ams/WorkOrder/BySids"):s(new n(9,"No workorder S/IDs were provided.",{workorderSId:e})),t.cw.runRequest(u,o).then(function(e){i(e.Value)}).catch(function(e){s(e)})}})},t.getInstructions=function(e){var t=this;return new Promise(function(i,s){var o={};if(0==e.length)s(new n(10,"No workorder S/IDs were provided.",{workorderSId:e}));else{var u="Ams/WorkOrder/ByIds";I.isString(e[0])?(I.set(o,"WorkOrderIds",e),u="Ams/WorkOrder/InstructionsByWorkOrderIds"):I.isNumber(e[0])?(I.set(o,"WorkOrderSids",e),u="Ams/WorkOrder/InstructionsByWorkOrderSids"):s(new n(9,"No workorder S/IDs were provided.",{workorderSId:e})),t.cw.runRequest(u,o).then(function(e){i(e.Value)}).catch(function(e){s(e)})}})},t.getAuditLog=function(e){var t=this;return new Promise(function(i,s){var o={};I.isString(e)?I.set(o,"WorkOrderId",e):I.isNumber(e)?I.set(o,"WorkOrderSid",e):s(new n(9,"Workorder S/IDs was not provided.",{workorderSId:e})),t.cw.runRequest("Ams/WorkOrder/AuditLog",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getCustomFieldValues=function(e){var t=this;return new Promise(function(i,s){var o={},u="Ams/WorkOrder/CustomFields";I.isString(e[0])?(I.set(o,"WorkOrderIds",e),u="Ams/WorkOrder/CustomFields"):I.isNumber(e[0])?(I.set(o,"WorkOrderSids",e),u="Ams/WorkOrder/CustomFieldsByWorkOrderSids"):s(new n(9,"No workorder S/IDs were provided.",{workorderSIds:e})),t.cw.runRequest(u,o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.comment=function(e,t){var i=this;return new Promise(function(s,o){var u={Comments:t};I.isString(e)?I.set(u,"WorkOrderId",e):I.isNumber(e)?I.set(u,"WorkOrderSid",e):o(new n(9,"Workorder S/IDs was not provided.",{workorderSId:e})),i.cw.runRequest("Ams/WorkOrder/AddComments",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.getEntities=function(e,t){var i=this;return void 0===t&&(t=!0),new Promise(function(s,o){var u={GetGisData:t};0==e.length?o(new n(11,"No workorder S/IDs were provided.",{workorderSId:e})):I.isString(e[0])?I.set(u,"WorkOrderIds",e):I.isNumber(e[0])?I.set(u,"WorkOrderSids",e):o(new n(12,"No workorder S/IDs were provided.",{workorderSId:e})),i.cw.runRequest("Ams/WorkOrder/Entities",u).then(function(e){e.Status>0?o(new n(4,e.Message,{response:e})):s(e.Value)}).catch(function(e){o(e)})})},t.addEntities=function(e,t,i){var s=this;return void 0===i&&(i=!0),new Promise(function(o,u){var r={UpdateXY:i};I.isString(e)?I.set(r,"WorkOrderId",e):I.set(r,"WorkOrderSid",e),I.has(t,"Facility_Id")&&I.set(r,"Facility_Id",I.get(t,"Facility_Id")),I.has(t,"Level_Id")&&I.set(r,"Level_Id",I.get(t,"Level_Id")),I.has(t,"EntityUids")&&I.has(t,"EntityType")?(I.set(r,"EntityUids",I.get(t,"EntityUids")),I.set(r,"EntityType",I.get(t,"EntityType"))):u(new n(7,"No entity info was provided.",{workorderSId:e,entityInfo:t})),s.cw.runRequest("Ams/WorkOrder/AddEntities",r).then(function(e){e.Status>0?u(new n(4,e.Message,{response:e})):o(e.Value)}).catch(function(e){u(e)})})},t.updateEntity=function(e,t,i){var s=this;return void 0===i&&(i=!1),new Promise(function(o,u){var r={WorkComplete:i};I.isString(e)?I.set(r,"WorkOrderId",e):I.set(r,"WorkOrderSid",e),I.has(t,"Facility_Id")&&I.set(r,"Facility_Id",I.get(t,"Facility_Id")),I.has(t,"Level_Id")&&I.set(r,"Level_Id",I.get(t,"Level_Id")),I.has(t,"EntityUids")&&I.has(t,"EntityType")?(I.set(r,"EntityUid",I.get(t,"EntityUid")),I.set(r,"EntityType",I.get(t,"EntityType"))):u(new n(7,"No entity info was provided.",{workorderSId:e,entityInfo:t})),s.cw.runRequest("Ams/WorkOrder/UpdateEntity",r).then(function(e){e.Status>0?u(new n(4,e.Message,{response:e})):o(e.Value)}).catch(function(e){u(e)})})},t.removeEntities=function(e,t,i){var s=this;return void 0===i&&(i=!0),new Promise(function(o,u){var r={UpdateXY:i};I.isString(e)?I.set(r,"WorkOrderId",e):I.set(r,"WorkOrderSid",e),I.has(t,"ObjectIds")?I.set(r,"ObjectIds",I.get(t,"ObjectIds")):I.has(t,"EntityUids")&&I.has(t,"EntityType")?(I.set(r,"EntityUids",I.get(t,"EntityUids")),I.set(r,"EntityType",I.get(t,"EntityType"))):u(new n(8,"No entity info was provided.",{workorderSId:e,entityInfo:t})),s.cw.runRequest("Ams/WorkOrder/RemoveEntities",r).then(function(e){e.Status>0?u(new n(4,e.Message,{response:e})):o(e.Value)}).catch(function(e){u(e)})})},t.cancel=function(e,t,n){var i=this;return new Promise(function(s,o){var u={WorkOrderIds:e};void 0!==t&&I.set(u,"CancelReason",t),void 0!==n&&I.set(u,"DateCancelled",n),i.cw.runRequest("Ams/WorkOrder/Cancel",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.uncancel=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/WorkOrder/Uncancel",{WorkOrderIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.close=function(e){var t=this;return new Promise(function(i,s){t.cw.runRequest("Ams/WorkOrder/Close",{WorkOrderIds:e}).then(function(e){e.Status>0?s(new n(5,e.Message,{response:e})):i(e.Value)}).catch(function(e){s(e)})})},t.reopen=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/WorkOrder/ReOpen",{WorkOrderIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.delete=function(e){var t=this;return new Promise(function(i,s){t.cw.runRequest("Ams/WorkOrder/Delete",{WorkOrderIds:e}).then(function(e){e.Status>0?s(new n(4,e.Message,{response:e})):i(e.Value)}).catch(function(e){s(e)})})},t.getWOsByEntities=function(e,t,i,s){var o=this;return void 0===s&&(s=!0),new Promise(function(u,r){var c={};void 0!==i&&I.merge(c,i),I.has(c,"EntityType")||I.set(c,"EntityType",e),I.has(c,"EntityUids")||I.set(c,"EntityUids",t);var a="Ams/WorkOrder/SearchForSids";s||(a="Ams/WorkOrder/Search"),o.cw.runRequest(a,c).then(function(e){e.Status>0?r(new n(4,e.Message,{response:e})):u(e.Value)}).catch(function(e){r(e)})})},t.getSearchList=function(e){var t=this;return new Promise(function(i,s){var o={};I.set(o,"WorkOrderId",e),t.cw.runRequest("Ams/WorkOrder/SearchObject",o).then(function(e){e.Status>0?s(new n(4,e.Message,{response:e})):i(e.Value)}).catch(function(e){s(e)})})},t.getEmployeeLists=function(e,t,i){var s=this;return void 0===t&&(t=!1),new Promise(function(o,u){var r={IncludeInactiveEmployees:t};void 0!==i&&null!=i&&I.set(r,"DomainIds",i),I.includes(["Supervisors","SubmitTos"],e)?s.cw.runRequest("Ams/WorkOrder/"+e,r).then(function(e){o(e.Value)}).catch(function(e){u(e)}):u(new n(2,"listType must be either SubmitTos or Supervisors.",{provided:e}))})},t.getSubmitTos=function(e,t){return void 0===e&&(e=!1),this.getEmployeeLists("SubmitTos",e,t)},t.getSupervisors=function(e,t){return void 0===e&&(e=!1),this.getEmployeeLists("Supervisors",e,t)},t.getStatuses=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/WorkOrder/Statuses",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getCategories=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/WorkOrder/Categories",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getPriorities=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/WorkOrder/Priorities",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getCycleFrom=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/WorkOrder/CycleFrom",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getCycleIntervals=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/WorkOrder/CycleIntervals",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getCycleTypes=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/WorkOrder/CycleTypes",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getStages=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/WorkOrder/Stages",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getExpenseTypes=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/WorkOrder/ExpenseTypes",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},e}(),C=require("lodash"),R=function(){function e(e){this.cw=void 0,this.cw=e}var t=e.prototype;return t.addGroup=function(e,t,n,i){var s=this;return new Promise(function(o,u){var r={CaObjectId:e,CaseDataGroupId:t,GroupCode:n};void 0!==i&&(r=C.merge(r,i)),s.cw.runRequest("Pll/CaseDataGroup/Add",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.addDefaultGroups=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Pll/CaseDataGroup/AddDefault",{CaObjectId:e,BusCaseId:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.wipAddDetail=function(e,t,n,i,s,o){var u=this;return new Promise(function(r,c){var a=C.merge({CaseDataDetailId:e,CaDataGroupId:t,ColumnSequence:n,DetailCode:i,DetailSequence:s},o);u.cw.runRequest("Pll/CaseDataGroup/Add",a).then(function(e){r(e.Value)}).catch(function(e){c(e)})})},t.getGroupsByCaseId=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseDataGroup/ByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteGroupsByCaseId=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseDataGroup/DeleteByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.searchForGroups=function(e){var t=this;return new Promise(function(i,s){0==C.intersectionBy(e,["CaDataGroupId","CaseDataGroupId","GroupCode","GroupDesc","GroupSum","SumFlag"]).length&&s(new n(2,"At least one of the attributes (CaDataGroupId, CaseDataGroupId, GroupCode, GroupDesc, GroupSum, SumFlag) must be defined.")),t.cw.runRequest("Pll/CaseDataGroup/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.checkGIS=function(e,t,i){var s=this;return new Promise(function(o,u){var r={EntityType:e,EntityUid:t};C.has(i,"CaObjectId")?C.set(r,"CaObjectId",C.get(i,"CaObjectId")):C.has(i,"CaseDataGroupId")?C.set(r,"CaseDataGroupId",C.get(i,"CaseDataGroupId")):u(new n(1,"Either CaObjectId or CaseDataGroupId is required.",{provided:i})),C.has(i,"CaseDataDetailId")&&C.set(r,"CaseDataDetailId",C.get(i,"CaseDataDetailId")),s.cw.runRequest("Pll/CaseDataGroup/CheckGISChanges",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.updateGroupsFromAsset=function(e,t,n,i){var s=this;return new Promise(function(o,u){var r={CaObjectId:e,EntityType:t,EntityUid:n};void 0!==i&&C.set(r,"CaDataGroupId",i),s.cw.runRequest("Pll/CaseDataGroup/UpdateFromAsset",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.addDetail=function(e,t,n){var i=this;return new Promise(function(s,o){var u={CaDataGroupId:e,CaseDataDetailId:t};void 0!==n&&(u=C.merge(u,n)),i.cw.runRequest("Pll/CaseDataDetail/Add",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.updateDetail=function(e,t){var n=this;return new Promise(function(i,s){var o={CaDataDetailId:e};void 0!==t&&(o=C.merge(o,t)),n.cw.runRequest("Pll/CaseDataDetail/Update",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.lockDetail=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseDataDetail/UpdateLock",{CaDataDetailId:e,Lock:!0}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.unlockDetail=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseDataDetail/UpdateLock",{CaDataDetailId:e,Lock:!1}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.addListValue=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Pll/CaseDataListValues/Add",{CaDataDetailId:e,ListValue:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.deleteListValue=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseDataListValues/Delete",{CaDataDetailId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.searchForListValueIds=function(e){var t=this;return new Promise(function(i,s){0==C.intersectionBy(e,["CaDataDetailId","CaDataListId","ListValue"]).length&&s(new n(3,"At least one of the attributes (CaDataDetailId, CaDataListId, ListValue) must be defined.")),t.cw.runRequest("Pll/CaseDataGroup/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.searchForListValueObjects=function(e){var t=this;return new Promise(function(i,s){0==C.intersectionBy(e,["CaDataDetailId","CaDataListId","ListValue"]).length&&s(new n(3,"At least one of the attributes (CaDataDetailId, CaDataListId, ListValue) must be defined.")),t.cw.runRequest("Pll/CaseDataGroup/SearchObject",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},e}(),T=require("lodash"),q=function(){function e(e){this.cw=void 0,this.cw=e}var t=e.prototype;return t.addFee=function(e,t,n){var i=this;return new Promise(function(s,o){var u=T.merge({CaObjectId:e,FeeSetupId:t},n);i.cw.runRequest("Pll/CaseFees/Add",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.addPayment=function(e,t){var n=this;return new Promise(function(i,s){var o=T.merge({CaObjectId:e},t);n.cw.runRequest("Pll/CasePayment/Add",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.addRefund=function(e,t,n){var i=this;return new Promise(function(s,o){i.cw.runRequest("Pll/CasePaymentRefund/Add",{CaPaymentId:e,RefundAmount:t,Comments:n}).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.addDepositPayment=function(e,t){var n=this;return new Promise(function(i,s){var o=T.merge({CaDepositId:e},t);n.cw.runRequest("Pll/CasePayment/AddDeposit",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.addDeposit=function(e,t,n,i){var s=this;return new Promise(function(o,u){var r={CaObjectId:e,DepositId:t};void 0!==n&&T.set(r,"Amount",n),void 0!==i&&T.set(r,"CommentText",i),s.cw.runRequest("CaseDeposit/Add",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.addInstrument=function(e,t,n,i,s){var o=this;return new Promise(function(u,r){var c=T.merge({CaObjectId:e,InstTypeId:t,Amount:n,DateExpire:i},s);o.cw.runRequest("Pll/CaseInstrument/Add",c).then(function(e){u(e.Value)}).catch(function(e){r(e)})})},t.updateFee=function(e,t){var n=this;return new Promise(function(i,s){var o=T.merge({CaFeeId:e},t);n.cw.runRequest("Pll/CaseFees/Update",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.voidRefund=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Pll/CasePaymentRefund/Update",{CaPaymentRefundId:e,Voided:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.addDefaultFees=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Pll/CaseFees/AddDefault",{CaObjectId:e,BusCaseId:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.addDefaultDeposits=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Pll/CaseDeposit/AddDefault",{CaObjectId:e,BusCaseId:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getFees=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseFees/ByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getDeposits=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseDeposit/ByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getPayments=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CasePayment/ByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getInstruments=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseInstrument/ByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteFee=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseFees/Delete",{CaFeeId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteFeesByCaseId=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseFees/DeleteByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deletePayment=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CasePayment/Delete",{CaFeeId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteRefund=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CasePaymentRefund/Delete",{CaPaymentRefundId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deletePaymentsByCaseId=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CasePayment/DeleteByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteDeposit=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseDeposit/Delete",{CaDepositId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteDepositsByCaseId=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseDeposit/DeleteByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteInstrument=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseInstrument/Delete",{CaInstrumentId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteInstrumentsByCaseId=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseInstrument/DeleteByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.searchFees=function(e){var t=this;return new Promise(function(i,s){0==T.intersectionBy(e,["CaFeeId","CaObjectId","FeeCode","FeeDesc"]).length&&s(new n(4,"At least one of the attributes (CaFeeId, CaObjectId, FeeCode, FeeDesc) must be defined.")),t.cw.runRequest("Pll/CaseFees/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.searchPayments=function(e){var t=this;return new Promise(function(i,s){0==T.intersectionBy(e,["CaPaymentId","CommentText","FeeAmount","FeeCode","FeeDesc","PaymentAccount","PaymentAmount","TenderType"]).length&&s(new n(5,"At least one of the attributes (CaPaymentId, CommentText, FeeAmount, FeeCode, FeeDesc, PaymentAccount, PaymentAmount, TenderType) must be defined.")),t.cw.runRequest("Pll/CasePayment/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.searchRefunds=function(e){var t=this;return new Promise(function(i,s){0==T.intersectionBy(e,["CaPaymentId","CaPaymentRefundId","Comments","RefundAmount"]).length&&s(new n(6,"At least one of the attributes (CaPaymentId, CaPaymentRefundId, Comments, RefundAmount) must be defined.")),t.cw.runRequest("Pll/CasePayment/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.searchDeposits=function(e){var t=this;return new Promise(function(i,s){0==T.intersectionBy(e,["CaDepositId","CaObjectId","DepositCode","DepositDesc"]).length&&s(new n(1,"At least one of the arguments (CaDepositId, CaObjectId, DepositCode, DepositDesc) must be defined.")),t.cw.runRequest("Pll/CaseDeposit/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getAllFeeTemplates=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/FeeSetup/All",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.searchFeeTemplates=function(e){var t=this;return new Promise(function(i,s){0==T.intersectionBy(e,["FeeSetupId","FeeTypeId","FeeCode","FeeDesc","AccountCode"]).length&&s(new n(7,"At least one of the arguments (FeeSetupId, FeeTypeId, FeeCode, FeeDesc, AccountCode) must be defined.")),t.cw.runRequest("Pll/FeeSetup/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.searchCaseInstruments=function(e){var t=this;return new Promise(function(i,s){0==T.intersectionBy(e,["AddressLine1","Amount","CaInstrumentId","CityName","CommentText","Company","ContactEmail","ContactName","ContactPhone","CountryCode","InstTypeId","SerialNumber","StateCode","ZipCode"]).length&&s(new n(9,"At least one of the arguments (AddressLine1, Amount, CaInstrumentId, CityName, CommentText, Company, ContactEmail, ContactName, ContactPhone, CountryCode, InstTypeId, SerialNumber, StateCode, ZipCode) must be defined.")),t.cw.runRequest("Pll/CaseInstrument/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getInstrumentList=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseInstrument/GetList",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.addCaseInstrumentRelease=function(e,t,i,s,o,u){var r=this;return new Promise(function(c,a){var d={CaInstrumentId:e,DateReleased:i,ReleasedBy:t};void 0===o&&null==o||void 0===s&&null==s?void 0!==o&&null!=o?T.set(d,"PercentReleased",o):void 0!==s&&null!=s&&T.set(d,"AmountReleased",s):a(new n(2,"Either amountReleased or percentReleased must be specified.")),void 0!==u&&T.set(d,"CommentText",u),r.cw.runRequest("Pll/CaseInstReleases/Add",d).then(function(e){c(e.Value)}).catch(function(e){a(e)})})},t.deleteCaseInstrumentRelease=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseInstReleases/Delete",{CaInstReleasesId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.searchCaseInstrumentReleases=function(e){var t=this;return new Promise(function(i,s){var o=e;0==T.intersectionBy(e,["AmountReleased","CaInstReleasesId","CaInstrumentId","CommentText","PercentReleased","ReleasedBy"]).length&&s(new n(3,"At least one of the attributes (AmountReleased, CaInstReleasesId, CaInstrumentId, CommentText, PercentReleased, ReleasedBy) must be defined.")),t.cw.runRequest("Pll/CaseInstReleases/Search",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.fees=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/FeeSetup/All",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.searchAvailableFees=function(e){var t=this;return new Promise(function(i,s){0==T.intersectionBy(e,["AccountCode","FeeCode","FeeDesc","FeeSetupId","FeeTypeId"]).length&&s(new n(8,"At least one of the attributes (AccountCode, FeeCode, FeeDesc, FeeSetupId, FeeTypeId) must be defined.")),t.cw.runRequest("Pll/FeeSetup/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getTenderTypes=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/TenderType/All",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addTenderType=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/TenderType/Add",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.updateTenderType=function(e,t){var n=this;return new Promise(function(i,s){var o=T.merge({TenderTypeId:e},t);n.cw.runRequest("Pll/TenderType/Update",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},e}(),k=require("lodash"),S=function(){function e(e){this.cw=void 0,this.cw=e}var t=e.prototype;return t.addTask=function(e,t,n,i,s){var o=this;return new Promise(function(u,r){var c={CaObjectId:e,TaskId:t,StartPoint:n,EndPoint:i};void 0!==s&&(c=k.merge(c,s)),o.cw.runRequest("Pll/CaseTask/Add",c).then(function(e){u(e.Value)}).catch(function(e){r(e)})})},t.addTaskResult=function(e,t,n,i,s,o){var u=this;return new Promise(function(r,c){var a={CaObjectId:e,CaTaskId:t,ResultCode:n,ResultID:i,ResultSetID:s};void 0!==o&&(a=k.merge(a,o)),u.cw.runRequest("Pll/CaseTaskResults/Add",a).then(function(e){r(e.Value)}).catch(function(e){c(e)})})},t.addTaskComment=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Pll/CaseTaskComments/Add",{CaTaskId:e,CommentText:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getTasksByCaseId=function(e,t){var n=this;return void 0===t&&(t=!1),new Promise(function(i,s){n.cw.runRequest("Pll/CaseTask/ByCaObjectId",{CaObjectId:e,CheckRelatedItems:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getTasksById=function(e,t){var n=this;return void 0===t&&(t=!1),new Promise(function(i,s){n.cw.runRequest("Pll/CaseTask/ByIds",{CaTaskIds:e,CheckRelatedItems:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getResultsByTaskId=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseTaskResults/ByCaTaskIds",{CaTaskIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getCommentsForTask=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseTaskComments/ByCaTaskId",{caTaskId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getCommentsForTasks=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseTaskComments/ByCaTaskIds",{caTaskIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.updateTask=function(e,t){var n=this;return new Promise(function(i,s){var o={CaTaskId:e};void 0!==t&&(o=k.merge(o,t)),n.cw.runRequest("Pll/CaseTask/Update",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.updateTaskComment=function(e,t,n){var i=this;return new Promise(function(s,o){var u={CaTaskCommentId:e,CommentText:t};void 0!==n&&k.set(u,"CommentId",n),i.cw.runRequest("Pll/CaseTaskComments/Update",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.setTaskResult=function(e,t,i){var s=this;return new Promise(function(t,o){var u={CaTaskId:e};0==k.intersectionBy(i,["TaskCompleteDate","TaskCompletedBy"]).length&&o(new n(2,"At least one of the attributes (TaskCompletedBy, TaskCompleteDate) must be defined.")),void 0!==i&&(u=k.merge(u,i)),s.cw.runRequest("Pll/CaseTask/SetResult",u).then(function(e){t(e.Value)}).catch(function(e){o(e)})})},t.deleteTask=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseTask/Delete",{CaTaskId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteTasksOnCase=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseTask/DeleteByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteTaskComments=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseTaskComments/Delete",{CaTaskCommentIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.searchForTasks=function(e){var t=this;return new Promise(function(i,s){0==k.intersectionBy(e,["ResponsibleUserId","TaskAvailable","TaskComplete","TaskType"]).length&&s(new n(1,"At least one of the attributes (ResponsibleUserId, TaskAvailable, TaskComplete, TaskType) must be defined.")),t.cw.runRequest("Pll/CaseTask/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.searchForTaskResults=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseTaskResults/Search",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},e}(),g=require("lodash"),A=function(){function e(e){this.cw=void 0,this.cw=e}var t=e.prototype;return t.addBusinessCaseTemplate=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/BusinessCase/Add",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.updateBusinessCaseTemplate=function(e,t){var n=this;return new Promise(function(i,s){var o=g.merge({BusCaseId:e},t);n.cw.runRequest("Pll/BusinessCase/Update",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getBusinessCaseTemplates=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/BusinessCase/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addCaseType=function(e,t,n){var i=this;return new Promise(function(s,o){var u=g.merge({CaseType:e,CaseTypeDesciption:t},n);i.cw.runRequest("Pll/CaseType/Add",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.updateCaseType=function(e,t){var n=this;return new Promise(function(i,s){var o=g.merge({CaseTypeId:e},t);n.cw.runRequest("Pll/CaseType/GetList",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getCaseTypes=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/CaseType/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.searchCaseTypeIDs=function(e){var t=this;return new Promise(function(i,s){0==g.intersectionBy(e,["CaseType","CaseTypeDesc","CaseTypeId"]).length&&s(new n(2,"At least one of the attributes (CaFeeId, CaObjectId, FeeCode, FeeDesc) must be defined.")),t.cw.runRequest("Pll/CaseType/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.searchCaseTypeObjects=function(e){var t=this;return new Promise(function(i,s){0==g.intersectionBy(e,["CaseType","CaseTypeDesc","CaseTypeId"]).length&&s(new n(3,"At least one of the attributes (CaseType, CaseTypeDesc, CaseTypeId) must be defined.")),t.cw.runRequest("Pll/CaseType/SearchObject",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.addSubtype=function(e,t,n){var i=this;return new Promise(function(s,o){var u=g.merge({SubType:e,SubTypeDesc:t},n);i.cw.runRequest("Pll/SubType/Add",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.updateSubtype=function(e,t){var n=this;return new Promise(function(i,s){var o=g.merge({SubTypeId:e},t);n.cw.runRequest("Pll/SubType/Update",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getSubtypes=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/SubType/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getFees=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/FeeSetup/All",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.searchFees=function(e){var t=this;return new Promise(function(i,s){0==g.intersectionBy(e,["AccountCode","FeeCode","FeeDesc","FeeSetupId","FeeTypeId"]).length&&s(new n(4,"At least one of the attributes (AccountCode, FeeCode, FeeDesc, FeeSetupId, FeeTypeId) must be defined.")),t.cw.runRequest("Pll/FeeSetup/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getExpirations=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/ExpirationType/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addExpiration=function(e){var t=this;return new Promise(function(i,s){g.has(e,"OrgId")&&g.has(e,"ExpirationTypeDesc")||s(new n(5,"OrgId and ExpirationTypeDesc must both be defined.")),t.cw.runRequest("Pll/ExpirationType/Add",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getDeposits=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/Deposit/All",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.searchDeposits=function(e){var t=this;return new Promise(function(i,s){0==g.intersectionBy(e,["AccountCode","DepositCode","DepositDesc","DepositId","DepositTypeId"]).length&&s(new n(4,"At least one of the attributes (AccountCode, DepositCode, DepositDesc, DepositId, DepositTypeId) must be defined.")),t.cw.runRequest("Pll/Deposit/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getDisciplines=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/Discipline/All",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addDepartment=function(e,t,n){var i=this;return new Promise(function(s,o){var u=g.merge({DepartmentCode:e,DepartmentName:t},n);i.cw.runRequest("Pll/Department/Add",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.getDepartments=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/Department/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addDivision=function(e,t,n){var i=this;return new Promise(function(s,o){var u=g.merge({DepartmentId:e,DivisionName:t},n);i.cw.runRequest("Pll/Division/Add",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.getDivisions=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/Division/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addHoliday=function(e,t,n){var i=this;return new Promise(function(s,o){var u={HolidayDate:e,HolidayDesc:t};void 0!==n&&g.set(u,"HalfDayFlag",n),i.cw.runRequest("Pll/Holiday/Add",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.deleteHoliday=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/Holiday/Delete",{HolidayId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getHolidays=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/Holiday/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addInspectionTimeBlock=function(e,t,n,i){var s=this;return new Promise(function(o,u){var r={LabelText:e,StartTime:t,EndTime:n};void 0!==i&&g.set(r,"InspTimeBlocksDetails",i),s.cw.runRequest("Pll/InspectionTimeBlock/Add",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.getInspectionTimeBlocks=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/InspectionTimeBlock/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getNotificationCases=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/NotificationCase/GetNotificationCaseList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getNotificationTypes=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/NotificationType/GetNotificationTypeList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addNumberingGroup=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/NumberingGroup/Add",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.updateNumberingGroup=function(e,t){var n=this;return new Promise(function(i,s){var o=g.merge({NumberingGroupId:e},t);n.cw.runRequest("Pll/NumberingGroup/Update",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getNumberingGroups=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/NumberingGroup/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addPerson=function(e,t){var n=this;return new Promise(function(i,s){var o=g.merge(t,{Name:e});n.cw.runRequest("Pll/People/Add",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getPeople=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/People/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addPeopleRole=function(e,t){var n=this;return new Promise(function(i,s){var o=g.merge(t,{RoleCode:e});n.cw.runRequest("Pll/People/Add",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getPeopleRoles=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/PeopleRole/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addTaskResultDetail=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/TaskResultDetail/Add",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.updateTaskResultDetail=function(e,t){var n=this;return new Promise(function(i,s){var o=g.merge(t,{ResultDetailId:e});n.cw.runRequest("Pll/TaskResultDetail/Add",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getTaskResultDetails=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/TaskResultDetail/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addTaskResultFeeInsert=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/TaskResultFeeInsert/Add",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteTaskResultFeeInsert=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/TaskResultFeeInsert/Delete",{TaskResultFeeInsertId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteTaskResultFeeInsertByTaskId=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/TaskResultFeeInsert/DeleteByTaskId",{TaskId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.updateTaskResultFeeInsert=function(e,t,n,i){var s=this;return new Promise(function(o,u){var r={TaskResultFeeInsertId:e,TaskId:t,TaskResultId:n};void 0!==i&&g.set(r,"FeeSetupId",i),s.cw.runRequest("Pll/TaskResultFeeInsert/Update",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.getTaskResultFeeInsert=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/TaskResultFeeInsert/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},e}(),V=require("lodash"),D=function(){function e(e){this.cw=void 0,this.data=void 0,this.workflow=void 0,this.financial=void 0,this.admin=void 0,this.cw=e,this.data=new R(e),this.workflow=new S(e),this.financial=new q(e),this.admin=new A(e)}var t=e.prototype;return t.create=function(e,t,n){var i=this;return new Promise(function(s,o){var u=V.merge({CaseTypeId:e,SubTypeId:t},n);i.cw.runRequest("Pll/Case/Create",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.createChild=function(e,t,n){var i=this;return new Promise(function(s,o){var u=V.merge({BusCaseId:e,ParentCaObjectId:t},n);i.cw.runRequest("Pll/Case/CreateChild",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.createFromRequest=function(e,t,n,i){var s=this;return new Promise(function(o,u){var r=V.merge({CaseTypeId:e,SubTypeId:t,ServiceRequestId:n},i);s.cw.runRequest("Pll/CaseObject/CreateCaseFromServiceRequest",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.update=function(e,t){var n=this;return new Promise(function(i,s){var o=V.merge({CaObjectId:e},t);n.cw.runRequest("Pll/CaseObject/Update",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getByIds=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseObject/ByIds",{CaObjectIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.search=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseObject/Search",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.move=function(e,t,i,s,o){var u=this;return new Promise(function(r,c){V.has(s,"WKID")||V.has(s,"WKT")||c(new n(1,"You must provide either the WKID or WKT for the x/y coordinates.",{projection:s}));var a={CaObjectId:e,X:t,Y:i};void 0!==o&&V.set(a,"Z",o);var d=V.merge(a,s);u.cw.runRequest("Pll/CaseObject/Move",d).then(function(e){r(e.Value)}).catch(function(e){c(e)})})},t.delete=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseObject/DeleteCase",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},e}(),b=require("https"),O=require("querystring"),E=require("lodash");module.exports=function(){function e(e,t,n){this.base_url=void 0,this.Token=void 0,this.login=void 0,this.password=void 0,this.gisToken=void 0,this.gisTokenUrl=void 0,this.settings=void 0,this.error=void 0,this.general=void 0,this.activity_link=void 0,this.message_queue=void 0,this.gis=void 0,this.search=void 0,this.request=void 0,this.inspection=void 0,this.workorder=void 0,this.case=void 0,this.extensions=void 0,this.features=void 0,this.potential_loads=void 0,this.base_url="cityworksonline",this.extensions={UnknownExtension:0,CwAnalytics:1,WebHooks:2,PLLPublicApp:3,ActivityUpdate:4,SingleSignOn:5},this.features={UnknownFeature:0,ViewInspections:1,EditInspections:2,ViewServiceRequest:3,EditServiceRequest:4,ViewWorkOrder:5,EditWorkOrder:6,EquipmentCheckOut:7,OfficeField:8,Respond:9,Eurl:10,PaverInterface:11,Contracts:12,Storeroom:13,PLL:14,Cw4XL:15,TableEditor:16,CCTVInterface:17,MobileAndroid:18,MobileiOS:19,PerformanceBudgeting:20,Insights:21,RespondCase:22,RespondInspection:23,RespondServiceRequest:24,RespondTaskManager:25,RespondWorkOrder:26,Workload:27,OpX:28,TrimbleUnityMobile:29,TrimbleVegetationManager:30},this.settings={path:"cityworks",secure:!0,expires:null,default_domain:null},this.potential_loads=["general","activity_link","message_queue","gis","search","request","case","case_financial"],void 0!==e&&this.configure(e,t,n)}var t=e.prototype;return t.configure=function(e,t,n){var i=this;if(this.base_url=void 0!==e?e:"cityworksonline",this.settings={path:"cityworks",secure:!0,expires:null,default_domain:null},void 0!==t&&E.forEach(t,function(e,t){void 0!==i.settings[t]&&(i.settings[t]=e)}),void 0===n)this.general=new s(this),this.activity_link=new u(this),this.message_queue=new a(this),this.request=new m(this),this.inspection=new w(this),this.workorder=new P(this),this.case=new D(this);else{var o=this;E.forEach(this.potential_loads,function(e){switch(e){case"general":o.general=new s(o);break;case"activity_link":o.activity_link=new u(o);break;case"message_queue":o.message_queue=new a(o);break;case"gis":o.gis=new r(o);break;case"search":o.search=new f(o);break;case"request":o.request=new m(o);break;case"case":o.case=new D(o);break;case"inspection":o.inspection=new w(o);break;case"workorder":o.workorder=new P(o)}})}},t.runRequest=function(e,t){var i=this;return new Promise(function(s,o){var u={};u.data=JSON.stringify(t),void 0!==i.Token&&""!=i.Token&&"General/Authentication/CityworksOnlineAuthenticate"!=e&&"General/Authentication/Authenticate"!=e&&(u.token=i.Token);var r={hostname:i.base_url,port:443,path:"/"+i.settings.path+"/services/"+e,method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","Content-Length":Buffer.byteLength(O.stringify(u))},timeout:1e7},c=b.request(r,function(e){var t="";e.on("error",function(e){console.log(e,"Caught on error"),o(new n(13,"Unknown error.",e))}),e.on("data",function(e){t+=e}),e.on("end",function(){try{if(null==(JSON.stringify(t)+"[test string]").match(/\<h2\>Object\ moved\ to/)){var e=JSON.parse(t);void 0===e?o(new n(10,"No response received from Cityworks API.")):void 0!==e&&void 0!==e.Value?s(e):o(new n(3,"Unknown error.",{options:r,postedData:u,api_returned_string:e}))}else o(new n(1,"Error parsing JSON. Cityworks returned HTML.",{response:t}))}catch(e){e instanceof SyntaxError?(console.log("try/catch error on JSON"),o(new n(1,"Error parsing JSON.",{error:e}))):(console.log("try/catch error on JSON"),o(new n(1,"Error parsing JSON.")))}})});c.write(O.stringify(u)),c.end()})},t.authenticate=function(e,t){var i=this;return new Promise(function(s,o){var u="General/Authentication/Authenticate";"cityworksonline"==i.base_url&&(u="General/Authentication/CityworksOnlineAuthenticate"),i.runRequest(u,{LoginName:e,Password:t}).then(function(u){u.Status>0?o(new n(10,u.Message)):void 0!==u.Value&&void 0!==u.Value.Token?(i.login=e,i.password=t,i.Token=u.Value.Token,s(!0)):o(new n(11,"Unknown Error"))}).catch(function(e){o(e)})})},t.authenticateWithGISToken=function(e,t,n,i){var s=this;return this.login=e,this.gisToken=t,this.gisTokenUrl=n,void 0!==i&&(i=12096e5),new Promise(function(e,t){s.runRequest("General/Authentication/AuthenticateGisToken",{LoginName:s.login,GisToken:s.gisToken,GisTokenUrl:s.gisTokenUrl,Expires:i}).then(function(t){void 0!==t.Status&&t.Status>0||(void 0!==t.Value&&void 0!==t.Value.Token?(s.Token=t.Value.Token,e(!0)):e(!1))}).catch(function(e){throw e})})},t.validateToken=function(e,t){var n=this;return new Promise(function(i,s){n.runRequest("General/Authentication/Validate",{Token:e}).then(function(s){s.Status>0?i(!1):(t&&(n.Token=e),i(s.Value))}).catch(function(e){throw e})})},t.setToken=function(e){return""!=e&&null!=e&&(this.Token=e,!0)},t.getToken=function(){return""!=this.Token&&null!=this.Token&&this.Token},t.revokeToken=function(e){var t=this;return new Promise(function(n,i){t.runRequest("General/Token/RevokeUser",{RevokeDate:e}).then(function(e){n(!(void 0!==e.Status&&e.Status>0))}).catch(function(e){throw e})})},t.getLocalizationSettings=function(){var e=this;return new Promise(function(t,n){e.runRequest("General/Localization/LocalizationSettings",{}).then(function(e){t(e.Value)})})},t.getTimezoneOptions=function(){var e=this;return new Promise(function(t,n){e.runRequest("General/Localization/TimeZones",{}).then(function(e){t(e.Value)})})},t.getCurrentLocation=function(){var e=this;return new Promise(function(t,n){e.runRequest("General/AppData/CurrentLocation",{}).then(function(e){t(e.Value)})})},t.licensedApiCheck=function(e,t){var n=this;return new Promise(function(i,s){n.runRequest("General/AppData/SelectedEntities",{Area:e,Service:t}).then(function(e){i(e.Value)})})},t.licensedExtensionCheck=function(e){var t=this;return new Promise(function(i,s){void 0===t.extensions[e]&&s(new n(4,"Extension provided does not exist or is mispelled.",{provided:e,available:t.extensions})),t.runRequest("General/Authorization/LicensedExtensionCheck",{Extension:t.extensions[e]}).then(function(e){i(e.Value)})})},t.licensedExtensionsCheck=function(e){var t=this;return new Promise(function(i,s){var o={Extensions:[]};E.forEach(e,function(e){void 0===t.extensions[e]?s(new n(5,"Extension provided does not exist or is mispelled.",{provided:e,available:t.extensions})):o.Extensions.push(t.extensions[e])}),t.runRequest("General/Authorization/LicensedExtensionsCheck",o).then(function(e){var o={},u=E.invert(t.extensions);E.forEach(e,function(e,i){void 0===u[e]?s(new n(6,"Extension index provided does not exist or isn't configured properly.",{provided_num_returned:e,available:t.extensions})):o[u[e]]=i}),i(o)})})},t.licensedFeatureCheck=function(e){var t=this;return new Promise(function(i,s){void 0===t.features[e]&&s(new n(7,"Feature provided does not exist or is mispelled.",{provided:e,available:t.features})),t.runRequest("General/Authorization/LicensedFeatureCheck",{Feature:t.features[e]}).then(function(e){i(e.Value)})})},t.licensedFeaturesCheck=function(e){var t=this;return new Promise(function(i,s){var o={Features:[]};E.forEach(e,function(e){void 0===t.features[e]?s(new n(8,"Feature provided does not exist or is mispelled.",{provided:e,available:t.features})):o.Features.push(t.features[e])}),t.runRequest("General/Authorization/LicensedFeaturesCheck",o).then(function(e){var o={},u=E.invert(t.features);E.forEach(e.Value,function(e,t){void 0===u[e]?s(new n(9,"Feature index provided does not exist or isn't configured properly.",{provided:e,available:u})):o[u[e]]=t}),i(o)})})},t.licensedServicesCheck=function(e){var t=this;return new Promise(function(n,i){t.runRequest("General/Authorization/LicensedServicesCheck",{Services:e}).then(function(e){n(e.Value)})})},t.cityworksOnlineSites=function(e,t){var n=this;return new Promise(function(i,s){n.runRequest("General/Authentication/CityworksOnlineSites",{LoginName:void 0!==e?e:n.login,Password:void 0!==t?t:n.password}).then(function(e){i(e.Value)})})},t.domains=function(){var e=this;return new Promise(function(t,n){e.runRequest("General/Authentication/Domains",{}).then(function(e){t(e.Value)})})},t.user=function(e){var t=this;return new Promise(function(n,i){t.runRequest("General/Authentication/User",{LoginName:void 0!==e?e:t.login}).then(function(e){n(e.Value)})})},t.version=function(){var e=this;return new Promise(function(t,n){e.runRequest("General/Authentication/Version",{}).then(function(e){t(e.Value)})})},e}();
1
+ function e(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var t=e(require("reversible-map")),n=function(e,t,n){this.name=void 0,this.code=void 0,this.message=void 0,this.info=void 0,this.name="Cityworks Exception",this.code=e,this.message=t,void 0!==n&&(this.info=JSON.stringify(n))},i=require("lodash"),s=function(){function e(e){this.cw=void 0,this.cw=e}var t=e.prototype;return t.notifications=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("General/ActivityNotification/User",{}).then(function(e){t(e.Value)})})},t.amIWatching=function(e,t){var i=this;return new Promise(function(s,o){var u={null:0,case:1,task:2};void 0===u[e]?o(new n(1,"Activity type provided does not exist.",{provided:e,potential_activities:u})):i.cw.runRequest("General/ActivityNotification/UserWatching",{ActivityType:u[e],ActivityId:t}).then(function(e){s(e.Value)}).catch(function(e){o(new n(2,"Unknown error."))})})},t.getActivityMetadataByIds=function(e,t){var s=this;return new Promise(function(o,u){var r=["INSPECTION","REQUEST","WORKORDER"];-1==i.indexOf(r,t)&&u(new n(2,"TableName provided does not exist or is mispelled.",{provided:t,available:r})),s.cw.runRequest("General/CwMetaData/ByTableNameSids",{Ids:e,TableName:t}).then(function(e){console.log(e),o(e.Value)}).catch(function(e){u(e)})})},t.getHistory=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/Search/RecentActivity",{}).then(function(e){console.log(e),t(e.Value)}).catch(function(e){n(e)})})},t.getWOEntityCostSummary=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("General/CostSummary/WorkOrderEntity",{ObjectIds:e}).then(function(e){console.log(e),n(e.Value)}).catch(function(e){i(e)})})},t.searchWOEntityCostSummary=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("General/CostSummary/WorkOrderEntitySearch",{SearchId:e}).then(function(e){console.log(e),n(e.Value)}).catch(function(e){i(e)})})},e}(),o=require("lodash"),u=function(){function e(e){this.activityTypes=void 0,this.linkTypes=void 0,this.cw=void 0,this.cw=e,this.activityTypes=new t.default,this.activityTypes.set("null",0),this.activityTypes.set("case",1),this.activityTypes.set("inspection",2),this.activityTypes.set("request",3),this.activityTypes.set("workorder",4),this.activityTypes.set("wipcase",5),this.linkTypes=new t.default,this.linkTypes.set("null",0),this.linkTypes.set("parent",1),this.linkTypes.set("related",2)}var i=e.prototype;return i.add=function(e,t,i,s,o){var u=this;return void 0===o&&(o="related"),new Promise(function(r,c){u.activityTypes.has(e)||c(new n(1,"Source type not found.",{provided:e,options:u.activityTypes})),u.activityTypes.has(i)||c(new n(2,"Destination type not found.",{provided:i,options:u.activityTypes})),u.linkTypes.has(o)||c(new n(3,"Link type not found.",{provided:o,options:u.linkTypes}));var a={SourceType:u.activityTypes.get(e),SourceSid:t,DestType:u.activityTypes.get(i),DestSid:s,LinkType:u.linkTypes.get(o)};u.cw.runRequest("General/ActivityLink/Add",a).then(function(e){r(e.Value)})})},i.get=function(e,t){var i=this;return new Promise(function(s,u){i.activityTypes.has(e)||u(new n(4,"Activity type not found.",{provided:e,options:i.activityTypes}));var r={ActivityType:i.activityTypes.get(e),ActivitySids:t},c=i;i.cw.runRequest("General/ActivityLink/ByActivitySids",r).then(function(e){var t=new Array;o.forEach(e.Value,function(e,n){e.DestType=c.activityTypes.get(e.DestType),e.SourceType=c.activityTypes.get(e.SourceType),e.LinkType=c.linkTypes.get(e.LinkType),t.push(e)}),s(t)})})},i.clone=function(e,t,i,s){var o=this;return new Promise(function(u,r){o.activityTypes.has(e)||r(new n(1,"Source type not found.",{provided:e,options:o.activityTypes})),o.activityTypes.has(i)||r(new n(1,"Destination type not found.",{provided:i,options:o.activityTypes}));var c={SourceActivityType:o.activityTypes.get(e),SourceActivitySid:t,DestinationActivityType:o.activityTypes.get(i),DestinationActivitySid:s};o.cw.runRequest("General/ActivityLink/CloneByActivitySid",c).then(function(e){u(e.Value)})})},i.delete=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("General/ActivityLink/Delete",{ActivityLinkId:e}).then(function(e){n(e.Value)})})},i.remove=function(e,t,i,s,o){var u=this;return void 0===o&&(o="related"),new Promise(function(r,c){u.activityTypes.has(e)||c(new n(1,"Source type not found.",{provided:e,options:u.activityTypes})),u.activityTypes.has(i)||c(new n(1,"Destination type not found.",{provided:i,options:u.activityTypes})),u.linkTypes.has(o)||c(new n(1,"Link type not found.",{provided:o,options:u.linkTypes}));var a={SourceType:u.activityTypes.get(e),SourceSid:t,DestType:u.activityTypes.get(i),DestSid:s,LinkType:u.linkTypes.get(o)};u.cw.runRequest("General/ActivityLink/Remove",a).then(function(e){r(e.Value)})})},e}();require("lodash");var r=function(){function e(e){this.cw=void 0,this.cw=e}var t=e.prototype;return t.getConfig=function(e,t,n,i){var s=this;return new Promise(function(t,n){e=e.toLowerCase(),s.cw.runRequest("Gis/MapService/Domain",{}).then(function(e){t(e.Value)})})},t.domain=function(e,t){var n=this;return new Promise(function(e,t){n.cw.runRequest("Gis/MapService/Domain",{}).then(function(t){e(t.Value)})})},t.downloadMobile=function(e,t){var n=this;return new Promise(function(e,t){n.cw.runRequest("Gis/MapService/DownloadMobileMapCache",{}).then(function(t){e(t.Value)})})},t.initialExtent=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Gis/MapService/InitialExtent",{}).then(function(e){t(e.Value)})})},t.request=function(e,t){var n=this;return new Promise(function(e,t){n.cw.runRequest("Gis/MapService/ServiceRequestConfiguration",{}).then(function(t){e(t.Value)})})},t.inspection=function(e,t){var n=this;return new Promise(function(e,t){n.cw.runRequest("Gis/MapService/InspectionConfiguration",{}).then(function(t){e(t.Value)})})},t.workOrder=function(e,t){var n=this;return new Promise(function(e,t){n.cw.runRequest("Gis/MapService/WorkOrderConfiguration",{}).then(function(t){e(t.Value)})})},t.user=function(e,t,n,i){var s=this;return new Promise(function(e,t){s.cw.runRequest("Gis/MapService/User",{}).then(function(t){e(t.Value)})})},t.selectedEntities=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("General/AppData/SelectedEntities",{}).then(function(e){t(e.Value)})})},e}(),c=require("lodash"),a=function(){function e(e){this.cw=void 0,this.status={Pending:0,Processing:1,Complete:2,Failed:3},this.hook_types={Unknown:0,ActivityUpdate:1,Email:2,WebHook:3},this.cw=e}var t=e.prototype;return t.processMessages=function(e,t){var n=this;return void 0===t&&(t=!1),new Promise(function(i,s){n.cw.runRequest("General/WebHookEvent/ProcessMessages",{Ids:e,Delete:t}).then(function(e){})})},t.get=function(e,t,i){var s=this;return void 0===i&&(i=15),new Promise(function(o,u){void 0===s.status[t]&&u(new n(1,"Status provided does not exist or is mispelled.",{provided:t,available:s.status})),s.cw.runRequest("General/MessageQueue/ByIds",{Ids:e,MaxCount:void 0!==i?i:15,Status:s.status[t]}).then(function(e){})})},t.delete=function(e,t,i){var s=this;return new Promise(function(o,u){void 0===s.status[t]&&u(new n(2,"Status provided does not exist or is mispelled.",{provided:t,available:s.status})),s.cw.runRequest("General/MessageQueue/Delete",{Ids:e,Status:s.status[t],HoursToKeep:i}).then(function(e){})})},t.preferences=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("General/MessageQueue/Preferences",{}).then(function(e){})})},t.search=function(e,t){var i,s=this;return new Promise(function(o,u){void 0!==e.status&&void 0===s.status[e.status]?u(new n(3,"Status provided does not exist or is mispelled.",{provided:e.status,available:s.status})):void 0!==e.status&&void 0!==s.status[e.status]&&(i.Status=s.status[e.status]),void 0!==t&&(i.MaxResults=t);var r=["Id","HookId","HookType","Result","DateCreatedBegin","DateCreatedEnd","DateUpdatedBegin","DateUpdatedEnd"],a=["Status","MaxResults"];c.forEach(e,function(e,t){-1!=c.indexOf(r,t)&&-1==c.indexOf(a,t)?i[t]=e:-1==c.indexOf(a,t)&&u(new n(4,"Provided parameter does not exist or is mispelled.",{provided:t,value:e,available:c.concat(r,a)}))}),s.cw.runRequest("General/MessageQueue/Search",i).then(function(e){void 0===e.Value&&(e.Value=[]),o(e.Value)})})},t.update=function(e){var t,i=this;return new Promise(function(s,o){void 0!==e.status&&void 0===i.status[e.status]?o(new n(3,"Status provided does not exist or is mispelled.",{provided:e.status,available:i.status})):void 0!==e.status&&void 0!==i.status[e.status]&&(t.Status=i.status[e.status]),void 0!==e.hook_types&&void 0===i.hook_types[e.hook_types]?o(new n(3,"Status provided does not exist or is mispelled.",{provided:e.hook_types,available:i.hook_types})):void 0!==e.hook_types&&void 0!==i.hook_types[e.hook_types]&&(t.HookType=i.hook_types[e.hook_types]);var u=["Id","HookId","Packet","Result"],r=["Status","HookType"];c.forEach(e,function(e,i){-1!=c.indexOf(u,i)&&-1==c.indexOf(r,i)?t[i]=e:-1==c.indexOf(r,i)&&o(new n(5,"Provided parameter does not exist or is mispelled.",{provided:i,value:e,available:c.concat(u,r)}))}),i.cw.runRequest("General/MessageQueue/Update",t).then(function(e){void 0===e.Value&&(e.Value=[]),s(e.Value)})})},t.updateMessageStatus=function(e,t,i){var s=this;return new Promise(function(o,u){void 0===s.status[t]&&u(new n(2,"Status provided does not exist or is mispelled.",{provided:t,available:s.status})),s.cw.runRequest("General/MessageQueue/UpdateMessageStatus",{Ids:e,Status:s.status[t],HoursToKeep:i}).then(function(e){})})},t.getWebooks=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("General/MessageQueue/WebHooks",{HookIds:e}).then(function(e){})})},e}(),d=require("lodash"),f=function(){function e(e){this.cw=void 0,this.searchTypes={Null:0,Request:1,WorkOrder:2,Inspection:3,Contract:4,Permit:5,GIS:6,PermitTask:7,PermitAddress:8,InspCommon:9,Case:10,WorkOrderEntity:11,StoreTransaction:12,Requisition:13,Material:14,WorkActivity:15,MaterialLeaf:16,WoTemplate:17,Unknown:18,Employee:19,MessageQueue:20,Analytics:21,TokenState:22,AssetCalculationResult:23,Equipment:24,CustomerAccount:25,InspTemplate:26,ProblemLeaf:27,AssetSplitRecord:28,PavementInsp:29,TvInspection:30,Projects:31},this.cw=e}var t=e.prototype;return t.quick=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("General/QuickSearch/QuickSearch",{QuickSearchText:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.execute=function(e,t){var n=this;return new Promise(function(i,s){var o={SearchId:e};o=d.merge(o,t),n.cw.runRequest("Ams/Search/Execute",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getSaved=function(e,t,i,s){var o=this;return new Promise(function(u,r){d.has(o.searchTypes,e)?void 0!==t&&null!=t&&t.length>0&&(void 0!==i||void 0!==s)&&r(new n(3,"You cannot specify both applyToEntities AND employeeSid/domainId")):r(new n(2,"SearchType provided does not exist or is mispelled.",{provided:e,available:o.searchTypes}));var c={},a="";void 0!==i||void 0!==s?(a="SavedByType",void 0!==i&&null!=i&&d.set(c,"EmployeeSid",i),void 0!==s&&null!=s&&d.set(c,"DomainId",s)):(a="Case"==e?"PllSavedSaved":e+"Saved",void 0!==t&&null!=t&&d.set(c,"ApplyToEntities",t)),o.cw.runRequest("Ams/Search/"+a,c).then(function(e){u(e.Value)}).catch(function(e){r(e)})})},t.displayFields=function(e){var t=this;return new Promise(function(i,s){d.has(t.searchTypes,e)||s(new n(1,"SearchType provided does not exist or is mispelled.",{provided:e,available:t.searchTypes}));var o={searchType:d.get(t.searchTypes,e)};t.cw.runRequest("Ams/Search/DisplayFields",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.types=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/Search/Types",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.enableServices=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Search/UpdateEurl",{Enable:!0,SearchIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.disableServices=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Search/UpdateEurl",{Enable:!1,SearchIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getDefinition=function(e,t){var n=this;return new Promise(function(i,s){var o={SearchId:e};void 0!==t&&d.set(o,"EmployeeSid",t),n.cw.runRequest("Ams/Search/Definition",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getDefinitions=function(e,t){var n=this;return new Promise(function(i,s){var o={SearchIds:e};void 0!==t&&d.set(o,"EmployeeSid",t),n.cw.runRequest("Ams/Search/Definitions",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getDefinitionNames=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Search/DefinitionNames",{SearchIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteDefinitions=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Search/DeleteDefinitions",{SearchIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.saveDefinition=function(e,t,i){var s=this;return void 0===i&&(i=0),new Promise(function(o,u){d.has(s.searchTypes,e)||u(new n(1,"SearchType provided does not exist or is mispelled.",{provided:e,available:s.searchTypes}));var r={SearchFor:d.get(s.searchTypes,e),SearchId:i};r=d.merge(r,t),s.cw.runRequest("Ams/Search/SaveDefinition",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},e}();require("lodash");var l=function(e){this.cw=void 0,this.cw=e},h=require("lodash"),m=function(){function e(e,i){if(this.cw=void 0,this.activityTypes=void 0,this.currentActivityType=void 0,this.cw=e,this.activityTypes=new t.default,this.activityTypes.set("Unknown",0),this.activityTypes.set("Request",1),this.activityTypes.set("WorkOrder",2),this.activityTypes.set("CaTask",3),this.activityTypes.set("CaObject",4),this.activityTypes.set("CaCorrection",5),this.activityTypes.set("Project",6),this.activityTypes.set("Contract",7),!this.activityTypes.has(i))throw new n(1,"Activity type not found.",{provided:i,options:this.activityTypes});this.currentActivityType=i}var i=e.prototype;return i.add=function(e,t){var n=this;return new Promise(function(i,s){var o={ActivityType:n.activityTypes.get(n.currentActivityType),ActivitySid:e,Comments:t};n.cw.runRequest("Ams/Comment/Add",o).then(function(e){i(e.Value)})})},i.update=function(e,t){var n=this;return new Promise(function(i,s){var o={ActivityType:n.activityTypes.get(n.currentActivityType),CommentId:e,Comments:t};n.cw.runRequest("Ams/Comment/Update",o).then(function(e){i(e.Value)})})},i.get=function(e){var t=this;return new Promise(function(n,i){if(void 0!==e&&null!=e){var s={ActivitySids:e,ActivityType:t.activityTypes.get(t.currentActivityType)};t.cw.runRequest("Ams/Comment/ByActivitySids",s).then(function(t){n(1==e.length?t.Value[e[0]]:t.Value)})}})},i.getPredefined=function(e,t){var n=this;return new Promise(function(i,s){var o={};"Request"==n.currentActivityType&&h.set(o,"ProblemSid",e),void 0===t||"Request"!=n.currentActivityType&&"WorkOrder"!=n.currentActivityType||h.set(o,"Category",t),h.set(o,"ActivityType",n.activityTypes.get(n.currentActivityType)),n.cw.runRequest("Ams/Comment/PredefinedComments",o).then(function(e){i(e.Value)})})},e}(),v=require("lodash"),p=function(){function e(e){this.cw=void 0,this.admin=void 0,this.comment=void 0,this.cw=e,this.admin=new l(e),this.comment=new m(e,"Request")}var t=e.prototype;return t.create=function(e){var t=this;return new Promise(function(i,s){v.has(e,"ProblemSid")?t.cw.runRequest("Ams/ServiceRequest/Create",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(2,"ProblemSid must be provided.",{provided:e}))})},t.update=function(e){var t=this;return new Promise(function(i,s){v.has(e,"RequestId")?t.cw.runRequest("Ams/ServiceRequest/Update",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(3,"RequestId must be provided.",{provided:e}))})},t.move=function(e,t,i,s,o){var u=this;return new Promise(function(r,c){v.has(s,"WKID")||v.has(s,"WKT")||c(new n(6,"You must provide either the WKID or WKT for the x/y coordinates.",{projection:s}));var a={RequestId:e,X:t,Y:i};void 0!==o&&v.set(a,"Z",o);var d=v.merge(a,s);u.cw.runRequest("Ams/ServiceRequest/Move",d).then(function(e){r(e.Value)}).catch(function(e){c(e)})})},t.changeProblem=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Ams/ServiceRequest/ChangeProblem",{RequestId:e,ProblemSid:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getById=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/ById",{RequestId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getByIds=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/ByIds",{RequestIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getAuditLog=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/AuditLog",{RequestId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getCustomFields=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/CustomFields",{RequestIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.changeCustomFieldCategory=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Ams/ServiceRequest/ChangeCustomFieldCategory",{RequestIds:e,CategoryId:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.cancel=function(e,t,n){var i=this;return new Promise(function(s,o){var u={RequestIds:e};void 0!==t&&v.set(u,"CancelReason",t),void 0!==n&&v.set(u,"DateCancelled",n),i.cw.runRequest("Ams/ServiceRequest/Cancel",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.uncancel=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/Uncancel",{RequestIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.close=function(e){var t=this;return new Promise(function(i,s){t.cw.runRequest("Ams/ServiceRequest/Close",{RequestIds:e}).then(function(e){e.Status>0?s(new n(5,e.Message,{response:e})):i(e.Value)}).catch(function(e){s(e)})})},t.reopen=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/ReOpen",{RequestIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.delete=function(e){var t=this;return new Promise(function(i,s){t.cw.runRequest("Ams/ServiceRequest/Delete",{RequestIds:e}).then(function(e){e.Status>0?s(new n(4,e.Message,{response:e})):i(e.Value)}).catch(function(e){s(e)})})},t.search=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/Search",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.searchObject=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/SearchObject",{RequestId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.createSearchDefinition=function(e,t,n,i,s){var o=this;return void 0===i&&(i=!0),void 0===s&&(s=!0),new Promise(function(n,u){var r=e;v.isString(t)&&(v.set(r,"SearchName",t),v.set(r,"SaveDefinition",i),v.set(r,"EnableEurl",s)),o.cw.runRequest("Ams/ServiceRequest/CreateSearchDefinition",r).then(function(e){n(e.Value)}).catch(function(e){u(e)})})},t.getProblemNodes=function(e,t,n,i){var s=this;return void 0===t&&(t=!1),void 0===i&&(i=!1),new Promise(function(o,u){var r={DomainId:e,IncludeCancelled:i,ViewOnly:t};null!=n&&v.has(n,"DisplayTextMode")&&(v.set(r,"DisplayTextMode",v.get(n,"DisplayTextMode")),"CD"==v.get(n,"DisplayTextMode")&&v.has(n,"DisplayTextDelimeter")&&v.set(r,"DisplayTextDelimeter",v.get(n,"DisplayTextDelimeter"))),s.cw.runRequest("Ams/ServiceRequest/ProblemNodes",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.getProblems=function(e,t,n){var i=this;return void 0===e&&(e=!1),void 0===t&&(t=!0),new Promise(function(s,o){var u={ForPublicOnly:e,OnlyActiveTemplates:t};void 0!==n&&v.set(u,"DomainIds",n),i.cw.runRequest("Ams/ServiceRequest/Problems",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.getProblemsByKeywords=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/ProblemsByKeywords",{Keywords:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getPriorities=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/Priorities",{ProblemSids:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getCustomFieldTemplate=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/TemplateCustomFields",{ProblemSids:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getQASettings=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/QA",{ProblemSids:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getProblemLeaf=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/ProblemLeafBySid",{ProblemSid:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getStatuses=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/DefaultStatus",{DomainIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getEmployeeLists=function(e,t){var i=this;return new Promise(function(s,o){var u={DomainId:t};v.includes(["DispatchTo","SubmitTo"],e)?i.cw.runRequest("Ams/ServiceRequest/"+e,u).then(function(e){s(e.Value)}).catch(function(e){o(e)}):o(new n(2,"listType must be either SubmitTo or DispatchTo.",{provided:e}))})},t.getDispatchTos=function(e){return this.getEmployeeLists("DispatchTo",e)},t.getSubmitTos=function(e){return this.getEmployeeLists("SubmitTo",e)},t.streetCodes=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/ServiceRequest/AllStreetCode",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getTemplatesById=function(e,t,n){var i=this;return new Promise(function(e,s){var o={ProblemSids:null};void 0!==t&&v.set(o,"MinimumDateModified",t),void 0!==n&&v.set(o,"MaximumDateModified",n),i.cw.runRequest("Ams/ServiceRequestTemplate/ByIds",o).then(function(t){e(t.Value)}).catch(function(e){s(e)})})},t.createTemplateSearchDefinition=function(e,t,n,i){var s=this;return void 0===i&&(i=!0),new Promise(function(n,o){var u=e;v.isString(t)&&(v.set(u,"SearchName",t),v.set(u,"SaveDefinition",i)),s.cw.runRequest("Ams/ServiceRequestTemplate/CreateSearchDefinition",u).then(function(e){n(e.Value)}).catch(function(e){o(e)})})},t.getTemplateQAs=function(e,t,n){var i=this;return new Promise(function(e,t){i.cw.runRequest("Ams/ServiceRequestTemplate/QA",{ProblemSids:null}).then(function(t){e(t.Value)}).catch(function(e){t(e)})})},t.searchTemplates=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequestTemplate/Search",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getTemplates=function(e,t,n,i,s){var o=this;return void 0===t&&(t=!1),void 0===n&&(n=!1),new Promise(function(u,r){var c={CanCreate:t,IncludeInactiveIf:n};void 0!==e&&v.set(c,"TemplateIds",e),void 0!==i&&v.set(c,"MinimumDateModified",i),void 0!==s&&v.set(c,"MaximumDateModified",s),o.cw.runRequest("Ams/ServiceRequestTemplate/Templates",c).then(function(e){u(e.Value)}).catch(function(e){r(e)})})},t.getWOTemplates=function(e,t){var n=this;return void 0===t&&(t=!1),new Promise(function(i,s){n.cw.runRequest("Ams/ServiceRequestTemplate/WorkOrderTemplates",{ProblemSids:e,IncludeInactive:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},e}();require("lodash");var w=function(e){this.cw=void 0,this.cw=e},y=require("lodash"),I=function(){function e(e){this.cw=void 0,this.admin=void 0,this.cw=e,this.admin=new w(e)}var t=e.prototype;return t.create=function(e){var t=this;return new Promise(function(i,s){y.has(e,"EntityType")&&y.has(e,"InspTemplateId")?t.cw.runRequest("Ams/Inspection/Create",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(1,"EntityType and InspTemplateId properties must be provided.",{provided:e}))})},t.createFromEntities=function(e){var t=this;return new Promise(function(i,s){y.has(e,"EntityType")&&y.has(e,"InspTemplateId")?t.cw.runRequest("Ams/Inspection/CreateFromEntities",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(1,"EntityType and InspTemplateId properties must be provided.",{provided:e}))})},t.createFromParent=function(e){var t=this;return new Promise(function(i,s){y.has(e,"EntityType")&&y.has(e,"InspTemplateId")&&y.has(e,"InspectionId")?t.cw.runRequest("Ams/Inspection/CreateFromParent",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(1,"EntityType and InspTemplateId properties must be provided.",{provided:e}))})},t.createFromServiceRequest=function(e){var t=this;return new Promise(function(i,s){y.has(e,"EntityType")&&y.has(e,"InspTemplateId")&&y.has(e,"RequestId")?t.cw.runRequest("Ams/Inspection/CreateFromServiceRequest",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(1,"EntityType and InspTemplateId properties must be provided.",{provided:e}))})},t.createFromWorkOrder=function(e){var t=this;return new Promise(function(i,s){y.has(e,"EntityType")&&y.has(e,"InspTemplateId")&&y.has(e,"WorkOrderSid")?t.cw.runRequest("Ams/Inspection/CreateFromWorkOrder",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(1,"EntityType and InspTemplateId properties must be provided.",{provided:e}))})},t.update=function(e){var t=this;return new Promise(function(i,s){return new Promise(function(i,s){y.has(e,"InspectionId")?t.cw.runRequest("Ams/Inspection/Update",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(1,"InspectionId must be provided.",{provided:e}))})})},t.getById=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Inspection/ById",{InspectionId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getByIds=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Inspection/ByIds",{InspectionIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.cancel=function(e,t,n){var i=this;return new Promise(function(s,o){var u={InspectionIds:e};void 0!==t&&(u.CancelReason=t),void 0!==n&&(u.DateCancelled=n),i.cw.runRequest("Ams/Inspection/Cancel",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.uncancel=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Inspection/Uncancel",{InspectionIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.close=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Inspection/Close",{InspectionIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.reopen=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Inspection/Reopen",{InspectionIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.delete=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Inspection/Delete",{InspectionIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.search=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Inspection/Search",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.searchObject=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/ServiceRequest/SearchObject",{InspectionId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.statuses=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/Inspection/Statuses",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.submitTos=function(e,t){var n=this;return void 0===e&&(e=!1),new Promise(function(i,s){var o={};e&&(o.IncludeInactiveEmployees=!0),void 0!==t&&(o.DomainIds=t),n.cw.runRequest("Ams/Inspection/SubmitTos",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.connectAsset=function(e,t,n,i){var s=this;return void 0===i&&(i={}),new Promise(function(n,o){var u={InspectionId:t};y.has(e,"EntityType")&&y.has(e,"EntityUid")?(u.EntityType=e.EntityType,u.EntityUid=e.EntityUid):y.has(e,"Entity")&&(u.Entity=e.Entity),y.has(i,"Facility_Id")&&(u.Facility_Id=i.Facility_Id),y.has(i,"Level_Id")&&(u.Level_Id=i.Level_Id),s.cw.runRequest("Ams/Inspection/AddEntity",u).then(function(e){n(e.Value)}).catch(function(e){o(e)})})},t.getAnswers=function(e){var t=this;return new Promise(function(n,i){var s={};0==e.length?s.InspectionId=e[0]:s.InspectionIds=e,t.cw.runRequest("Ams/Inspection/Answers",s).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getAuditLog=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Inspection/AuditLog",{InspectionId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.createSearchDefinition=function(e,t,n,i,s){var o=this;return void 0===i&&(i=!0),void 0===s&&(s=!0),new Promise(function(n,u){var r=e;y.isString(t)&&(y.set(r,"SearchName",t),y.set(r,"SaveDefinition",i),y.set(r,"EnableEurl",s)),o.cw.runRequest("Ams/Inspection/CreateSearchDefinition",r).then(function(e){n(e.Value)}).catch(function(e){u(e)})})},t.getCycleFrom=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/Inspection/CycleFrom",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getCycleIntervals=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/Inspection/CycleIntervals",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getCycleTypes=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/Inspection/CycleTypes",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getDistricts=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/Inspection/Districts",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getEmployeeLists=function(e,t,i){var s=this;return void 0===t&&(t=!1),new Promise(function(o,u){var r={IncludeInactiveEmployees:t};void 0!==i&&null!=i&&y.set(r,"DomainIds",i),"SubmitTos"!=e?u(new n(2,'listType must be "SubmitTos".',{provided:e})):s.cw.runRequest("Ams/Inspection/"+e,r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.getSubmitTos=function(e,t){return void 0===e&&(e=!1),this.getEmployeeLists("SubmitTos",e,t)},t.move=function(e,t,i,s,o){var u=this;return new Promise(function(r,c){y.has(s,"WKID")||y.has(s,"WKT")||c(new n(3,"You must provide either the WKID or WKT for the x/y coordinates.",{projection:s}));var a={InspectionId:e,X:t,Y:i};void 0!==o&&y.set(a,"Z",o);var d=y.merge(a,s);u.cw.runRequest("Ams/Inspection/Move",d).then(function(e){r(e.Value)}).catch(function(e){c(e)})})},t.getTemplates=function(e,t,n){var i=this;return new Promise(function(s,o){var u={};void 0!==e&&(u.EntityTypes=e),u.CanCreate=void 0===t||t,"object"==typeof n&&y.forIn(n,function(e,t){u[t]=e}),i.cw.runRequest("Ams/InspectionTemplate/Templates",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.getTemplatesByIds=function(e,t){var n=this;return new Promise(function(i,s){var o={InspTemplateIds:e};"object"==typeof t&&y.forIn(t,function(e,t){o[t]=e}),n.cw.runRequest("Ams/InspectionTemplate/ByIds",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getTemplateEntityTypes=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/InspectionTemplate/EntityTypes",{InspTemplateIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getQA=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/InspectionTemplate/QA",{InspTemplateIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getQConditions=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/InspectionTemplate/QuestionConditions",{InspTemplateIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteAttachments=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Attachments/DeleteInspectionAttachments",{AttachmentIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.downloadAttachment=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Attachments/DownloadInspectionAttachment",{AttachmentId:e}).then(function(e){}).catch(function(e){i(e)})})},t.getAttachmentById=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Attachments/InspectionAttachmentById",{AttachmentId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getAttachments=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/Attachments/InspectionAttachments",{InspectionIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},e}();require("lodash");var P=function(e){this.cw=void 0,this.cw=e},C=require("lodash"),T=function(){function e(e){this.cw=void 0,this.admin=void 0,this.comment=void 0,this.cw=e,this.admin=new P(e),this.comment=new m(e,"WorkOrder")}var t=e.prototype;return t.create=function(e,t,i){var s=this;return new Promise(function(o,u){if(C.has(e,"WOTemplateId")&&C.has(e,"EntityType")){var r=e;void 0===t||null==t||C.has(r,"InspectionIds")||C.set(r,"InspectionIds",t),void 0===i||null==i||C.has(r,"RequestIds")||C.set(r,"RequestIds",i),s.cw.runRequest("Ams/WorkOrder/Create",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})}else u(new n(2,"WOTemplateId & EntityType must be provided.",{provided:e}))})},t.createFromParent=function(e,t,i){var s=this;return new Promise(function(i,o){if(C.has(e,"WOTemplateId")&&C.has(e,"EntityType")){var u=e;C.isString(t)?C.set(u,"WorkOrderId",t):C.set(u,"WorkOrderSid",t),s.cw.runRequest("Ams/WorkOrder/Create",u).then(function(e){i(e.Value)}).catch(function(e){o(e)})}else o(new n(2,"WOTemplateId & EntityType must be provided.",{provided:e}))})},t.update=function(e){var t=this;return new Promise(function(i,s){C.has(e,"WorkOrderSid")||C.has(e,"WorkOrderId")?t.cw.runRequest("Ams/WorkOrder/Update",e).then(function(e){i(e.Value)}).catch(function(e){s(e)}):s(new n(3,"WorkOrderId or WorkOrderSid must be provided.",{provided:e}))})},t.combine=function(e,t,i){var s=this;return void 0===i&&(i=!0),new Promise(function(o,u){s.cw.runRequest("Ams/WorkOrder/Combine",{CancelCombinedWorkOrders:i,ToWorkOrderId:t,FromWorkOrderIds:e}).then(function(e){e.Status>0?u(new n(4,e.Message,{response:e})):o(e.Value)}).catch(function(e){u(e)})})},t.move=function(e,t,i,s,o){var u=this;return new Promise(function(r,c){C.has(s,"WKID")||C.has(s,"WKT")||c(new n(6,"You must provide either the WKID or WKT for the x/y coordinates.",{projection:s}));var a={WorkOrderId:e,X:t,Y:i};void 0!==o&&C.set(a,"z",o);var d=C.merge(a,s);u.cw.runRequest("Ams/WorkOrder/Move",d).then(function(e){r(e.Value)}).catch(function(e){c(e)})})},t.getById=function(e,t){var n=this;return new Promise(function(t,i){var s={};if(C.isString(e)){C.set(s,"WorkOrderId",e);var o="Ams/WorkOrder/ById"}else C.set(s,"WorkOrderSid",e),o="Ams/WorkOrder/BySid";n.cw.runRequest(o,s).then(function(e){t(e.Value)}).catch(function(e){i(e)})})},t.getByIds=function(e){var t=this;return new Promise(function(i,s){var o={};if(0==e.length)s(new n(10,"No workorder S/IDs were provided.",{workorderSId:e}));else{var u="Ams/WorkOrder/ByIds";C.isString(e[0])?(C.set(o,"WorkOrderIds",e),u="Ams/WorkOrder/ByIds"):C.isNumber(e[0])?(C.set(o,"WorkOrderSids",e),u="Ams/WorkOrder/BySids"):s(new n(9,"No workorder S/IDs were provided.",{workorderSId:e})),t.cw.runRequest(u,o).then(function(e){i(e.Value)}).catch(function(e){s(e)})}})},t.getInstructions=function(e){var t=this;return new Promise(function(i,s){var o={};if(0==e.length)s(new n(10,"No workorder S/IDs were provided.",{workorderSId:e}));else{var u="Ams/WorkOrder/ByIds";C.isString(e[0])?(C.set(o,"WorkOrderIds",e),u="Ams/WorkOrder/InstructionsByWorkOrderIds"):C.isNumber(e[0])?(C.set(o,"WorkOrderSids",e),u="Ams/WorkOrder/InstructionsByWorkOrderSids"):s(new n(9,"No workorder S/IDs were provided.",{workorderSId:e})),t.cw.runRequest(u,o).then(function(e){i(e.Value)}).catch(function(e){s(e)})}})},t.getAuditLog=function(e){var t=this;return new Promise(function(i,s){var o={};C.isString(e)?C.set(o,"WorkOrderId",e):C.isNumber(e)?C.set(o,"WorkOrderSid",e):s(new n(9,"Workorder S/IDs was not provided.",{workorderSId:e})),t.cw.runRequest("Ams/WorkOrder/AuditLog",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getCustomFieldValues=function(e){var t=this;return new Promise(function(i,s){var o={},u="Ams/WorkOrder/CustomFields";C.isString(e[0])?(C.set(o,"WorkOrderIds",e),u="Ams/WorkOrder/CustomFields"):C.isNumber(e[0])?(C.set(o,"WorkOrderSids",e),u="Ams/WorkOrder/CustomFieldsByWorkOrderSids"):s(new n(9,"No workorder S/IDs were provided.",{workorderSIds:e})),t.cw.runRequest(u,o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getEntities=function(e,t){var i=this;return void 0===t&&(t=!0),new Promise(function(s,o){var u={GetGisData:t};0==e.length?o(new n(11,"No workorder S/IDs were provided.",{workorderSId:e})):C.isString(e[0])?C.set(u,"WorkOrderIds",e):C.isNumber(e[0])?C.set(u,"WorkOrderSids",e):o(new n(12,"No workorder S/IDs were provided.",{workorderSId:e})),i.cw.runRequest("Ams/WorkOrder/Entities",u).then(function(e){e.Status>0?o(new n(4,e.Message,{response:e})):s(e.Value)}).catch(function(e){o(e)})})},t.addEntities=function(e,t,i){var s=this;return void 0===i&&(i=!0),new Promise(function(o,u){var r={UpdateXY:i};C.isString(e)?C.set(r,"WorkOrderId",e):C.set(r,"WorkOrderSid",e),C.has(t,"Facility_Id")&&C.set(r,"Facility_Id",C.get(t,"Facility_Id")),C.has(t,"Level_Id")&&C.set(r,"Level_Id",C.get(t,"Level_Id")),C.has(t,"EntityUids")&&C.has(t,"EntityType")?(C.set(r,"EntityUids",C.get(t,"EntityUids")),C.set(r,"EntityType",C.get(t,"EntityType"))):u(new n(7,"No entity info was provided.",{workorderSId:e,entityInfo:t})),s.cw.runRequest("Ams/WorkOrder/AddEntities",r).then(function(e){e.Status>0?u(new n(4,e.Message,{response:e})):o(e.Value)}).catch(function(e){u(e)})})},t.updateEntity=function(e,t,i){var s=this;return void 0===i&&(i=!1),new Promise(function(o,u){var r={WorkComplete:i};C.isString(e)?C.set(r,"WorkOrderId",e):C.set(r,"WorkOrderSid",e),C.has(t,"Facility_Id")&&C.set(r,"Facility_Id",C.get(t,"Facility_Id")),C.has(t,"Level_Id")&&C.set(r,"Level_Id",C.get(t,"Level_Id")),C.has(t,"EntityUids")&&C.has(t,"EntityType")?(C.set(r,"EntityUid",C.get(t,"EntityUid")),C.set(r,"EntityType",C.get(t,"EntityType"))):u(new n(7,"No entity info was provided.",{workorderSId:e,entityInfo:t})),s.cw.runRequest("Ams/WorkOrder/UpdateEntity",r).then(function(e){e.Status>0?u(new n(4,e.Message,{response:e})):o(e.Value)}).catch(function(e){u(e)})})},t.removeEntities=function(e,t,i){var s=this;return void 0===i&&(i=!0),new Promise(function(o,u){var r={UpdateXY:i};C.isString(e)?C.set(r,"WorkOrderId",e):C.set(r,"WorkOrderSid",e),C.has(t,"ObjectIds")?C.set(r,"ObjectIds",C.get(t,"ObjectIds")):C.has(t,"EntityUids")&&C.has(t,"EntityType")?(C.set(r,"EntityUids",C.get(t,"EntityUids")),C.set(r,"EntityType",C.get(t,"EntityType"))):u(new n(8,"No entity info was provided.",{workorderSId:e,entityInfo:t})),s.cw.runRequest("Ams/WorkOrder/RemoveEntities",r).then(function(e){e.Status>0?u(new n(4,e.Message,{response:e})):o(e.Value)}).catch(function(e){u(e)})})},t.cancel=function(e,t,n){var i=this;return new Promise(function(s,o){var u={WorkOrderIds:e};void 0!==t&&C.set(u,"CancelReason",t),void 0!==n&&C.set(u,"DateCancelled",n),i.cw.runRequest("Ams/WorkOrder/Cancel",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.uncancel=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/WorkOrder/Uncancel",{WorkOrderIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.close=function(e){var t=this;return new Promise(function(i,s){t.cw.runRequest("Ams/WorkOrder/Close",{WorkOrderIds:e}).then(function(e){e.Status>0?s(new n(5,e.Message,{response:e})):i(e.Value)}).catch(function(e){s(e)})})},t.reopen=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Ams/WorkOrder/ReOpen",{WorkOrderIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.delete=function(e){var t=this;return new Promise(function(i,s){t.cw.runRequest("Ams/WorkOrder/Delete",{WorkOrderIds:e}).then(function(e){e.Status>0?s(new n(4,e.Message,{response:e})):i(e.Value)}).catch(function(e){s(e)})})},t.getWOsByEntities=function(e,t,i,s){var o=this;return void 0===s&&(s=!0),new Promise(function(u,r){var c={};void 0!==i&&C.merge(c,i),C.has(c,"EntityType")||C.set(c,"EntityType",e),C.has(c,"EntityUids")||C.set(c,"EntityUids",t);var a="Ams/WorkOrder/SearchForSids";s||(a="Ams/WorkOrder/Search"),o.cw.runRequest(a,c).then(function(e){e.Status>0?r(new n(4,e.Message,{response:e})):u(e.Value)}).catch(function(e){r(e)})})},t.getSearchList=function(e){var t=this;return new Promise(function(i,s){var o={};C.set(o,"WorkOrderId",e),t.cw.runRequest("Ams/WorkOrder/SearchObject",o).then(function(e){e.Status>0?s(new n(4,e.Message,{response:e})):i(e.Value)}).catch(function(e){s(e)})})},t.getEmployeeLists=function(e,t,i){var s=this;return void 0===t&&(t=!1),new Promise(function(o,u){var r={IncludeInactiveEmployees:t};void 0!==i&&null!=i&&C.set(r,"DomainIds",i),C.includes(["Supervisors","SubmitTos"],e)?s.cw.runRequest("Ams/WorkOrder/"+e,r).then(function(e){o(e.Value)}).catch(function(e){u(e)}):u(new n(2,"listType must be either SubmitTos or Supervisors.",{provided:e}))})},t.getSubmitTos=function(e,t){return void 0===e&&(e=!1),this.getEmployeeLists("SubmitTos",e,t)},t.getSupervisors=function(e,t){return void 0===e&&(e=!1),this.getEmployeeLists("Supervisors",e,t)},t.getStatuses=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/WorkOrder/Statuses",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getCategories=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/WorkOrder/Categories",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getPriorities=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/WorkOrder/Priorities",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getCycleFrom=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/WorkOrder/CycleFrom",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getCycleIntervals=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/WorkOrder/CycleIntervals",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getCycleTypes=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/WorkOrder/CycleTypes",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getStages=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/WorkOrder/Stages",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getExpenseTypes=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Ams/WorkOrder/ExpenseTypes",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},e}(),R=require("lodash"),q=function(){function e(e){this.cw=void 0,this.cw=e}var t=e.prototype;return t.addGroup=function(e,t,n,i){var s=this;return new Promise(function(o,u){var r={CaObjectId:e,CaseDataGroupId:t,GroupCode:n};void 0!==i&&(r=R.merge(r,i)),s.cw.runRequest("Pll/CaseDataGroup/Add",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.addDefaultGroups=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Pll/CaseDataGroup/AddDefault",{CaObjectId:e,BusCaseId:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.wipAddDetail=function(e,t,n,i,s,o){var u=this;return new Promise(function(r,c){var a=R.merge({CaseDataDetailId:e,CaDataGroupId:t,ColumnSequence:n,DetailCode:i,DetailSequence:s},o);u.cw.runRequest("Pll/CaseDataGroup/Add",a).then(function(e){r(e.Value)}).catch(function(e){c(e)})})},t.getGroupsByCaseId=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseDataGroup/ByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteGroupsByCaseId=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseDataGroup/DeleteByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.searchForGroups=function(e){var t=this;return new Promise(function(i,s){0==R.intersectionBy(R.keysIn(e),["CaDataGroupId","CaseDataGroupId","GroupCode","GroupDesc","GroupSum","SumFlag"]).length&&s(new n(2,"At least one of the attributes (CaDataGroupId, CaseDataGroupId, GroupCode, GroupDesc, GroupSum, SumFlag) must be defined.")),t.cw.runRequest("Pll/CaseDataGroup/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.checkGIS=function(e,t,i){var s=this;return new Promise(function(o,u){var r={EntityType:e,EntityUid:t};R.has(i,"CaObjectId")?R.set(r,"CaObjectId",R.get(i,"CaObjectId")):R.has(i,"CaseDataGroupId")?R.set(r,"CaseDataGroupId",R.get(i,"CaseDataGroupId")):u(new n(1,"Either CaObjectId or CaseDataGroupId is required.",{provided:i})),R.has(i,"CaseDataDetailId")&&R.set(r,"CaseDataDetailId",R.get(i,"CaseDataDetailId")),s.cw.runRequest("Pll/CaseDataGroup/CheckGISChanges",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.updateGroupsFromAsset=function(e,t,n,i){var s=this;return new Promise(function(o,u){var r={CaObjectId:e,EntityType:t,EntityUid:n};void 0!==i&&R.set(r,"CaDataGroupId",i),s.cw.runRequest("Pll/CaseDataGroup/UpdateFromAsset",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.addDetail=function(e,t,n){var i=this;return new Promise(function(s,o){var u={CaDataGroupId:e,CaseDataDetailId:t};void 0!==n&&(u=R.merge(u,n)),i.cw.runRequest("Pll/CaseDataDetail/Add",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.updateDetail=function(e,t){var n=this;return new Promise(function(i,s){var o={CaDataDetailId:e};void 0!==t&&(o=R.merge(o,t)),n.cw.runRequest("Pll/CaseDataDetail/Update",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.lockDetail=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseDataDetail/UpdateLock",{CaDataDetailId:e,Lock:!0}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.unlockDetail=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseDataDetail/UpdateLock",{CaDataDetailId:e,Lock:!1}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.addListValue=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Pll/CaseDataListValues/Add",{CaDataDetailId:e,ListValue:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.deleteListValue=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseDataListValues/Delete",{CaDataDetailId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.searchForListValueIds=function(e){var t=this;return new Promise(function(i,s){0==R.intersectionBy(R.keysIn(e),["CaDataDetailId","CaDataListId","ListValue"]).length&&s(new n(3,"At least one of the attributes (CaDataDetailId, CaDataListId, ListValue) must be defined.")),t.cw.runRequest("Pll/CaseDataGroup/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.searchForListValueObjects=function(e){var t=this;return new Promise(function(i,s){0==R.intersectionBy(R.keysIn(e),["CaDataDetailId","CaDataListId","ListValue"]).length&&s(new n(3,"At least one of the attributes (CaDataDetailId, CaDataListId, ListValue) must be defined.")),t.cw.runRequest("Pll/CaseDataGroup/SearchObject",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},e}(),k=require("lodash"),g=function(){function e(e){this.cw=void 0,this.cw=e}var t=e.prototype;return t.addFee=function(e,t,n){var i=this;return new Promise(function(s,o){var u=k.merge({CaObjectId:e,FeeSetupId:t},n);i.cw.runRequest("Pll/CaseFees/Add",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.addPayment=function(e,t){var n=this;return new Promise(function(i,s){var o=k.merge({CaObjectId:e},t);n.cw.runRequest("Pll/CasePayment/Add",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.addRefund=function(e,t,n){var i=this;return new Promise(function(s,o){i.cw.runRequest("Pll/CasePaymentRefund/Add",{CaPaymentId:e,RefundAmount:t,Comments:n}).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.addDepositPayment=function(e,t){var n=this;return new Promise(function(i,s){var o=k.merge({CaDepositId:e},t);n.cw.runRequest("Pll/CasePayment/AddDeposit",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.addDeposit=function(e,t,n,i){var s=this;return new Promise(function(o,u){var r={CaObjectId:e,DepositId:t};void 0!==n&&k.set(r,"Amount",n),void 0!==i&&k.set(r,"CommentText",i),s.cw.runRequest("CaseDeposit/Add",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.addInstrument=function(e,t,n,i,s){var o=this;return new Promise(function(u,r){var c=k.merge({CaObjectId:e,InstTypeId:t,Amount:n,DateExpire:i},s);o.cw.runRequest("Pll/CaseInstrument/Add",c).then(function(e){u(e.Value)}).catch(function(e){r(e)})})},t.updateFee=function(e,t){var n=this;return new Promise(function(i,s){var o=k.merge({CaFeeId:e},t);n.cw.runRequest("Pll/CaseFees/Update",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.voidRefund=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Pll/CasePaymentRefund/Update",{CaPaymentRefundId:e,Voided:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.addDefaultFees=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Pll/CaseFees/AddDefault",{CaObjectId:e,BusCaseId:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.addDefaultDeposits=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Pll/CaseDeposit/AddDefault",{CaObjectId:e,BusCaseId:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getFees=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseFees/ByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getDeposits=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseDeposit/ByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getPayments=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CasePayment/ByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getInstruments=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseInstrument/ByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteFee=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseFees/Delete",{CaFeeId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteFeesByCaseId=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseFees/DeleteByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deletePayment=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CasePayment/Delete",{CaFeeId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteRefund=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CasePaymentRefund/Delete",{CaPaymentRefundId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deletePaymentsByCaseId=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CasePayment/DeleteByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteDeposit=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseDeposit/Delete",{CaDepositId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteDepositsByCaseId=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseDeposit/DeleteByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteInstrument=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseInstrument/Delete",{CaInstrumentId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteInstrumentsByCaseId=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseInstrument/DeleteByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.searchFees=function(e){var t=this;return new Promise(function(i,s){0==k.intersectionBy(k.keysIn(e),["CaFeeId","CaObjectId","FeeCode","FeeDesc"]).length&&s(new n(4,"At least one of the attributes (CaFeeId, CaObjectId, FeeCode, FeeDesc) must be defined.")),t.cw.runRequest("Pll/CaseFees/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.searchPayments=function(e){var t=this;return new Promise(function(i,s){0==k.intersectionBy(k.keysIn(e),["CaPaymentId","CommentText","FeeAmount","FeeCode","FeeDesc","PaymentAccount","PaymentAmount","TenderType"]).length&&s(new n(5,"At least one of the attributes (CaPaymentId, CommentText, FeeAmount, FeeCode, FeeDesc, PaymentAccount, PaymentAmount, TenderType) must be defined.")),t.cw.runRequest("Pll/CasePayment/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.searchRefunds=function(e){var t=this;return new Promise(function(i,s){0==k.intersectionBy(k.keysIn(e),["CaPaymentId","CaPaymentRefundId","Comments","RefundAmount"]).length&&s(new n(6,"At least one of the attributes (CaPaymentId, CaPaymentRefundId, Comments, RefundAmount) must be defined.")),t.cw.runRequest("Pll/CasePayment/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.searchDeposits=function(e){var t=this;return new Promise(function(i,s){0==k.intersectionBy(k.keysIn(e),["CaDepositId","CaObjectId","DepositCode","DepositDesc"]).length&&s(new n(1,"At least one of the arguments (CaDepositId, CaObjectId, DepositCode, DepositDesc) must be defined.")),t.cw.runRequest("Pll/CaseDeposit/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getAllFeeTemplates=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/FeeSetup/All",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.searchFeeTemplates=function(e){var t=this;return new Promise(function(i,s){0==k.intersectionBy(k.keysIn(e),["FeeSetupId","FeeTypeId","FeeCode","FeeDesc","AccountCode"]).length&&s(new n(7,"At least one of the arguments (FeeSetupId, FeeTypeId, FeeCode, FeeDesc, AccountCode) must be defined.")),t.cw.runRequest("Pll/FeeSetup/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.searchCaseInstruments=function(e){var t=this;return new Promise(function(i,s){0==k.intersectionBy(k.keysIn(e),["AddressLine1","Amount","CaInstrumentId","CityName","CommentText","Company","ContactEmail","ContactName","ContactPhone","CountryCode","InstTypeId","SerialNumber","StateCode","ZipCode"]).length&&s(new n(9,"At least one of the arguments (AddressLine1, Amount, CaInstrumentId, CityName, CommentText, Company, ContactEmail, ContactName, ContactPhone, CountryCode, InstTypeId, SerialNumber, StateCode, ZipCode) must be defined.")),t.cw.runRequest("Pll/CaseInstrument/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getInstrumentList=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseInstrument/GetList",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.addCaseInstrumentRelease=function(e,t,i,s,o,u){var r=this;return new Promise(function(c,a){var d={CaInstrumentId:e,DateReleased:i,ReleasedBy:t};void 0===o&&null==o||void 0===s&&null==s?void 0!==o&&null!=o?k.set(d,"PercentReleased",o):void 0!==s&&null!=s&&k.set(d,"AmountReleased",s):a(new n(2,"Either amountReleased or percentReleased must be specified.")),void 0!==u&&k.set(d,"CommentText",u),r.cw.runRequest("Pll/CaseInstReleases/Add",d).then(function(e){c(e.Value)}).catch(function(e){a(e)})})},t.deleteCaseInstrumentRelease=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseInstReleases/Delete",{CaInstReleasesId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.searchCaseInstrumentReleases=function(e){var t=this;return new Promise(function(i,s){var o=e;0==k.intersectionBy(k.keysIn(e),["AmountReleased","CaInstReleasesId","CaInstrumentId","CommentText","PercentReleased","ReleasedBy"]).length&&s(new n(3,"At least one of the attributes (AmountReleased, CaInstReleasesId, CaInstrumentId, CommentText, PercentReleased, ReleasedBy) must be defined.")),t.cw.runRequest("Pll/CaseInstReleases/Search",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.fees=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/FeeSetup/All",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.searchAvailableFees=function(e){var t=this;return new Promise(function(i,s){0==k.intersectionBy(k.keysIn(e),["AccountCode","FeeCode","FeeDesc","FeeSetupId","FeeTypeId"]).length&&s(new n(8,"At least one of the attributes (AccountCode, FeeCode, FeeDesc, FeeSetupId, FeeTypeId) must be defined.")),t.cw.runRequest("Pll/FeeSetup/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getTenderTypes=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/TenderType/All",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addTenderType=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/TenderType/Add",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.updateTenderType=function(e,t){var n=this;return new Promise(function(i,s){var o=k.merge({TenderTypeId:e},t);n.cw.runRequest("Pll/TenderType/Update",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},e}(),S=require("lodash"),A=function(){function e(e){this.cw=void 0,this.task=void 0,this.cw=e,this.task={comment:new m(e,"CaTask")}}var t=e.prototype;return t.addTask=function(e,t,n,i,s){var o=this;return new Promise(function(u,r){var c={CaObjectId:e,TaskId:t,StartPoint:n,EndPoint:i};void 0!==s&&(c=S.merge(c,s)),o.cw.runRequest("Pll/CaseTask/Add",c).then(function(e){u(e.Value)}).catch(function(e){r(e)})})},t.addTaskResult=function(e,t,n,i,s,o){var u=this;return new Promise(function(r,c){var a={CaObjectId:e,CaTaskId:t,ResultCode:n,ResultID:i,ResultSetID:s};void 0!==o&&(a=S.merge(a,o)),u.cw.runRequest("Pll/CaseTaskResults/Add",a).then(function(e){r(e.Value)}).catch(function(e){c(e)})})},t.addTaskComment=function(e,t){var n=this;return new Promise(function(i,s){n.cw.runRequest("Pll/CaseTaskComments/Add",{CaTaskId:e,CommentText:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getTasksByCaseId=function(e,t){var n=this;return void 0===t&&(t=!1),new Promise(function(i,s){n.cw.runRequest("Pll/CaseTask/ByCaObjectId",{CaObjectId:e,CheckRelatedItems:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getTasksById=function(e,t){var n=this;return void 0===t&&(t=!1),new Promise(function(i,s){n.cw.runRequest("Pll/CaseTask/ByIds",{CaTaskIds:e,CheckRelatedItems:t}).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getResultsByTaskId=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseTaskResults/ByCaTaskIds",{CaTaskIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getCommentsForTask=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseTaskComments/ByCaTaskId",{caTaskId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getCommentsForTasks=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseTaskComments/ByCaTaskIds",{caTaskIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.updateTask=function(e,t){var n=this;return new Promise(function(i,s){var o={CaTaskId:e};void 0!==t&&(o=S.merge(o,t)),n.cw.runRequest("Pll/CaseTask/Update",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.updateTaskComment=function(e,t,n){var i=this;return new Promise(function(s,o){var u={CaTaskCommentId:e,CommentText:t};void 0!==n&&S.set(u,"CommentId",n),i.cw.runRequest("Pll/CaseTaskComments/Update",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.setTaskResult=function(e,t,i){var s=this;return new Promise(function(t,o){var u={CaTaskId:e};0==S.intersectionBy(S.keysIn(i),["TaskCompleteDate","TaskCompletedBy"]).length&&o(new n(2,"At least one of the attributes (TaskCompletedBy, TaskCompleteDate) must be defined.")),void 0!==i&&(u=S.merge(u,i)),s.cw.runRequest("Pll/CaseTask/SetResult",u).then(function(e){t(e.Value)}).catch(function(e){o(e)})})},t.deleteTask=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseTask/Delete",{CaTaskId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteTasksOnCase=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseTask/DeleteByCaObjectId",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteTaskComments=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseTaskComments/Delete",{CaTaskCommentIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.searchForTasks=function(e){var t=this;return new Promise(function(i,s){0==S.intersectionBy(S.keysIn(e),["ResponsibleUserId","TaskAvailable","TaskComplete","TaskType"]).length&&s(new n(1,"At least one of the attributes (ResponsibleUserId, TaskAvailable, TaskComplete, TaskType) must be defined.")),t.cw.runRequest("Pll/CaseTask/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.searchForTaskResults=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseTaskResults/Search",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},e}(),V=require("lodash"),D=function(){function e(e){this.cw=void 0,this.cw=e}var t=e.prototype;return t.addBusinessCaseTemplate=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/BusinessCase/Add",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.updateBusinessCaseTemplate=function(e,t){var n=this;return new Promise(function(i,s){var o=V.merge({BusCaseId:e},t);n.cw.runRequest("Pll/BusinessCase/Update",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getBusinessCaseTemplates=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/BusinessCase/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addCaseType=function(e,t,n){var i=this;return new Promise(function(s,o){var u=V.merge({CaseType:e,CaseTypeDesciption:t},n);i.cw.runRequest("Pll/CaseType/Add",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.updateCaseType=function(e,t){var n=this;return new Promise(function(i,s){var o=V.merge({CaseTypeId:e},t);n.cw.runRequest("Pll/CaseType/GetList",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getCaseTypes=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/CaseType/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.searchCaseTypeIDs=function(e){var t=this;return new Promise(function(i,s){0==V.intersectionBy(V.keysIn(e),["CaseType","CaseTypeDesc","CaseTypeId"]).length&&s(new n(2,"At least one of the attributes (CaFeeId, CaObjectId, FeeCode, FeeDesc) must be defined.")),t.cw.runRequest("Pll/CaseType/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.searchCaseTypeObjects=function(e){var t=this;return new Promise(function(i,s){0==V.intersectionBy(V.keysIn(e),["CaseType","CaseTypeDesc","CaseTypeId"]).length&&s(new n(3,"At least one of the attributes (CaseType, CaseTypeDesc, CaseTypeId) must be defined.")),t.cw.runRequest("Pll/CaseType/SearchObject",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.addSubtype=function(e,t,n){var i=this;return new Promise(function(s,o){var u=V.merge({SubType:e,SubTypeDesc:t},n);i.cw.runRequest("Pll/SubType/Add",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.updateSubtype=function(e,t){var n=this;return new Promise(function(i,s){var o=V.merge({SubTypeId:e},t);n.cw.runRequest("Pll/SubType/Update",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getSubtypes=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/SubType/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getFees=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/FeeSetup/All",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.searchFees=function(e){var t=this;return new Promise(function(i,s){0==V.intersectionBy(V.keysIn(e),["AccountCode","FeeCode","FeeDesc","FeeSetupId","FeeTypeId"]).length&&s(new n(4,"At least one of the attributes (AccountCode, FeeCode, FeeDesc, FeeSetupId, FeeTypeId) must be defined.")),t.cw.runRequest("Pll/FeeSetup/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getExpirations=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/ExpirationType/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addExpiration=function(e){var t=this;return new Promise(function(i,s){V.has(e,"OrgId")&&V.has(e,"ExpirationTypeDesc")||s(new n(5,"OrgId and ExpirationTypeDesc must both be defined.")),t.cw.runRequest("Pll/ExpirationType/Add",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getDeposits=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/Deposit/All",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.searchDeposits=function(e){var t=this;return new Promise(function(i,s){0==V.intersectionBy(V.keysIn(e),["AccountCode","DepositCode","DepositDesc","DepositId","DepositTypeId"]).length&&s(new n(4,"At least one of the attributes (AccountCode, DepositCode, DepositDesc, DepositId, DepositTypeId) must be defined.")),t.cw.runRequest("Pll/Deposit/Search",e).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getDisciplines=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/Discipline/All",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addDepartment=function(e,t,n){var i=this;return new Promise(function(s,o){var u=V.merge({DepartmentCode:e,DepartmentName:t},n);i.cw.runRequest("Pll/Department/Add",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.getDepartments=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/Department/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addDivision=function(e,t,n){var i=this;return new Promise(function(s,o){var u=V.merge({DepartmentId:e,DivisionName:t},n);i.cw.runRequest("Pll/Division/Add",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.getDivisions=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/Division/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addHoliday=function(e,t,n){var i=this;return new Promise(function(s,o){var u={HolidayDate:e,HolidayDesc:t};void 0!==n&&V.set(u,"HalfDayFlag",n),i.cw.runRequest("Pll/Holiday/Add",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.deleteHoliday=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/Holiday/Delete",{HolidayId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.getHolidays=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/Holiday/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addInspectionTimeBlock=function(e,t,n,i){var s=this;return new Promise(function(o,u){var r={LabelText:e,StartTime:t,EndTime:n};void 0!==i&&V.set(r,"InspTimeBlocksDetails",i),s.cw.runRequest("Pll/InspectionTimeBlock/Add",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.getInspectionTimeBlocks=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/InspectionTimeBlock/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getNotificationCases=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/NotificationCase/GetNotificationCaseList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.getNotificationTypes=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/NotificationType/GetNotificationTypeList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addNumberingGroup=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/NumberingGroup/Add",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.updateNumberingGroup=function(e,t){var n=this;return new Promise(function(i,s){var o=V.merge({NumberingGroupId:e},t);n.cw.runRequest("Pll/NumberingGroup/Update",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getNumberingGroups=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/NumberingGroup/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addPerson=function(e,t){var n=this;return new Promise(function(i,s){var o=V.merge(t,{Name:e});n.cw.runRequest("Pll/People/Add",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getPeople=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/People/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addPeopleRole=function(e,t){var n=this;return new Promise(function(i,s){var o=V.merge(t,{RoleCode:e});n.cw.runRequest("Pll/People/Add",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getPeopleRoles=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/PeopleRole/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addTaskResultDetail=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/TaskResultDetail/Add",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.updateTaskResultDetail=function(e,t){var n=this;return new Promise(function(i,s){var o=V.merge(t,{ResultDetailId:e});n.cw.runRequest("Pll/TaskResultDetail/Add",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getTaskResultDetails=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/TaskResultDetail/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},t.addTaskResultFeeInsert=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/TaskResultFeeInsert/Add",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteTaskResultFeeInsert=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/TaskResultFeeInsert/Delete",{TaskResultFeeInsertId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.deleteTaskResultFeeInsertByTaskId=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/TaskResultFeeInsert/DeleteByTaskId",{TaskId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.updateTaskResultFeeInsert=function(e,t,n,i){var s=this;return new Promise(function(o,u){var r={TaskResultFeeInsertId:e,TaskId:t,TaskResultId:n};void 0!==i&&V.set(r,"FeeSetupId",i),s.cw.runRequest("Pll/TaskResultFeeInsert/Update",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.getTaskResultFeeInsert=function(){var e=this;return new Promise(function(t,n){e.cw.runRequest("Pll/TaskResultFeeInsert/GetList",{}).then(function(e){t(e.Value)}).catch(function(e){n(e)})})},e}(),b=require("lodash"),O=function(){function e(e){this.cw=void 0,this.data=void 0,this.workflow=void 0,this.financial=void 0,this.comment=void 0,this.admin=void 0,this.cw=e,this.data=new q(e),this.workflow=new A(e),this.financial=new g(e),this.comment=new m(e,"CaObject"),this.admin=new D(e)}var t=e.prototype;return t.create=function(e,t,n){var i=this;return new Promise(function(s,o){var u=b.merge({CaseTypeId:e,SubTypeId:t},n);i.cw.runRequest("Pll/Case/Create",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.createChild=function(e,t,n){var i=this;return new Promise(function(s,o){var u=b.merge({BusCaseId:e,ParentCaObjectId:t},n);i.cw.runRequest("Pll/Case/CreateChild",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.createFromRequest=function(e,t,n,i){var s=this;return new Promise(function(o,u){var r=b.merge({CaseTypeId:e,SubTypeId:t,ServiceRequestId:n},i);s.cw.runRequest("Pll/CaseObject/CreateCaseFromServiceRequest",r).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.update=function(e,t){var n=this;return new Promise(function(i,s){var o=b.merge({CaObjectId:e},t);n.cw.runRequest("Pll/CaseObject/Update",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.getByIds=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseObject/ByIds",{CaObjectIds:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.search=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseObject/Search",e).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},t.move=function(e,t,i,s,o){var u=this;return new Promise(function(r,c){b.has(s,"WKID")||b.has(s,"WKT")||c(new n(1,"You must provide either the WKID or WKT for the x/y coordinates.",{projection:s}));var a={CaObjectId:e,X:t,Y:i};void 0!==o&&b.set(a,"Z",o);var d=b.merge(a,s);u.cw.runRequest("Pll/CaseObject/Move",d).then(function(e){r(e.Value)}).catch(function(e){c(e)})})},t.delete=function(e){var t=this;return new Promise(function(n,i){t.cw.runRequest("Pll/CaseObject/DeleteCase",{CaObjectId:e}).then(function(e){n(e.Value)}).catch(function(e){i(e)})})},e}(),E=require("https"),F=require("querystring"),W=require("lodash");module.exports=function(){function e(e,t,n){this.base_url=void 0,this.Token=void 0,this.login=void 0,this.password=void 0,this.gisToken=void 0,this.gisTokenUrl=void 0,this.settings=void 0,this.error=void 0,this.general=void 0,this.search=void 0,this.activity_link=void 0,this.message_queue=void 0,this.gis=void 0,this.request=void 0,this.inspection=void 0,this.workorder=void 0,this.case=void 0,this.extensions=void 0,this.features=void 0,this.potential_loads=void 0,this.base_url="cityworksonline",this.extensions={UnknownExtension:0,CwAnalytics:1,WebHooks:2,PLLPublicApp:3,ActivityUpdate:4,SingleSignOn:5},this.features={UnknownFeature:0,ViewInspections:1,EditInspections:2,ViewServiceRequest:3,EditServiceRequest:4,ViewWorkOrder:5,EditWorkOrder:6,EquipmentCheckOut:7,OfficeField:8,Respond:9,Eurl:10,PaverInterface:11,Contracts:12,Storeroom:13,PLL:14,Cw4XL:15,TableEditor:16,CCTVInterface:17,MobileAndroid:18,MobileiOS:19,PerformanceBudgeting:20,Insights:21,RespondCase:22,RespondInspection:23,RespondServiceRequest:24,RespondTaskManager:25,RespondWorkOrder:26,Workload:27,OpX:28,TrimbleUnityMobile:29,TrimbleVegetationManager:30},this.settings={path:"cityworks",secure:!0,expires:null,default_domain:null},this.potential_loads=["general","activity_link","message_queue","gis","search","request","case","case_financial"],void 0!==e&&this.configure(e,t,n)}var t=e.prototype;return t.configure=function(e,t,n){var i=this;if(this.base_url=void 0!==e?e:"cityworksonline",this.settings={path:"cityworks",secure:!0,expires:null,default_domain:null},void 0!==t&&W.forEach(t,function(e,t){void 0!==i.settings[t]&&(i.settings[t]=e)}),void 0===n)this.general=new s(this),this.activity_link=new u(this),this.message_queue=new a(this),this.request=new p(this),this.inspection=new I(this),this.workorder=new T(this),this.case=new O(this),this.search=new f(this);else{var o=this;W.forEach(this.potential_loads,function(e){switch(e){case"general":o.general=new s(o);break;case"activity_link":o.activity_link=new u(o);break;case"message_queue":o.message_queue=new a(o);break;case"gis":o.gis=new r(o);break;case"search":o.search=new f(o);break;case"request":o.request=new p(o);break;case"case":o.case=new O(o);break;case"inspection":o.inspection=new I(o);break;case"workorder":o.workorder=new T(o)}})}},t.runRequest=function(e,t){var i=this;return new Promise(function(s,o){var u={};u.data=JSON.stringify(t),void 0!==i.Token&&""!=i.Token&&"General/Authentication/CityworksOnlineAuthenticate"!=e&&"General/Authentication/Authenticate"!=e&&(u.token=i.Token);var r={hostname:i.base_url,port:443,path:"/"+i.settings.path+"/services/"+e,method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","Content-Length":Buffer.byteLength(F.stringify(u))},timeout:1e7},c=E.request(r,function(e){var t="";e.on("error",function(e){console.log(e,"Caught on error"),o(new n(13,"Unknown error.",e))}),e.on("data",function(e){t+=e}),e.on("end",function(){try{if(null==(JSON.stringify(t)+"[test string]").match(/\<h2\>Object\ moved\ to/)){var e=JSON.parse(t);void 0===e?o(new n(10,"No response received from Cityworks API.")):void 0!==e&&void 0!==e.Value?s(e):o(new n(3,"Unknown error.",{options:r,postedData:u,api_returned_string:e}))}else o(new n(1,"Error parsing JSON. Cityworks returned HTML.",{response:t}))}catch(e){e instanceof SyntaxError?(console.log("try/catch error on JSON"),o(new n(1,"Error parsing JSON.",{error:e}))):(console.log("try/catch error on JSON"),o(new n(1,"Error parsing JSON.")))}})});c.write(F.stringify(u)),c.end()})},t.authenticate=function(e,t){var i=this;return new Promise(function(s,o){var u="General/Authentication/Authenticate";"cityworksonline"==i.base_url&&(u="General/Authentication/CityworksOnlineAuthenticate"),i.runRequest(u,{LoginName:e,Password:t}).then(function(u){u.Status>0?o(new n(10,u.Message)):void 0!==u.Value&&void 0!==u.Value.Token?(i.login=e,i.password=t,i.Token=u.Value.Token,s(!0)):o(new n(11,"Unknown Error"))}).catch(function(e){o(e)})})},t.authenticateWithGISToken=function(e,t,n,i){var s=this;return this.login=e,this.gisToken=t,this.gisTokenUrl=n,void 0!==i&&(i=12096e5),new Promise(function(e,t){s.runRequest("General/Authentication/AuthenticateGisToken",{LoginName:s.login,GisToken:s.gisToken,GisTokenUrl:s.gisTokenUrl,Expires:i}).then(function(t){void 0!==t.Status&&t.Status>0||(void 0!==t.Value&&void 0!==t.Value.Token?(s.Token=t.Value.Token,e(!0)):e(!1))}).catch(function(e){throw e})})},t.validateToken=function(e,t){var n=this;return new Promise(function(i,s){n.runRequest("General/Authentication/Validate",{Token:e}).then(function(s){s.Status>0?i(!1):(t&&(n.Token=e),i(s.Value))}).catch(function(e){throw e})})},t.setToken=function(e){return""!=e&&null!=e&&(this.Token=e,!0)},t.getToken=function(){return""!=this.Token&&null!=this.Token&&this.Token},t.revokeToken=function(e){var t=this;return new Promise(function(n,i){t.runRequest("General/Token/RevokeUser",{RevokeDate:e}).then(function(e){n(!(void 0!==e.Status&&e.Status>0))}).catch(function(e){throw e})})},t.getLocalizationSettings=function(){var e=this;return new Promise(function(t,n){e.runRequest("General/Localization/LocalizationSettings",{}).then(function(e){t(e.Value)})})},t.getTimezoneOptions=function(){var e=this;return new Promise(function(t,n){e.runRequest("General/Localization/TimeZones",{}).then(function(e){t(e.Value)})})},t.getCurrentLocation=function(){var e=this;return new Promise(function(t,n){e.runRequest("General/AppData/CurrentLocation",{}).then(function(e){t(e.Value)})})},t.licensedApiCheck=function(e,t){var n=this;return new Promise(function(i,s){n.runRequest("General/AppData/SelectedEntities",{Area:e,Service:t}).then(function(e){i(e.Value)})})},t.licensedExtensionCheck=function(e){var t=this;return new Promise(function(i,s){void 0===t.extensions[e]&&s(new n(4,"Extension provided does not exist or is mispelled.",{provided:e,available:t.extensions})),t.runRequest("General/Authorization/LicensedExtensionCheck",{Extension:t.extensions[e]}).then(function(e){i(e.Value)})})},t.licensedExtensionsCheck=function(e){var t=this;return new Promise(function(i,s){var o={Extensions:[]};W.forEach(e,function(e){void 0===t.extensions[e]?s(new n(5,"Extension provided does not exist or is mispelled.",{provided:e,available:t.extensions})):o.Extensions.push(t.extensions[e])}),t.runRequest("General/Authorization/LicensedExtensionsCheck",o).then(function(e){var o={},u=W.invert(t.extensions);W.forEach(e,function(e,i){void 0===u[e]?s(new n(6,"Extension index provided does not exist or isn't configured properly.",{provided_num_returned:e,available:t.extensions})):o[u[e]]=i}),i(o)})})},t.licensedFeatureCheck=function(e){var t=this;return new Promise(function(i,s){void 0===t.features[e]&&s(new n(7,"Feature provided does not exist or is mispelled.",{provided:e,available:t.features})),t.runRequest("General/Authorization/LicensedFeatureCheck",{Feature:t.features[e]}).then(function(e){i(e.Value)})})},t.licensedFeaturesCheck=function(e){var t=this;return new Promise(function(i,s){var o={Features:[]};W.forEach(e,function(e){void 0===t.features[e]?s(new n(8,"Feature provided does not exist or is mispelled.",{provided:e,available:t.features})):o.Features.push(t.features[e])}),t.runRequest("General/Authorization/LicensedFeaturesCheck",o).then(function(e){var o={},u=W.invert(t.features);W.forEach(e.Value,function(e,t){void 0===u[e]?s(new n(9,"Feature index provided does not exist or isn't configured properly.",{provided:e,available:u})):o[u[e]]=t}),i(o)})})},t.licensedServicesCheck=function(e){var t=this;return new Promise(function(n,i){t.runRequest("General/Authorization/LicensedServicesCheck",{Services:e}).then(function(e){n(e.Value)})})},t.cityworksOnlineSites=function(e,t){var n=this;return new Promise(function(i,s){n.runRequest("General/Authentication/CityworksOnlineSites",{LoginName:void 0!==e?e:n.login,Password:void 0!==t?t:n.password}).then(function(e){i(e.Value)})})},t.domains=function(){var e=this;return new Promise(function(t,n){e.runRequest("General/Authentication/Domains",{}).then(function(e){t(e.Value)})})},t.user=function(e){var t=this;return new Promise(function(n,i){t.runRequest("General/Authentication/User",{LoginName:void 0!==e?e:t.login}).then(function(e){n(e.Value)})})},t.version=function(){var e=this;return new Promise(function(t,n){e.runRequest("General/Authentication/Version",{}).then(function(e){t(e.Value)})})},e}();
2
2
  //# sourceMappingURL=index.js.map