cityworks 0.0.19 → 0.0.20

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/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
+ * PLL Administration methods
20
+ */
21
+ admin?: Object;
18
22
  /**
19
23
  * @hidden
20
24
  */
@@ -0,0 +1,139 @@
1
+ export declare class CaseAdmin {
2
+ /**
3
+ * @hidden
4
+ */
5
+ cw: any;
6
+ /**
7
+ * @hidden
8
+ */
9
+ constructor(cw: any);
10
+ /**
11
+ * Add Business Case Template
12
+ *
13
+ * @category Case Templates
14
+ * @param {Object} data - The Business Case Template options.
15
+ * @return {Object} Returns Promise that represents an object describing the created case template. See: /{subdirectory}/apidocs/#/data-type-info;dataType=BusinessCaseItem
16
+ */
17
+ addBusinessCaseTemplate(data: Object): Promise<unknown>;
18
+ /**
19
+ * Update Business Case Template
20
+ *
21
+ * @category Case Templates
22
+ * @param {number} busCaseId - The Business Case ID to update
23
+ * @param {Object} data - The Business Case Template options.
24
+ * @return {Object} Returns Promise that represents an object describing the updated case template. See: /{subdirectory}/apidocs/#/data-type-info;dataType=BusinessCaseItem
25
+ */
26
+ updateBusinessCaseTemplate(busCaseId: number, options: Object): Promise<unknown>;
27
+ /**
28
+ * Get Business Case Templates
29
+ *
30
+ * @category Case Templates
31
+ * @return {Object} Returns Promise that represents a collection of Business Case Templates
32
+ */
33
+ getBusinessCaseTemplates(): Promise<unknown>;
34
+ /**
35
+ * Add Case Type
36
+ *
37
+ * @category Types
38
+ * @param {string} caseTypeName - The case type name
39
+ * @param {string} caseTypeDesciption - The case type description
40
+ * @param {Object} options - The other options for the Case Type
41
+ * @return {Object} Returns Promise that represents an object describing the added case type
42
+ */
43
+ addCaseType(caseTypeName: string, caseTypeDesciption: string, options: Object): Promise<unknown>;
44
+ /**
45
+ * Update Case Type
46
+ *
47
+ * @category Types
48
+ * @param {number} caseTypeId - The case Type ID
49
+ * @param {Object} options - The other options for the Case Type
50
+ * @return {Object} Returns Promise that represents an object describing the updated case type
51
+ */
52
+ updateCaseType(caseTypeId: number, options?: Object): Promise<unknown>;
53
+ /**
54
+ * Get Case Types
55
+ *
56
+ * @category Types
57
+ * @return {Object} Returns Promise that represents a collection of CaseTypeItems
58
+ */
59
+ getCaseTypes(): Promise<unknown>;
60
+ /**
61
+ * Search for CaseTypes. Include at least one of the search fields. A logical 'and' operation is applied for multiple search fields.
62
+ *
63
+ * @category Types
64
+ * @param {Object} filters - The parameter(s) to search by (CaseType, CaseTypeDesc, CaseTypeId)
65
+ * @return {Object} Returns Promise that represents an Array of CaseTypeIDs
66
+ */
67
+ searchCaseTypeIDs(filters: Object): Promise<unknown>;
68
+ /**
69
+ * Search for CaseTypes. Include at least one of the search fields. A logical 'and' operation is applied for multiple search fields.
70
+ *
71
+ * @category Types
72
+ * @param {Object} filters - The parameter(s) to search by (CaseType, CaseTypeDesc, CaseTypeId)
73
+ * @return {Object} Returns Promise that represents a collection of CaseTypeItems. See: /{subdirectory}/apidocs/#/data-type-info;dataType=CaseTypeItem
74
+ */
75
+ searchCaseTypeObjects(filters: Object): Promise<unknown>;
76
+ /**
77
+ * Add SubType
78
+ *
79
+ * @category SubTypes
80
+ * @param {string} subTypeName - The SubTypeId
81
+ * @param {string} subTypeDescription - The SubTypeId
82
+ * @param {Object} options - Other SubType options.
83
+ * @return {Object} Returns Promise that represents an object describing the added SubTypeItem. See: /{subdirectory}/apidocs/#/data-type-info;dataType=SubTypeItem
84
+ */
85
+ addSubtype(subTypeName: string, subTypeDescription: string, options?: Object): Promise<unknown>;
86
+ /**
87
+ * Update SubType
88
+ *
89
+ * @category SubTypes
90
+ * @param {number} subTypeId - The SubTypeId
91
+ * @param {Object} options - The case Object ID
92
+ * @return {Object} Returns Promise that represents an object describing the updated SubTypeItem. See: /{subdirectory}/apidocs/#/data-type-info;dataType=SubTypeItem
93
+ */
94
+ updateSubtype(subTypeId: number, options?: Object): Promise<unknown>;
95
+ /**
96
+ * Get SubTypes
97
+ *
98
+ * @category SubTypes
99
+ * @return {Object} Returns Promise that represents a collection of SubTypeItems. See: /{subdirectory}/apidocs/#/data-type-info;dataType=SubTypeItem
100
+ */
101
+ getSubtypes(): Promise<unknown>;
102
+ /**
103
+ * Add Department
104
+ *
105
+ * @category Departments
106
+ * @param {string} departmentCode - The SubTypeId
107
+ * @param {string} dpartmentName - The SubTypeId
108
+ * @param {Object} options - Other SubType options.
109
+ * @return {Object} Returns Promise that represents an object describing the added DepartmentItem. See: /{subdirectory}/apidocs/#/data-type-info;dataType=DepartmentItem
110
+ */
111
+ addDepartment(departmentCode: string, dpartmentName: string, options?: Object): Promise<unknown>;
112
+ /**
113
+ * Get Departments
114
+ *
115
+ * @category Departments
116
+ * @return {Object} Returns Promise that represents a collection of SubTypeItems. See: /{subdirectory}/apidocs/#/data-type-info;dataType=SubTypeItem
117
+ */
118
+ getDepartments(): Promise<unknown>;
119
+ /**
120
+ * Get all Fees
121
+ *
122
+ * @category Fees
123
+ * @return {Object} Returns Promise that represents an object describing the added DepartmentItem. See: /{subdirectory}/apidocs/#/data-type-info;dataType=DepartmentItem
124
+ */
125
+ getFees(): Promise<unknown>;
126
+ /**
127
+ * Search for Fees. Include at least one of the search fields. A logical 'and' operation is applied for multiple search fields.
128
+ *
129
+ * @param {Object} filters - The parameter(s) to search by (AccountCode, FeeCode, FeeDesc, FeeSetupId, FeeTypeId).
130
+ * @return {Object} Returns Promise that represents an Array of FeeSetupIDs
131
+ */
132
+ searchFees(filters: {
133
+ AccountCode?: string;
134
+ FeeCode?: string;
135
+ FeeDesc?: string;
136
+ FeeSetupId?: number;
137
+ FeeTypeId?: number;
138
+ }): Promise<unknown>;
139
+ }
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"),r=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(r,s){var o={null:0,case:1,task:2};void 0===o[e]?s(new n(1,"Activity type provided does not exist.",{provided:e,potential_activities:o})):i.cw.runRequest("General/ActivityNotification/UserWatching",{ActivityType:o[e],ActivityId:t}).then(function(e){r(e.Value)}).catch(function(e){s(new n(2,"Unknown error."))})})},t.quickSearch=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.getActivityMetadataByIds=function(e,t){var r=this;return new Promise(function(s,o){var u=["INSPECTION","REQUEST","WORKORDER"];-1==i.indexOf(u,t)&&o(new n(2,"TableName provided does not exist or is mispelled.",{provided:t,available:u})),r.cw.runRequest("General/CwMetaData/ByTableNameSids",{Ids:e,TableName:t}).then(function(e){console.log(e),s(e.Value)}).catch(function(e){o(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}(),s=require("lodash"),o=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,r,s){var o=this;return void 0===s&&(s="related"),new Promise(function(u,c){o.activityTypes.has(e)||c(new n(1,"Source type not found.",{provided:e,options:o.activityTypes})),o.activityTypes.has(i)||c(new n(2,"Destination type not found.",{provided:i,options:o.activityTypes})),o.linkTypes.has(s)||c(new n(3,"Link type not found.",{provided:s,options:o.linkTypes}));var a={SourceType:o.activityTypes.get(e),SourceSid:t,DestType:o.activityTypes.get(i),DestSid:r,LinkType:o.linkTypes.get(s)};o.cw.runRequest("General/ActivityLink/Add",a).then(function(e){u(e.Value)})})},i.get=function(e,t){var i=this;return new Promise(function(r,o){i.activityTypes.has(e)||o(new n(4,"Activity type not found.",{provided:e,options:i.activityTypes}));var u={ActivityType:i.activityTypes.get(e),ActivitySids:t},c=i;i.cw.runRequest("General/ActivityLink/ByActivitySids",u).then(function(e){var t=new Array;s.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)}),r(t)})})},i.clone=function(e,t,i,r){var s=this;return new Promise(function(o,u){s.activityTypes.has(e)||u(new n(1,"Source type not found.",{provided:e,options:s.activityTypes})),s.activityTypes.has(i)||u(new n(1,"Destination type not found.",{provided:i,options:s.activityTypes}));var c={SourceActivityType:s.activityTypes.get(e),SourceActivitySid:t,DestinationActivityType:s.activityTypes.get(i),DestinationActivitySid:r};s.cw.runRequest("General/ActivityLink/CloneByActivitySid",c).then(function(e){o(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,r,s){var o=this;return void 0===s&&(s="related"),new Promise(function(u,c){o.activityTypes.has(e)||c(new n(1,"Source type not found.",{provided:e,options:o.activityTypes})),o.activityTypes.has(i)||c(new n(1,"Destination type not found.",{provided:i,options:o.activityTypes})),o.linkTypes.has(s)||c(new n(1,"Link type not found.",{provided:s,options:o.linkTypes}));var a={SourceType:o.activityTypes.get(e),SourceSid:t,DestType:o.activityTypes.get(i),DestSid:r,LinkType:o.linkTypes.get(s)};o.cw.runRequest("General/ActivityLink/Remove",a).then(function(e){u(e.Value)})})},e}();require("lodash");var u=function(){function e(e){this.cw=void 0,this.cw=e}var t=e.prototype;return t.getConfig=function(e,t,n,i){var r=this;return new Promise(function(t,n){e=e.toLowerCase(),r.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 r=this;return new Promise(function(e,t){r.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,r){n.cw.runRequest("General/WebHookEvent/ProcessMessages",{Ids:e,Delete:t}).then(function(e){})})},t.get=function(e,t,i){var r=this;return void 0===i&&(i=15),new Promise(function(s,o){void 0===r.status[t]&&o(new n(1,"Status provided does not exist or is mispelled.",{provided:t,available:r.status})),r.cw.runRequest("General/MessageQueue/ByIds",{Ids:e,MaxCount:void 0!==i?i:15,Status:r.status[t]}).then(function(e){})})},t.delete=function(e,t,i){var r=this;return new Promise(function(s,o){void 0===r.status[t]&&o(new n(2,"Status provided does not exist or is mispelled.",{provided:t,available:r.status})),r.cw.runRequest("General/MessageQueue/Delete",{Ids:e,Status:r.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,r=this;return new Promise(function(s,o){void 0!==e.status&&void 0===r.status[e.status]?o(new n(3,"Status provided does not exist or is mispelled.",{provided:e.status,available:r.status})):void 0!==e.status&&void 0!==r.status[e.status]&&(i.Status=r.status[e.status]),void 0!==t&&(i.MaxResults=t);var u=["Id","HookId","HookType","Result","DateCreatedBegin","DateCreatedEnd","DateUpdatedBegin","DateUpdatedEnd"],a=["Status","MaxResults"];c.forEach(e,function(e,t){-1!=c.indexOf(u,t)&&-1==c.indexOf(a,t)?i[t]=e:-1==c.indexOf(a,t)&&o(new n(4,"Provided parameter does not exist or is mispelled.",{provided:t,value:e,available:c.concat(u,a)}))}),r.cw.runRequest("General/MessageQueue/Search",i).then(function(e){void 0===e.Value&&(e.Value=[]),s(e.Value)})})},t.update=function(e){var t,i=this;return new Promise(function(r,s){void 0!==e.status&&void 0===i.status[e.status]?s(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]?s(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 o=["Id","HookId","Packet","Result"],u=["Status","HookType"];c.forEach(e,function(e,i){-1!=c.indexOf(o,i)&&-1==c.indexOf(u,i)?t[i]=e:-1==c.indexOf(u,i)&&s(new n(5,"Provided parameter does not exist or is mispelled.",{provided:i,value:e,available:c.concat(o,u)}))}),i.cw.runRequest("General/MessageQueue/Update",t).then(function(e){void 0===e.Value&&(e.Value=[]),r(e.Value)})})},t.updateMessageStatus=function(e,t,i){var r=this;return new Promise(function(s,o){void 0===r.status[t]&&o(new n(2,"Status provided does not exist or is mispelled.",{provided:t,available:r.status})),r.cw.runRequest("General/MessageQueue/UpdateMessageStatus",{Ids:e,Status:r.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}();require("lodash");var d=function(e){this.cw=void 0,this.cw=e},f=require("lodash"),h=function(){function e(e){this.cw=void 0,this.cw=e}var t=e.prototype;return t.create=function(e){var t=this;return new Promise(function(i,r){f.has(e,"ProblemSid")?t.cw.runRequest("Ams/ServiceRequest/Create",e).then(function(e){i(e.Value)}).catch(function(e){r(e)}):r(new n(2,"ProblemSid must be provided.",{provided:e}))})},t.update=function(e){var t=this;return new Promise(function(i,r){f.has(e,"RequestId")?t.cw.runRequest("Ams/ServiceRequest/Update",e).then(function(e){i(e.Value)}).catch(function(e){r(e)}):r(new n(3,"RequestId must be provided.",{provided:e}))})},t.move=function(e,t,i,r,s){var o=this;return new Promise(function(u,c){f.has(r,"WKID")||f.has(r,"WKT")||c(new n(6,"You must provide either the WKID or WKT for the x/y coordinates.",{projection:r}));var a={RequestId:e,X:t,Y:i};void 0!==s&&f.set(a,"Z",s);var d=f.merge(a,r);o.cw.runRequest("Ams/ServiceRequest/Move",d).then(function(e){u(e.Value)}).catch(function(e){c(e)})})},t.changeProblem=function(e,t){var n=this;return new Promise(function(i,r){n.cw.runRequest("Ams/ServiceRequest/ChangeProblem",{RequestId:e,ProblemSid:t}).then(function(e){i(e.Value)}).catch(function(e){r(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,r){n.cw.runRequest("Ams/ServiceRequest/ChangeCustomFieldCategory",{RequestIds:e,CategoryId:t}).then(function(e){i(e.Value)}).catch(function(e){r(e)})})},t.comment=function(e,t){var n=this;return new Promise(function(i,r){n.cw.runRequest("Ams/ServiceRequest/AddComments",{RequestId:e,Comments:t}).then(function(e){i(e.Value)}).catch(function(e){r(e)})})},t.cancel=function(e,t,n){var i=this;return new Promise(function(r,s){var o={RequestIds:e};void 0!==t&&f.set(o,"CancelReason",t),void 0!==n&&f.set(o,"DateCancelled",n),i.cw.runRequest("Ams/ServiceRequest/Cancel",o).then(function(e){r(e.Value)}).catch(function(e){s(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,r){t.cw.runRequest("Ams/ServiceRequest/Close",{RequestIds:e}).then(function(e){e.Status>0?r(new n(5,e.Message,{response:e})):i(e.Value)}).catch(function(e){r(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,r){t.cw.runRequest("Ams/ServiceRequest/Delete",{RequestIds:e}).then(function(e){e.Status>0?r(new n(4,e.Message,{response:e})):i(e.Value)}).catch(function(e){r(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,r){var s=this;return void 0===i&&(i=!0),void 0===r&&(r=!0),new Promise(function(n,o){var u=e;f.isString(t)&&(f.set(u,"SearchName",t),f.set(u,"SaveDefinition",i),f.set(u,"EnableEurl",r)),s.cw.runRequest("Ams/ServiceRequest/CreateSearchDefinition",u).then(function(e){n(e.Value)}).catch(function(e){o(e)})})},t.getProblemNodes=function(e,t,n,i){var r=this;return void 0===t&&(t=!1),void 0===i&&(i=!1),new Promise(function(s,o){var u={DomainId:e,IncludeCancelled:i,ViewOnly:t};null!=n&&f.has(n,"DisplayTextMode")&&(f.set(u,"DisplayTextMode",f.get(n,"DisplayTextMode")),"CD"==f.get(n,"DisplayTextMode")&&f.has(n,"DisplayTextDelimeter")&&f.set(u,"DisplayTextDelimeter",f.get(n,"DisplayTextDelimeter"))),r.cw.runRequest("Ams/ServiceRequest/ProblemNodes",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.getProblems=function(e,t,n){var i=this;return void 0===e&&(e=!1),void 0===t&&(t=!0),new Promise(function(r,s){var o={ForPublicOnly:e,OnlyActiveTemplates:t};void 0!==n&&f.set(o,"DomainIds",n),i.cw.runRequest("Ams/ServiceRequest/Problems",o).then(function(e){r(e.Value)}).catch(function(e){s(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(r,s){var o={DomainId:t};f.includes(["DispatchTo","SubmitTo"],e)?i.cw.runRequest("Ams/ServiceRequest/"+e,o).then(function(e){r(e.Value)}).catch(function(e){s(e)}):s(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,r){var s={ProblemSids:null};void 0!==t&&f.set(s,"MinimumDateModified",t),void 0!==n&&f.set(s,"MaximumDateModified",n),i.cw.runRequest("Ams/ServiceRequestTemplate/ByIds",s).then(function(t){e(t.Value)}).catch(function(e){r(e)})})},t.createTemplateSearchDefinition=function(e,t,n,i){var r=this;return void 0===i&&(i=!0),new Promise(function(n,s){var o=e;f.isString(t)&&(f.set(o,"SearchName",t),f.set(o,"SaveDefinition",i)),r.cw.runRequest("Ams/ServiceRequestTemplate/CreateSearchDefinition",o).then(function(e){n(e.Value)}).catch(function(e){s(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,r){var s=this;return void 0===t&&(t=!1),void 0===n&&(n=!1),new Promise(function(o,u){var c={CanCreate:t,IncludeInactiveIf:n};void 0!==e&&f.set(c,"TemplateIds",e),void 0!==i&&f.set(c,"MinimumDateModified",i),void 0!==r&&f.set(c,"MaximumDateModified",r),s.cw.runRequest("Ams/ServiceRequestTemplate/Templates",c).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.getWOTemplates=function(e,t){var n=this;return void 0===t&&(t=!1),new Promise(function(i,r){n.cw.runRequest("Ams/ServiceRequestTemplate/WorkOrderTemplates",{ProblemSids:e,IncludeInactive:t}).then(function(e){i(e.Value)}).catch(function(e){r(e)})})},e}(),l=require("lodash"),v=function(){function e(e){this.cw=void 0,this.cw=e}var t=e.prototype;return t.create=function(e){var t=this;return new Promise(function(i,r){l.has(e,"EntityType")&&l.has(e,"InspTemplateId")?t.cw.runRequest("Ams/Inspection/Create",e).then(function(e){i(e.Value)}).catch(function(e){r(e)}):r(new n(1,"EntityType and InspTemplateId properties must be provided.",{provided:e}))})},t.createFromEntities=function(e){var t=this;return new Promise(function(i,r){l.has(e,"EntityType")&&l.has(e,"InspTemplateId")?t.cw.runRequest("Ams/Inspection/CreateFromEntities",e).then(function(e){i(e.Value)}).catch(function(e){r(e)}):r(new n(1,"EntityType and InspTemplateId properties must be provided.",{provided:e}))})},t.createFromParent=function(e){var t=this;return new Promise(function(i,r){l.has(e,"EntityType")&&l.has(e,"InspTemplateId")&&l.has(e,"InspectionId")?t.cw.runRequest("Ams/Inspection/CreateFromParent",e).then(function(e){i(e.Value)}).catch(function(e){r(e)}):r(new n(1,"EntityType and InspTemplateId properties must be provided.",{provided:e}))})},t.createFromServiceRequest=function(e){var t=this;return new Promise(function(i,r){l.has(e,"EntityType")&&l.has(e,"InspTemplateId")&&l.has(e,"RequestId")?t.cw.runRequest("Ams/Inspection/CreateFromServiceRequest",e).then(function(e){i(e.Value)}).catch(function(e){r(e)}):r(new n(1,"EntityType and InspTemplateId properties must be provided.",{provided:e}))})},t.createFromWorkOrder=function(e){var t=this;return new Promise(function(i,r){l.has(e,"EntityType")&&l.has(e,"InspTemplateId")&&l.has(e,"WorkOrderSid")?t.cw.runRequest("Ams/Inspection/CreateFromWorkOrder",e).then(function(e){i(e.Value)}).catch(function(e){r(e)}):r(new n(1,"EntityType and InspTemplateId properties must be provided.",{provided:e}))})},t.update=function(e){var t=this;return new Promise(function(i,r){return new Promise(function(i,r){l.has(e,"InspectionId")?t.cw.runRequest("Ams/Inspection/Update",e).then(function(e){i(e.Value)}).catch(function(e){r(e)}):r(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(r,s){var o={InspectionIds:e};void 0!==t&&(o.CancelReason=t),void 0!==n&&(o.DateCancelled=n),i.cw.runRequest("Ams/Inspection/Cancel",o).then(function(e){r(e.Value)}).catch(function(e){s(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,r){var s={};e&&(s.IncludeInactiveEmployees=!0),void 0!==t&&(s.DomainIds=t),n.cw.runRequest("Ams/Inspection/SubmitTos",s).then(function(e){i(e.Value)}).catch(function(e){r(e)})})},t.connectAsset=function(e,t,n,i){var r=this;return void 0===i&&(i={}),new Promise(function(n,s){var o={InspectionId:t};l.has(e,"EntityType")&&l.has(e,"EntityUid")?(o.EntityType=e.EntityType,o.EntityUid=e.EntityUid):l.has(e,"Entity")&&(o.Entity=e.Entity),l.has(i,"Facility_Id")&&(o.Facility_Id=i.Facility_Id),l.has(i,"Level_Id")&&(o.Level_Id=i.Level_Id),r.cw.runRequest("Ams/Inspection/AddEntity",o).then(function(e){n(e.Value)}).catch(function(e){s(e)})})},t.getAnswers=function(e){var t=this;return new Promise(function(n,i){var r={};0==e.length?r.InspectionId=e[0]:r.InspectionIds=e,t.cw.runRequest("Ams/Inspection/Answers",r).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,r){var s=this;return void 0===i&&(i=!0),void 0===r&&(r=!0),new Promise(function(n,o){var u=e;l.isString(t)&&(l.set(u,"SearchName",t),l.set(u,"SaveDefinition",i),l.set(u,"EnableEurl",r)),s.cw.runRequest("Ams/Inspection/CreateSearchDefinition",u).then(function(e){n(e.Value)}).catch(function(e){o(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 r=this;return void 0===t&&(t=!1),new Promise(function(s,o){var u={IncludeInactiveEmployees:t};void 0!==i&&null!=i&&l.set(u,"DomainIds",i),"SubmitTos"!=e?o(new n(2,'listType must be "SubmitTos".',{provided:e})):r.cw.runRequest("Ams/Inspection/"+e,u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.getSubmitTos=function(e,t){return void 0===e&&(e=!1),this.getEmployeeLists("SubmitTos",e,t)},t.move=function(e,t,i,r,s){var o=this;return new Promise(function(u,c){l.has(r,"WKID")||l.has(r,"WKT")||c(new n(3,"You must provide either the WKID or WKT for the x/y coordinates.",{projection:r}));var a={InspectionId:e,X:t,Y:i};void 0!==s&&l.set(a,"Z",s);var d=l.merge(a,r);o.cw.runRequest("Ams/Inspection/Move",d).then(function(e){u(e.Value)}).catch(function(e){c(e)})})},t.getTemplates=function(e,t,n){var i=this;return new Promise(function(r,s){var o={};void 0!==e&&(o.EntityTypes=e),o.CanCreate=void 0===t||t,"object"==typeof n&&l.forIn(n,function(e,t){o[t]=e}),i.cw.runRequest("Ams/InspectionTemplate/Templates",o).then(function(e){r(e.Value)}).catch(function(e){s(e)})})},t.getTemplatesByIds=function(e,t){var n=this;return new Promise(function(i,r){var s={InspTemplateIds:e};"object"==typeof t&&l.forIn(t,function(e,t){s[t]=e}),n.cw.runRequest("Ams/InspectionTemplate/ByIds",s).then(function(e){i(e.Value)}).catch(function(e){r(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}(),m=require("lodash"),p=function(){function e(e){this.cw=void 0,this.cw=e}var t=e.prototype;return t.create=function(e,t,i){var r=this;return new Promise(function(s,o){if(m.has(e,"WOTemplateId")&&m.has(e,"EntityType")){var u=e;void 0===t||null==t||m.has(u,"InspectionIds")||m.set(u,"InspectionIds",t),void 0===i||null==i||m.has(u,"RequestIds")||m.set(u,"RequestIds",i),r.cw.runRequest("Ams/WorkOrder/Create",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})}else o(new n(2,"WOTemplateId & EntityType must be provided.",{provided:e}))})},t.createFromParent=function(e,t,i){var r=this;return new Promise(function(i,s){if(m.has(e,"WOTemplateId")&&m.has(e,"EntityType")){var o=e;m.isString(t)?m.set(o,"WorkOrderId",t):m.set(o,"WorkOrderSid",t),r.cw.runRequest("Ams/WorkOrder/Create",o).then(function(e){i(e.Value)}).catch(function(e){s(e)})}else s(new n(2,"WOTemplateId & EntityType must be provided.",{provided:e}))})},t.update=function(e){var t=this;return new Promise(function(i,r){m.has(e,"WorkOrderSid")||m.has(e,"WorkOrderId")?t.cw.runRequest("Ams/WorkOrder/Update",e).then(function(e){i(e.Value)}).catch(function(e){r(e)}):r(new n(3,"WorkOrderId or WorkOrderSid must be provided.",{provided:e}))})},t.combine=function(e,t,i){var r=this;return void 0===i&&(i=!0),new Promise(function(s,o){r.cw.runRequest("Ams/WorkOrder/Combine",{CancelCombinedWorkOrders:i,ToWorkOrderId:t,FromWorkOrderIds:e}).then(function(e){e.Status>0?o(new n(4,e.Message,{response:e})):s(e.Value)}).catch(function(e){o(e)})})},t.move=function(e,t,i,r,s){var o=this;return new Promise(function(u,c){m.has(r,"WKID")||m.has(r,"WKT")||c(new n(6,"You must provide either the WKID or WKT for the x/y coordinates.",{projection:r}));var a={WorkOrderId:e,X:t,Y:i};void 0!==s&&m.set(a,"z",s);var d=m.merge(a,r);o.cw.runRequest("Ams/WorkOrder/Move",d).then(function(e){u(e.Value)}).catch(function(e){c(e)})})},t.getById=function(e,t){var n=this;return new Promise(function(t,i){var r={};if(m.isString(e)){m.set(r,"WorkOrderId",e);var s="Ams/WorkOrder/ById"}else m.set(r,"WorkOrderSid",e),s="Ams/WorkOrder/BySid";n.cw.runRequest(s,r).then(function(e){t(e.Value)}).catch(function(e){i(e)})})},t.getByIds=function(e){var t=this;return new Promise(function(i,r){var s={};if(0==e.length)r(new n(10,"No workorder S/IDs were provided.",{workorderSId:e}));else{var o="Ams/WorkOrder/ByIds";m.isString(e[0])?(m.set(s,"WorkOrderIds",e),o="Ams/WorkOrder/ByIds"):m.isNumber(e[0])?(m.set(s,"WorkOrderSids",e),o="Ams/WorkOrder/BySids"):r(new n(9,"No workorder S/IDs were provided.",{workorderSId:e})),t.cw.runRequest(o,s).then(function(e){i(e.Value)}).catch(function(e){r(e)})}})},t.getInstructions=function(e){var t=this;return new Promise(function(i,r){var s={};if(0==e.length)r(new n(10,"No workorder S/IDs were provided.",{workorderSId:e}));else{var o="Ams/WorkOrder/ByIds";m.isString(e[0])?(m.set(s,"WorkOrderIds",e),o="Ams/WorkOrder/InstructionsByWorkOrderIds"):m.isNumber(e[0])?(m.set(s,"WorkOrderSids",e),o="Ams/WorkOrder/InstructionsByWorkOrderSids"):r(new n(9,"No workorder S/IDs were provided.",{workorderSId:e})),t.cw.runRequest(o,s).then(function(e){i(e.Value)}).catch(function(e){r(e)})}})},t.getAuditLog=function(e){var t=this;return new Promise(function(i,r){var s={};m.isString(e)?m.set(s,"WorkOrderId",e):m.isNumber(e)?m.set(s,"WorkOrderSid",e):r(new n(9,"Workorder S/IDs was not provided.",{workorderSId:e})),t.cw.runRequest("Ams/WorkOrder/AuditLog",s).then(function(e){i(e.Value)}).catch(function(e){r(e)})})},t.getCustomFieldValues=function(e){var t=this;return new Promise(function(i,r){var s={},o="Ams/WorkOrder/CustomFields";m.isString(e[0])?(m.set(s,"WorkOrderIds",e),o="Ams/WorkOrder/CustomFields"):m.isNumber(e[0])?(m.set(s,"WorkOrderSids",e),o="Ams/WorkOrder/CustomFieldsByWorkOrderSids"):r(new n(9,"No workorder S/IDs were provided.",{workorderSIds:e})),t.cw.runRequest(o,s).then(function(e){i(e.Value)}).catch(function(e){r(e)})})},t.comment=function(e,t){var i=this;return new Promise(function(r,s){var o={Comments:t};m.isString(e)?m.set(o,"WorkOrderId",e):m.isNumber(e)?m.set(o,"WorkOrderSid",e):s(new n(9,"Workorder S/IDs was not provided.",{workorderSId:e})),i.cw.runRequest("Ams/WorkOrder/AddComments",o).then(function(e){r(e.Value)}).catch(function(e){s(e)})})},t.getEntities=function(e,t){var i=this;return void 0===t&&(t=!0),new Promise(function(r,s){var o={GetGisData:t};0==e.length?s(new n(11,"No workorder S/IDs were provided.",{workorderSId:e})):m.isString(e[0])?m.set(o,"WorkOrderIds",e):m.isNumber(e[0])?m.set(o,"WorkOrderSids",e):s(new n(12,"No workorder S/IDs were provided.",{workorderSId:e})),i.cw.runRequest("Ams/WorkOrder/Entities",o).then(function(e){e.Status>0?s(new n(4,e.Message,{response:e})):r(e.Value)}).catch(function(e){s(e)})})},t.addEntities=function(e,t,i){var r=this;return void 0===i&&(i=!0),new Promise(function(s,o){var u={UpdateXY:i};m.isString(e)?m.set(u,"WorkOrderId",e):m.set(u,"WorkOrderSid",e),m.has(t,"Facility_Id")&&m.set(u,"Facility_Id",m.get(t,"Facility_Id")),m.has(t,"Level_Id")&&m.set(u,"Level_Id",m.get(t,"Level_Id")),m.has(t,"EntityUids")&&m.has(t,"EntityType")?(m.set(u,"EntityUids",m.get(t,"EntityUids")),m.set(u,"EntityType",m.get(t,"EntityType"))):o(new n(7,"No entity info was provided.",{workorderSId:e,entityInfo:t})),r.cw.runRequest("Ams/WorkOrder/AddEntities",u).then(function(e){e.Status>0?o(new n(4,e.Message,{response:e})):s(e.Value)}).catch(function(e){o(e)})})},t.updateEntity=function(e,t,i){var r=this;return void 0===i&&(i=!1),new Promise(function(s,o){var u={WorkComplete:i};m.isString(e)?m.set(u,"WorkOrderId",e):m.set(u,"WorkOrderSid",e),m.has(t,"Facility_Id")&&m.set(u,"Facility_Id",m.get(t,"Facility_Id")),m.has(t,"Level_Id")&&m.set(u,"Level_Id",m.get(t,"Level_Id")),m.has(t,"EntityUids")&&m.has(t,"EntityType")?(m.set(u,"EntityUid",m.get(t,"EntityUid")),m.set(u,"EntityType",m.get(t,"EntityType"))):o(new n(7,"No entity info was provided.",{workorderSId:e,entityInfo:t})),r.cw.runRequest("Ams/WorkOrder/UpdateEntity",u).then(function(e){e.Status>0?o(new n(4,e.Message,{response:e})):s(e.Value)}).catch(function(e){o(e)})})},t.removeEntities=function(e,t,i){var r=this;return void 0===i&&(i=!0),new Promise(function(s,o){var u={UpdateXY:i};m.isString(e)?m.set(u,"WorkOrderId",e):m.set(u,"WorkOrderSid",e),m.has(t,"ObjectIds")?m.set(u,"ObjectIds",m.get(t,"ObjectIds")):m.has(t,"EntityUids")&&m.has(t,"EntityType")?(m.set(u,"EntityUids",m.get(t,"EntityUids")),m.set(u,"EntityType",m.get(t,"EntityType"))):o(new n(8,"No entity info was provided.",{workorderSId:e,entityInfo:t})),r.cw.runRequest("Ams/WorkOrder/RemoveEntities",u).then(function(e){e.Status>0?o(new n(4,e.Message,{response:e})):s(e.Value)}).catch(function(e){o(e)})})},t.cancel=function(e,t,n){var i=this;return new Promise(function(r,s){var o={WorkOrderIds:e};void 0!==t&&m.set(o,"CancelReason",t),void 0!==n&&m.set(o,"DateCancelled",n),i.cw.runRequest("Ams/WorkOrder/Cancel",o).then(function(e){r(e.Value)}).catch(function(e){s(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,r){t.cw.runRequest("Ams/WorkOrder/Close",{WorkOrderIds:e}).then(function(e){e.Status>0?r(new n(5,e.Message,{response:e})):i(e.Value)}).catch(function(e){r(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,r){t.cw.runRequest("Ams/WorkOrder/Delete",{WorkOrderIds:e}).then(function(e){e.Status>0?r(new n(4,e.Message,{response:e})):i(e.Value)}).catch(function(e){r(e)})})},t.getWOsByEntities=function(e,t,i,r){var s=this;return void 0===r&&(r=!0),new Promise(function(o,u){var c={};void 0!==i&&m.merge(c,i),m.has(c,"EntityType")||m.set(c,"EntityType",e),m.has(c,"EntityUids")||m.set(c,"EntityUids",t);var a="Ams/WorkOrder/SearchForSids";r||(a="Ams/WorkOrder/Search"),s.cw.runRequest(a,c).then(function(e){e.Status>0?u(new n(4,e.Message,{response:e})):o(e.Value)}).catch(function(e){u(e)})})},t.getSearchList=function(e){var t=this;return new Promise(function(i,r){var s={};m.set(s,"WorkOrderId",e),t.cw.runRequest("Ams/WorkOrder/SearchObject",s).then(function(e){e.Status>0?r(new n(4,e.Message,{response:e})):i(e.Value)}).catch(function(e){r(e)})})},t.getEmployeeLists=function(e,t,i){var r=this;return void 0===t&&(t=!1),new Promise(function(s,o){var u={IncludeInactiveEmployees:t};void 0!==i&&null!=i&&m.set(u,"DomainIds",i),m.includes(["Supervisors","SubmitTos"],e)?r.cw.runRequest("Ams/WorkOrder/"+e,u).then(function(e){s(e.Value)}).catch(function(e){o(e)}):o(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}();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.cw=e}var t=e.prototype;return t.addFee=function(e,t,n){var i=this;return new Promise(function(r,s){var o=y.merge({CaObjectId:e,FeeSetupId:t},n);i.cw.runRequest("Pll/CaseFees/Add",o).then(function(e){r(e.Value)}).catch(function(e){s(e)})})},t.addPayment=function(e,t){var n=this;return new Promise(function(i,r){var s=y.merge({CaObjectId:e},t);n.cw.runRequest("Pll/CasePayment/Add",s).then(function(e){i(e.Value)}).catch(function(e){r(e)})})},t.addRefund=function(e,t,n){var i=this;return new Promise(function(r,s){i.cw.runRequest("Pll/CasePaymentRefund/Add",{CaPaymentId:e,RefundAmount:t,Comments:n}).then(function(e){r(e.Value)}).catch(function(e){s(e)})})},t.addDepositPayment=function(e,t){var n=this;return new Promise(function(i,r){var s=y.merge({CaDepositId:e},t);n.cw.runRequest("Pll/CasePayment/AddDeposit",s).then(function(e){i(e.Value)}).catch(function(e){r(e)})})},t.addDeposit=function(e,t,n,i){var r=this;return new Promise(function(s,o){var u={CaObjectId:e,DepositId:t};void 0!==n&&y.set(u,"Amount",n),void 0!==i&&y.set(u,"CommentText",i),r.cw.runRequest("CaseDeposit/Add",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.addInstrument=function(e,t,n,i,r){var s=this;return new Promise(function(o,u){var c=y.merge({CaObjectId:e,InstTypeId:t,Amount:n,DateExpire:i},r);s.cw.runRequest("Pll/CaseInstrument/Add",c).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.updateFee=function(e,t){var n=this;return new Promise(function(i,r){var s=y.merge({CaFeeId:e},t);n.cw.runRequest("Pll/CaseFees/Update",s).then(function(e){i(e.Value)}).catch(function(e){r(e)})})},t.voidRefund=function(e,t){var n=this;return new Promise(function(i,r){n.cw.runRequest("Pll/CasePaymentRefund/Update",{CaPaymentRefundId:e,Voided:t}).then(function(e){i(e.Value)}).catch(function(e){r(e)})})},t.addDefaultFees=function(e,t){var n=this;return new Promise(function(i,r){n.cw.runRequest("Pll/CaseFees/AddDefault",{CaObjectId:e,BusCaseId:t}).then(function(e){i(e.Value)}).catch(function(e){r(e)})})},t.addDefaultDeposits=function(e,t){var n=this;return new Promise(function(i,r){n.cw.runRequest("Pll/CaseDeposit/AddDefault",{CaObjectId:e,BusCaseId:t}).then(function(e){i(e.Value)}).catch(function(e){r(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,r){0==y.intersectionBy(e,["CaFeeId","CaObjectId","FeeCode","FeeDesc"]).length&&r(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){r(e)})})},t.searchPayments=function(e){var t=this;return new Promise(function(i,r){0==y.intersectionBy(e,["CaPaymentId","CommentText","FeeAmount","FeeCode","FeeDesc","PaymentAccount","PaymentAmount","TenderType"]).length&&r(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){r(e)})})},t.searchRefunds=function(e){var t=this;return new Promise(function(i,r){0==y.intersectionBy(e,["CaPaymentId","CaPaymentRefundId","Comments","RefundAmount"]).length&&r(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){r(e)})})},t.searchDeposits=function(e){var t=this;return new Promise(function(i,r){0==y.intersectionBy(e,["CaDepositId","CaObjectId","DepositCode","DepositDesc"]).length&&r(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){r(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,r){0==y.intersectionBy(e,["FeeSetupId","FeeTypeId","FeeCode","FeeDesc","AccountCode"]).length&&r(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){r(e)})})},t.searchCaseInstruments=function(e){var t=this;return new Promise(function(i,r){0==y.intersectionBy(e,["AddressLine1","Amount","CaInstrumentId","CityName","CommentText","Company","ContactEmail","ContactName","ContactPhone","CountryCode","InstTypeId","SerialNumber","StateCode","ZipCode"]).length&&r(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){r(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,r,s,o){var u=this;return new Promise(function(c,a){var d={CaInstrumentId:e,DateReleased:i,ReleasedBy:t};void 0===s&&null==s||void 0===r&&null==r?void 0!==s&&null!=s?y.set(d,"PercentReleased",s):void 0!==r&&null!=r&&y.set(d,"AmountReleased",r):a(new n(2,"Either amountReleased or percentReleased must be specified.")),void 0!==o&&y.set(d,"CommentText",o),u.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,r){var s=e;0==y.intersectionBy(e,["AmountReleased","CaInstReleasesId","CaInstrumentId","CommentText","PercentReleased","ReleasedBy"]).length&&r(new n(3,"At least one of the attributes (AmountReleased, CaInstReleasesId, CaInstrumentId, CommentText, PercentReleased, ReleasedBy) must be defined.")),t.cw.runRequest("Pll/CaseInstReleases/Search",s).then(function(e){i(e.Value)}).catch(function(e){r(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,r){0==y.intersectionBy(e,["AccountCode","FeeCode","FeeDesc","FeeSetupId","FeeTypeId"]).length&&r(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){r(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,r){var s=y.merge({TenderTypeId:e},t);n.cw.runRequest("Pll/TenderType/Update",s).then(function(e){i(e.Value)}).catch(function(e){r(e)})})},e}();require("lodash");var P=function(e){this.cw=void 0,this.cw=e},R=require("lodash"),q=function(){function e(e){this.cw=void 0,this.data=void 0,this.workflow=void 0,this.financial=void 0,this.cw=e,this.data=new w(e),this.workflow=new P(e),this.financial=new I(e)}var t=e.prototype;return t.create=function(e,t,n){var i=this;return new Promise(function(r,s){var o=R.merge({CaseTypeId:e,SubTypeId:t},n);i.cw.runRequest("Pll/Case/Create",o).then(function(e){r(e.Value)}).catch(function(e){s(e)})})},t.createChild=function(e,t,n){var i=this;return new Promise(function(r,s){var o=R.merge({BusCaseId:e,ParentCaObjectId:t},n);i.cw.runRequest("Pll/Case/CreateChild",o).then(function(e){r(e.Value)}).catch(function(e){s(e)})})},t.createFromRequest=function(e,t,n,i){var r=this;return new Promise(function(s,o){var u=R.merge({CaseTypeId:e,SubTypeId:t,ServiceRequestId:n},i);r.cw.runRequest("Pll/CaseObject/CreateCaseFromServiceRequest",u).then(function(e){s(e.Value)}).catch(function(e){o(e)})})},t.update=function(e,t){var n=this;return new Promise(function(i,r){var s=R.merge({CaObjectId:e},t);n.cw.runRequest("Pll/CaseObject/Update",s).then(function(e){i(e.Value)}).catch(function(e){r(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,r,s){var o=this;return new Promise(function(u,c){R.has(r,"WKID")||R.has(r,"WKT")||c(new n(1,"You must provide either the WKID or WKT for the x/y coordinates.",{projection:r}));var a={CaObjectId:e,X:t,Y:i};void 0!==s&&R.set(a,"Z",s);var d=R.merge(a,r);o.cw.runRequest("Pll/CaseObject/Move",d).then(function(e){u(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}(),S=require("https"),C=require("querystring"),g=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&&g.forEach(t,function(e,t){void 0!==i.settings[t]&&(i.settings[t]=e)}),void 0===n)this.general=new r(this),this.activity_link=new o(this),this.message_queue=new a(this),this.request=new h(this),this.inspection=new v(this),this.workorder=new p(this),this.case=new q(this);else{var s=this;g.forEach(this.potential_loads,function(e){switch(e){case"general":s.general=new r(s);break;case"activity_link":s.activity_link=new o(s);break;case"message_queue":s.message_queue=new a(s);break;case"gis":s.gis=new u(s);break;case"search":s.search=new d(s);break;case"request":s.request=new h(s);break;case"case":s.case=new q(s);break;case"inspection":s.inspection=new v(s);break;case"workorder":s.workorder=new p(s)}})}},t.runRequest=function(e,t){var i=this;return new Promise(function(r,s){var o={};o.data=JSON.stringify(t),void 0!==i.Token&&""!=i.Token&&"General/Authentication/CityworksOnlineAuthenticate"!=e&&"General/Authentication/Authenticate"!=e&&(o.token=i.Token);var u={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(C.stringify(o))},timeout:1e7},c=S.request(u,function(e){var t="";e.on("error",function(e){console.log(e,"Caught on error"),s(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?s(new n(10,"No response received from Cityworks API.")):void 0!==e&&void 0!==e.Value?r(e):s(new n(3,"Unknown error.",{options:u,postedData:o,api_returned_string:e}))}else s(new n(1,"Error parsing JSON. Cityworks returned HTML.",{response:t}))}catch(e){e instanceof SyntaxError?(console.log("try/catch error on JSON"),s(new n(1,"Error parsing JSON.",{error:e}))):(console.log("try/catch error on JSON"),s(new n(1,"Error parsing JSON.")))}})});c.write(C.stringify(o)),c.end()})},t.authenticate=function(e,t){var i=this;return new Promise(function(r,s){var o="General/Authentication/Authenticate";"cityworksonline"==i.base_url&&(o="General/Authentication/CityworksOnlineAuthenticate"),i.runRequest(o,{LoginName:e,Password:t}).then(function(o){o.Status>0?s(new n(10,o.Message)):void 0!==o.Value&&void 0!==o.Value.Token?(i.login=e,i.password=t,i.Token=o.Value.Token,r(!0)):s(new n(11,"Unknown Error"))}).catch(function(e){s(e)})})},t.authenticateWithGISToken=function(e,t,n,i){var r=this;return this.login=e,this.gisToken=t,this.gisTokenUrl=n,void 0!==i&&(i=12096e5),new Promise(function(e,t){r.runRequest("General/Authentication/AuthenticateGisToken",{LoginName:r.login,GisToken:r.gisToken,GisTokenUrl:r.gisTokenUrl,Expires:i}).then(function(t){void 0!==t.Status&&t.Status>0||(void 0!==t.Value&&void 0!==t.Value.Token?(r.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,r){n.runRequest("General/Authentication/Validate",{Token:e}).then(function(r){r.Status>0?i(!1):(t&&(n.Token=e),i(r.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,r){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,r){void 0===t.extensions[e]&&r(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,r){var s={Extensions:[]};g.forEach(e,function(e){void 0===t.extensions[e]?r(new n(5,"Extension provided does not exist or is mispelled.",{provided:e,available:t.extensions})):s.Extensions.push(t.extensions[e])}),t.runRequest("General/Authorization/LicensedExtensionsCheck",s).then(function(e){var s={},o=g.invert(t.extensions);g.forEach(e,function(e,i){void 0===o[e]?r(new n(6,"Extension index provided does not exist or isn't configured properly.",{provided_num_returned:e,available:t.extensions})):s[o[e]]=i}),i(s)})})},t.licensedFeatureCheck=function(e){var t=this;return new Promise(function(i,r){void 0===t.features[e]&&r(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,r){var s={Features:[]};g.forEach(e,function(e){void 0===t.features[e]?r(new n(8,"Feature provided does not exist or is mispelled.",{provided:e,available:t.features})):s.Features.push(t.features[e])}),t.runRequest("General/Authorization/LicensedFeaturesCheck",s).then(function(e){var s={},o=g.invert(t.features);g.forEach(e.Value,function(e,t){void 0===o[e]?r(new n(9,"Feature index provided does not exist or isn't configured properly.",{provided:e,available:o})):s[o[e]]=t}),i(s)})})},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,r){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,r){var o={null:0,case:1,task:2};void 0===o[e]?r(new n(1,"Activity type provided does not exist.",{provided:e,potential_activities:o})):i.cw.runRequest("General/ActivityNotification/UserWatching",{ActivityType:o[e],ActivityId:t}).then(function(e){s(e.Value)}).catch(function(e){r(new n(2,"Unknown error."))})})},t.quickSearch=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.getActivityMetadataByIds=function(e,t){var s=this;return new Promise(function(r,o){var u=["INSPECTION","REQUEST","WORKORDER"];-1==i.indexOf(u,t)&&o(new n(2,"TableName provided does not exist or is mispelled.",{provided:t,available:u})),s.cw.runRequest("General/CwMetaData/ByTableNameSids",{Ids:e,TableName:t}).then(function(e){console.log(e),r(e.Value)}).catch(function(e){o(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}(),r=require("lodash"),o=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,r){var o=this;return void 0===r&&(r="related"),new Promise(function(u,c){o.activityTypes.has(e)||c(new n(1,"Source type not found.",{provided:e,options:o.activityTypes})),o.activityTypes.has(i)||c(new n(2,"Destination type not found.",{provided:i,options:o.activityTypes})),o.linkTypes.has(r)||c(new n(3,"Link type not found.",{provided:r,options:o.linkTypes}));var a={SourceType:o.activityTypes.get(e),SourceSid:t,DestType:o.activityTypes.get(i),DestSid:s,LinkType:o.linkTypes.get(r)};o.cw.runRequest("General/ActivityLink/Add",a).then(function(e){u(e.Value)})})},i.get=function(e,t){var i=this;return new Promise(function(s,o){i.activityTypes.has(e)||o(new n(4,"Activity type not found.",{provided:e,options:i.activityTypes}));var u={ActivityType:i.activityTypes.get(e),ActivitySids:t},c=i;i.cw.runRequest("General/ActivityLink/ByActivitySids",u).then(function(e){var t=new Array;r.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 r=this;return new Promise(function(o,u){r.activityTypes.has(e)||u(new n(1,"Source type not found.",{provided:e,options:r.activityTypes})),r.activityTypes.has(i)||u(new n(1,"Destination type not found.",{provided:i,options:r.activityTypes}));var c={SourceActivityType:r.activityTypes.get(e),SourceActivitySid:t,DestinationActivityType:r.activityTypes.get(i),DestinationActivitySid:s};r.cw.runRequest("General/ActivityLink/CloneByActivitySid",c).then(function(e){o(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,r){var o=this;return void 0===r&&(r="related"),new Promise(function(u,c){o.activityTypes.has(e)||c(new n(1,"Source type not found.",{provided:e,options:o.activityTypes})),o.activityTypes.has(i)||c(new n(1,"Destination type not found.",{provided:i,options:o.activityTypes})),o.linkTypes.has(r)||c(new n(1,"Link type not found.",{provided:r,options:o.linkTypes}));var a={SourceType:o.activityTypes.get(e),SourceSid:t,DestType:o.activityTypes.get(i),DestSid:s,LinkType:o.linkTypes.get(r)};o.cw.runRequest("General/ActivityLink/Remove",a).then(function(e){u(e.Value)})})},e}();require("lodash");var u=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(r,o){void 0===s.status[t]&&o(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(r,o){void 0===s.status[t]&&o(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(r,o){void 0!==e.status&&void 0===s.status[e.status]?o(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 u=["Id","HookId","HookType","Result","DateCreatedBegin","DateCreatedEnd","DateUpdatedBegin","DateUpdatedEnd"],a=["Status","MaxResults"];c.forEach(e,function(e,t){-1!=c.indexOf(u,t)&&-1==c.indexOf(a,t)?i[t]=e:-1==c.indexOf(a,t)&&o(new n(4,"Provided parameter does not exist or is mispelled.",{provided:t,value:e,available:c.concat(u,a)}))}),s.cw.runRequest("General/MessageQueue/Search",i).then(function(e){void 0===e.Value&&(e.Value=[]),r(e.Value)})})},t.update=function(e){var t,i=this;return new Promise(function(s,r){void 0!==e.status&&void 0===i.status[e.status]?r(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]?r(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 o=["Id","HookId","Packet","Result"],u=["Status","HookType"];c.forEach(e,function(e,i){-1!=c.indexOf(o,i)&&-1==c.indexOf(u,i)?t[i]=e:-1==c.indexOf(u,i)&&r(new n(5,"Provided parameter does not exist or is mispelled.",{provided:i,value:e,available:c.concat(o,u)}))}),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(r,o){void 0===s.status[t]&&o(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}();require("lodash");var d=function(e){this.cw=void 0,this.cw=e};require("lodash");var f=function(e){this.cw=void 0,this.cw=e},h=require("lodash"),l=function(){function e(e){this.cw=void 0,this.admin=void 0,this.cw=e,this.admin=new f(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,r){var o=this;return new Promise(function(u,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!==r&&h.set(a,"Z",r);var d=h.merge(a,s);o.cw.runRequest("Ams/ServiceRequest/Move",d).then(function(e){u(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,r){var o={RequestIds:e};void 0!==t&&h.set(o,"CancelReason",t),void 0!==n&&h.set(o,"DateCancelled",n),i.cw.runRequest("Ams/ServiceRequest/Cancel",o).then(function(e){s(e.Value)}).catch(function(e){r(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 r=this;return void 0===i&&(i=!0),void 0===s&&(s=!0),new Promise(function(n,o){var u=e;h.isString(t)&&(h.set(u,"SearchName",t),h.set(u,"SaveDefinition",i),h.set(u,"EnableEurl",s)),r.cw.runRequest("Ams/ServiceRequest/CreateSearchDefinition",u).then(function(e){n(e.Value)}).catch(function(e){o(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(r,o){var u={DomainId:e,IncludeCancelled:i,ViewOnly:t};null!=n&&h.has(n,"DisplayTextMode")&&(h.set(u,"DisplayTextMode",h.get(n,"DisplayTextMode")),"CD"==h.get(n,"DisplayTextMode")&&h.has(n,"DisplayTextDelimeter")&&h.set(u,"DisplayTextDelimeter",h.get(n,"DisplayTextDelimeter"))),s.cw.runRequest("Ams/ServiceRequest/ProblemNodes",u).then(function(e){r(e.Value)}).catch(function(e){o(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,r){var o={ForPublicOnly:e,OnlyActiveTemplates:t};void 0!==n&&h.set(o,"DomainIds",n),i.cw.runRequest("Ams/ServiceRequest/Problems",o).then(function(e){s(e.Value)}).catch(function(e){r(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,r){var o={DomainId:t};h.includes(["DispatchTo","SubmitTo"],e)?i.cw.runRequest("Ams/ServiceRequest/"+e,o).then(function(e){s(e.Value)}).catch(function(e){r(e)}):r(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 r={ProblemSids:null};void 0!==t&&h.set(r,"MinimumDateModified",t),void 0!==n&&h.set(r,"MaximumDateModified",n),i.cw.runRequest("Ams/ServiceRequestTemplate/ByIds",r).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,r){var o=e;h.isString(t)&&(h.set(o,"SearchName",t),h.set(o,"SaveDefinition",i)),s.cw.runRequest("Ams/ServiceRequestTemplate/CreateSearchDefinition",o).then(function(e){n(e.Value)}).catch(function(e){r(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 r=this;return void 0===t&&(t=!1),void 0===n&&(n=!1),new Promise(function(o,u){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),r.cw.runRequest("Ams/ServiceRequestTemplate/Templates",c).then(function(e){o(e.Value)}).catch(function(e){u(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 m=function(e){this.cw=void 0,this.cw=e},v=require("lodash"),p=function(){function e(e){this.cw=void 0,this.admin=void 0,this.cw=e,this.admin=new m(e)}var t=e.prototype;return t.create=function(e){var t=this;return new Promise(function(i,s){v.has(e,"EntityType")&&v.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){v.has(e,"EntityType")&&v.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){v.has(e,"EntityType")&&v.has(e,"InspTemplateId")&&v.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){v.has(e,"EntityType")&&v.has(e,"InspTemplateId")&&v.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){v.has(e,"EntityType")&&v.has(e,"InspTemplateId")&&v.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){v.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,r){var o={InspectionIds:e};void 0!==t&&(o.CancelReason=t),void 0!==n&&(o.DateCancelled=n),i.cw.runRequest("Ams/Inspection/Cancel",o).then(function(e){s(e.Value)}).catch(function(e){r(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 r={};e&&(r.IncludeInactiveEmployees=!0),void 0!==t&&(r.DomainIds=t),n.cw.runRequest("Ams/Inspection/SubmitTos",r).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,r){var o={InspectionId:t};v.has(e,"EntityType")&&v.has(e,"EntityUid")?(o.EntityType=e.EntityType,o.EntityUid=e.EntityUid):v.has(e,"Entity")&&(o.Entity=e.Entity),v.has(i,"Facility_Id")&&(o.Facility_Id=i.Facility_Id),v.has(i,"Level_Id")&&(o.Level_Id=i.Level_Id),s.cw.runRequest("Ams/Inspection/AddEntity",o).then(function(e){n(e.Value)}).catch(function(e){r(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 r=this;return void 0===i&&(i=!0),void 0===s&&(s=!0),new Promise(function(n,o){var u=e;v.isString(t)&&(v.set(u,"SearchName",t),v.set(u,"SaveDefinition",i),v.set(u,"EnableEurl",s)),r.cw.runRequest("Ams/Inspection/CreateSearchDefinition",u).then(function(e){n(e.Value)}).catch(function(e){o(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(r,o){var u={IncludeInactiveEmployees:t};void 0!==i&&null!=i&&v.set(u,"DomainIds",i),"SubmitTos"!=e?o(new n(2,'listType must be "SubmitTos".',{provided:e})):s.cw.runRequest("Ams/Inspection/"+e,u).then(function(e){r(e.Value)}).catch(function(e){o(e)})})},t.getSubmitTos=function(e,t){return void 0===e&&(e=!1),this.getEmployeeLists("SubmitTos",e,t)},t.move=function(e,t,i,s,r){var o=this;return new Promise(function(u,c){v.has(s,"WKID")||v.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!==r&&v.set(a,"Z",r);var d=v.merge(a,s);o.cw.runRequest("Ams/Inspection/Move",d).then(function(e){u(e.Value)}).catch(function(e){c(e)})})},t.getTemplates=function(e,t,n){var i=this;return new Promise(function(s,r){var o={};void 0!==e&&(o.EntityTypes=e),o.CanCreate=void 0===t||t,"object"==typeof n&&v.forIn(n,function(e,t){o[t]=e}),i.cw.runRequest("Ams/InspectionTemplate/Templates",o).then(function(e){s(e.Value)}).catch(function(e){r(e)})})},t.getTemplatesByIds=function(e,t){var n=this;return new Promise(function(i,s){var r={InspTemplateIds:e};"object"==typeof t&&v.forIn(t,function(e,t){r[t]=e}),n.cw.runRequest("Ams/InspectionTemplate/ByIds",r).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 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,t,i){var s=this;return new Promise(function(r,o){if(y.has(e,"WOTemplateId")&&y.has(e,"EntityType")){var u=e;void 0===t||null==t||y.has(u,"InspectionIds")||y.set(u,"InspectionIds",t),void 0===i||null==i||y.has(u,"RequestIds")||y.set(u,"RequestIds",i),s.cw.runRequest("Ams/WorkOrder/Create",u).then(function(e){r(e.Value)}).catch(function(e){o(e)})}else o(new n(2,"WOTemplateId & EntityType must be provided.",{provided:e}))})},t.createFromParent=function(e,t,i){var s=this;return new Promise(function(i,r){if(y.has(e,"WOTemplateId")&&y.has(e,"EntityType")){var o=e;y.isString(t)?y.set(o,"WorkOrderId",t):y.set(o,"WorkOrderSid",t),s.cw.runRequest("Ams/WorkOrder/Create",o).then(function(e){i(e.Value)}).catch(function(e){r(e)})}else r(new n(2,"WOTemplateId & EntityType must be provided.",{provided:e}))})},t.update=function(e){var t=this;return new Promise(function(i,s){y.has(e,"WorkOrderSid")||y.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(r,o){s.cw.runRequest("Ams/WorkOrder/Combine",{CancelCombinedWorkOrders:i,ToWorkOrderId:t,FromWorkOrderIds:e}).then(function(e){e.Status>0?o(new n(4,e.Message,{response:e})):r(e.Value)}).catch(function(e){o(e)})})},t.move=function(e,t,i,s,r){var o=this;return new Promise(function(u,c){y.has(s,"WKID")||y.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!==r&&y.set(a,"z",r);var d=y.merge(a,s);o.cw.runRequest("Ams/WorkOrder/Move",d).then(function(e){u(e.Value)}).catch(function(e){c(e)})})},t.getById=function(e,t){var n=this;return new Promise(function(t,i){var s={};if(y.isString(e)){y.set(s,"WorkOrderId",e);var r="Ams/WorkOrder/ById"}else y.set(s,"WorkOrderSid",e),r="Ams/WorkOrder/BySid";n.cw.runRequest(r,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 r={};if(0==e.length)s(new n(10,"No workorder S/IDs were provided.",{workorderSId:e}));else{var o="Ams/WorkOrder/ByIds";y.isString(e[0])?(y.set(r,"WorkOrderIds",e),o="Ams/WorkOrder/ByIds"):y.isNumber(e[0])?(y.set(r,"WorkOrderSids",e),o="Ams/WorkOrder/BySids"):s(new n(9,"No workorder S/IDs were provided.",{workorderSId:e})),t.cw.runRequest(o,r).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 r={};if(0==e.length)s(new n(10,"No workorder S/IDs were provided.",{workorderSId:e}));else{var o="Ams/WorkOrder/ByIds";y.isString(e[0])?(y.set(r,"WorkOrderIds",e),o="Ams/WorkOrder/InstructionsByWorkOrderIds"):y.isNumber(e[0])?(y.set(r,"WorkOrderSids",e),o="Ams/WorkOrder/InstructionsByWorkOrderSids"):s(new n(9,"No workorder S/IDs were provided.",{workorderSId:e})),t.cw.runRequest(o,r).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 r={};y.isString(e)?y.set(r,"WorkOrderId",e):y.isNumber(e)?y.set(r,"WorkOrderSid",e):s(new n(9,"Workorder S/IDs was not provided.",{workorderSId:e})),t.cw.runRequest("Ams/WorkOrder/AuditLog",r).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 r={},o="Ams/WorkOrder/CustomFields";y.isString(e[0])?(y.set(r,"WorkOrderIds",e),o="Ams/WorkOrder/CustomFields"):y.isNumber(e[0])?(y.set(r,"WorkOrderSids",e),o="Ams/WorkOrder/CustomFieldsByWorkOrderSids"):s(new n(9,"No workorder S/IDs were provided.",{workorderSIds:e})),t.cw.runRequest(o,r).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},t.comment=function(e,t){var i=this;return new Promise(function(s,r){var o={Comments:t};y.isString(e)?y.set(o,"WorkOrderId",e):y.isNumber(e)?y.set(o,"WorkOrderSid",e):r(new n(9,"Workorder S/IDs was not provided.",{workorderSId:e})),i.cw.runRequest("Ams/WorkOrder/AddComments",o).then(function(e){s(e.Value)}).catch(function(e){r(e)})})},t.getEntities=function(e,t){var i=this;return void 0===t&&(t=!0),new Promise(function(s,r){var o={GetGisData:t};0==e.length?r(new n(11,"No workorder S/IDs were provided.",{workorderSId:e})):y.isString(e[0])?y.set(o,"WorkOrderIds",e):y.isNumber(e[0])?y.set(o,"WorkOrderSids",e):r(new n(12,"No workorder S/IDs were provided.",{workorderSId:e})),i.cw.runRequest("Ams/WorkOrder/Entities",o).then(function(e){e.Status>0?r(new n(4,e.Message,{response:e})):s(e.Value)}).catch(function(e){r(e)})})},t.addEntities=function(e,t,i){var s=this;return void 0===i&&(i=!0),new Promise(function(r,o){var u={UpdateXY:i};y.isString(e)?y.set(u,"WorkOrderId",e):y.set(u,"WorkOrderSid",e),y.has(t,"Facility_Id")&&y.set(u,"Facility_Id",y.get(t,"Facility_Id")),y.has(t,"Level_Id")&&y.set(u,"Level_Id",y.get(t,"Level_Id")),y.has(t,"EntityUids")&&y.has(t,"EntityType")?(y.set(u,"EntityUids",y.get(t,"EntityUids")),y.set(u,"EntityType",y.get(t,"EntityType"))):o(new n(7,"No entity info was provided.",{workorderSId:e,entityInfo:t})),s.cw.runRequest("Ams/WorkOrder/AddEntities",u).then(function(e){e.Status>0?o(new n(4,e.Message,{response:e})):r(e.Value)}).catch(function(e){o(e)})})},t.updateEntity=function(e,t,i){var s=this;return void 0===i&&(i=!1),new Promise(function(r,o){var u={WorkComplete:i};y.isString(e)?y.set(u,"WorkOrderId",e):y.set(u,"WorkOrderSid",e),y.has(t,"Facility_Id")&&y.set(u,"Facility_Id",y.get(t,"Facility_Id")),y.has(t,"Level_Id")&&y.set(u,"Level_Id",y.get(t,"Level_Id")),y.has(t,"EntityUids")&&y.has(t,"EntityType")?(y.set(u,"EntityUid",y.get(t,"EntityUid")),y.set(u,"EntityType",y.get(t,"EntityType"))):o(new n(7,"No entity info was provided.",{workorderSId:e,entityInfo:t})),s.cw.runRequest("Ams/WorkOrder/UpdateEntity",u).then(function(e){e.Status>0?o(new n(4,e.Message,{response:e})):r(e.Value)}).catch(function(e){o(e)})})},t.removeEntities=function(e,t,i){var s=this;return void 0===i&&(i=!0),new Promise(function(r,o){var u={UpdateXY:i};y.isString(e)?y.set(u,"WorkOrderId",e):y.set(u,"WorkOrderSid",e),y.has(t,"ObjectIds")?y.set(u,"ObjectIds",y.get(t,"ObjectIds")):y.has(t,"EntityUids")&&y.has(t,"EntityType")?(y.set(u,"EntityUids",y.get(t,"EntityUids")),y.set(u,"EntityType",y.get(t,"EntityType"))):o(new n(8,"No entity info was provided.",{workorderSId:e,entityInfo:t})),s.cw.runRequest("Ams/WorkOrder/RemoveEntities",u).then(function(e){e.Status>0?o(new n(4,e.Message,{response:e})):r(e.Value)}).catch(function(e){o(e)})})},t.cancel=function(e,t,n){var i=this;return new Promise(function(s,r){var o={WorkOrderIds:e};void 0!==t&&y.set(o,"CancelReason",t),void 0!==n&&y.set(o,"DateCancelled",n),i.cw.runRequest("Ams/WorkOrder/Cancel",o).then(function(e){s(e.Value)}).catch(function(e){r(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 r=this;return void 0===s&&(s=!0),new Promise(function(o,u){var c={};void 0!==i&&y.merge(c,i),y.has(c,"EntityType")||y.set(c,"EntityType",e),y.has(c,"EntityUids")||y.set(c,"EntityUids",t);var a="Ams/WorkOrder/SearchForSids";s||(a="Ams/WorkOrder/Search"),r.cw.runRequest(a,c).then(function(e){e.Status>0?u(new n(4,e.Message,{response:e})):o(e.Value)}).catch(function(e){u(e)})})},t.getSearchList=function(e){var t=this;return new Promise(function(i,s){var r={};y.set(r,"WorkOrderId",e),t.cw.runRequest("Ams/WorkOrder/SearchObject",r).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(r,o){var u={IncludeInactiveEmployees:t};void 0!==i&&null!=i&&y.set(u,"DomainIds",i),y.includes(["Supervisors","SubmitTos"],e)?s.cw.runRequest("Ams/WorkOrder/"+e,u).then(function(e){r(e.Value)}).catch(function(e){o(e)}):o(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}();require("lodash");var P=function(e){this.cw=void 0,this.cw=e},R=require("lodash"),C=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,r){var o=R.merge({CaObjectId:e,FeeSetupId:t},n);i.cw.runRequest("Pll/CaseFees/Add",o).then(function(e){s(e.Value)}).catch(function(e){r(e)})})},t.addPayment=function(e,t){var n=this;return new Promise(function(i,s){var r=R.merge({CaObjectId:e},t);n.cw.runRequest("Pll/CasePayment/Add",r).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,r){i.cw.runRequest("Pll/CasePaymentRefund/Add",{CaPaymentId:e,RefundAmount:t,Comments:n}).then(function(e){s(e.Value)}).catch(function(e){r(e)})})},t.addDepositPayment=function(e,t){var n=this;return new Promise(function(i,s){var r=R.merge({CaDepositId:e},t);n.cw.runRequest("Pll/CasePayment/AddDeposit",r).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(r,o){var u={CaObjectId:e,DepositId:t};void 0!==n&&R.set(u,"Amount",n),void 0!==i&&R.set(u,"CommentText",i),s.cw.runRequest("CaseDeposit/Add",u).then(function(e){r(e.Value)}).catch(function(e){o(e)})})},t.addInstrument=function(e,t,n,i,s){var r=this;return new Promise(function(o,u){var c=R.merge({CaObjectId:e,InstTypeId:t,Amount:n,DateExpire:i},s);r.cw.runRequest("Pll/CaseInstrument/Add",c).then(function(e){o(e.Value)}).catch(function(e){u(e)})})},t.updateFee=function(e,t){var n=this;return new Promise(function(i,s){var r=R.merge({CaFeeId:e},t);n.cw.runRequest("Pll/CaseFees/Update",r).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==R.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==R.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==R.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==R.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==R.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==R.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,r,o){var u=this;return new Promise(function(c,a){var d={CaInstrumentId:e,DateReleased:i,ReleasedBy:t};void 0===r&&null==r||void 0===s&&null==s?void 0!==r&&null!=r?R.set(d,"PercentReleased",r):void 0!==s&&null!=s&&R.set(d,"AmountReleased",s):a(new n(2,"Either amountReleased or percentReleased must be specified.")),void 0!==o&&R.set(d,"CommentText",o),u.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 r=e;0==R.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",r).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==R.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 r=R.merge({TenderTypeId:e},t);n.cw.runRequest("Pll/TenderType/Update",r).then(function(e){i(e.Value)}).catch(function(e){s(e)})})},e}();require("lodash");var q=function(e){this.cw=void 0,this.cw=e},T=require("lodash"),S=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 r=T.merge({BusCaseId:e},t);n.cw.runRequest("Pll/BusinessCase/Update",r).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,r){var o=T.merge({CaseType:e,CaseTypeDesciption:t},n);i.cw.runRequest("Pll/CaseType/Add",o).then(function(e){s(e.Value)}).catch(function(e){r(e)})})},t.updateCaseType=function(e,t){var n=this;return new Promise(function(i,s){var r=T.merge({CaseTypeId:e},t);n.cw.runRequest("Pll/CaseType/GetList",r).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==T.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==T.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,r){var o=T.merge({SubType:e,SubTypeDesc:t},n);i.cw.runRequest("Pll/SubType/Add",o).then(function(e){s(e.Value)}).catch(function(e){r(e)})})},t.updateSubtype=function(e,t){var n=this;return new Promise(function(i,s){var r=T.merge({SubTypeId:e},t);n.cw.runRequest("Pll/SubType/Update",r).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.addDepartment=function(e,t,n){var i=this;return new Promise(function(s,r){var o=T.merge({DepartmentCode:e,DepartmentName:t},n);i.cw.runRequest("Pll/Department/Add",o).then(function(e){s(e.Value)}).catch(function(e){r(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.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==T.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)})})},e}(),g=require("lodash"),A=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 P(e),this.workflow=new q(e),this.financial=new C(e),this.admin=new S(e)}var t=e.prototype;return t.create=function(e,t,n){var i=this;return new Promise(function(s,r){var o=g.merge({CaseTypeId:e,SubTypeId:t},n);i.cw.runRequest("Pll/Case/Create",o).then(function(e){s(e.Value)}).catch(function(e){r(e)})})},t.createChild=function(e,t,n){var i=this;return new Promise(function(s,r){var o=g.merge({BusCaseId:e,ParentCaObjectId:t},n);i.cw.runRequest("Pll/Case/CreateChild",o).then(function(e){s(e.Value)}).catch(function(e){r(e)})})},t.createFromRequest=function(e,t,n,i){var s=this;return new Promise(function(r,o){var u=g.merge({CaseTypeId:e,SubTypeId:t,ServiceRequestId:n},i);s.cw.runRequest("Pll/CaseObject/CreateCaseFromServiceRequest",u).then(function(e){r(e.Value)}).catch(function(e){o(e)})})},t.update=function(e,t){var n=this;return new Promise(function(i,s){var r=g.merge({CaObjectId:e},t);n.cw.runRequest("Pll/CaseObject/Update",r).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,r){var o=this;return new Promise(function(u,c){g.has(s,"WKID")||g.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!==r&&g.set(a,"Z",r);var d=g.merge(a,s);o.cw.runRequest("Pll/CaseObject/Move",d).then(function(e){u(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}(),k=require("https"),V=require("querystring"),b=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&&b.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 o(this),this.message_queue=new a(this),this.request=new l(this),this.inspection=new p(this),this.workorder=new I(this),this.case=new A(this);else{var r=this;b.forEach(this.potential_loads,function(e){switch(e){case"general":r.general=new s(r);break;case"activity_link":r.activity_link=new o(r);break;case"message_queue":r.message_queue=new a(r);break;case"gis":r.gis=new u(r);break;case"search":r.search=new d(r);break;case"request":r.request=new l(r);break;case"case":r.case=new A(r);break;case"inspection":r.inspection=new p(r);break;case"workorder":r.workorder=new I(r)}})}},t.runRequest=function(e,t){var i=this;return new Promise(function(s,r){var o={};o.data=JSON.stringify(t),void 0!==i.Token&&""!=i.Token&&"General/Authentication/CityworksOnlineAuthenticate"!=e&&"General/Authentication/Authenticate"!=e&&(o.token=i.Token);var u={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(V.stringify(o))},timeout:1e7},c=k.request(u,function(e){var t="";e.on("error",function(e){console.log(e,"Caught on error"),r(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?r(new n(10,"No response received from Cityworks API.")):void 0!==e&&void 0!==e.Value?s(e):r(new n(3,"Unknown error.",{options:u,postedData:o,api_returned_string:e}))}else r(new n(1,"Error parsing JSON. Cityworks returned HTML.",{response:t}))}catch(e){e instanceof SyntaxError?(console.log("try/catch error on JSON"),r(new n(1,"Error parsing JSON.",{error:e}))):(console.log("try/catch error on JSON"),r(new n(1,"Error parsing JSON.")))}})});c.write(V.stringify(o)),c.end()})},t.authenticate=function(e,t){var i=this;return new Promise(function(s,r){var o="General/Authentication/Authenticate";"cityworksonline"==i.base_url&&(o="General/Authentication/CityworksOnlineAuthenticate"),i.runRequest(o,{LoginName:e,Password:t}).then(function(o){o.Status>0?r(new n(10,o.Message)):void 0!==o.Value&&void 0!==o.Value.Token?(i.login=e,i.password=t,i.Token=o.Value.Token,s(!0)):r(new n(11,"Unknown Error"))}).catch(function(e){r(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 r={Extensions:[]};b.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})):r.Extensions.push(t.extensions[e])}),t.runRequest("General/Authorization/LicensedExtensionsCheck",r).then(function(e){var r={},o=b.invert(t.extensions);b.forEach(e,function(e,i){void 0===o[e]?s(new n(6,"Extension index provided does not exist or isn't configured properly.",{provided_num_returned:e,available:t.extensions})):r[o[e]]=i}),i(r)})})},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 r={Features:[]};b.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})):r.Features.push(t.features[e])}),t.runRequest("General/Authorization/LicensedFeaturesCheck",r).then(function(e){var r={},o=b.invert(t.features);b.forEach(e.Value,function(e,t){void 0===o[e]?s(new n(9,"Feature index provided does not exist or isn't configured properly.",{provided:e,available:o})):r[o[e]]=t}),i(r)})})},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