@webex/internal-plugin-flag 3.0.0-beta.13 → 3.0.0-beta.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -21,14 +21,12 @@ npm install --save @webex/internal-plugin-flag
21
21
  ## Usage
22
22
 
23
23
  ```js
24
-
25
24
  import '@webex/internal-plugin-flag';
26
25
 
27
26
  import WebexCore from '@webex/webex-core';
28
27
 
29
28
  const webex = new WebexCore();
30
- webex.internal.flag.WHATEVER
31
-
29
+ webex.internal.flag.WHATEVER;
32
30
  ```
33
31
 
34
32
  ## Maintainers
@@ -1 +1 @@
1
- {"version":3,"names":["flag"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n flag: {\n }\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;eAEe;EACbA,IAAI,EAAE;AADO,C"}
1
+ {"version":3,"names":["flag"],"sources":["config.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n flag: {},\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;eAEe;EACbA,IAAI,EAAE;AADO,C"}
package/dist/flag.js CHANGED
@@ -44,11 +44,11 @@ var Flag = _webexCore.WebexPlugin.extend({
44
44
  namespace: 'Flag',
45
45
 
46
46
  /**
47
- * Archive a flag
48
- * @param {Object} flag
49
- * @param {Object} options
50
- * @returns {Promise<Object>} Resolves with the flag archival
51
- */
47
+ * Archive a flag
48
+ * @param {Object} flag
49
+ * @param {Object} options
50
+ * @returns {Promise<Object>} Resolves with the flag archival
51
+ */
52
52
  archive: function archive(flag, options) {
53
53
  if (!flag.url) {
54
54
  return _promise.default.reject(new Error('`flag.url` is required'));
@@ -69,11 +69,11 @@ var Flag = _webexCore.WebexPlugin.extend({
69
69
  },
70
70
 
71
71
  /**
72
- * Flags an activity
73
- * @param {Object} activity
74
- * @param {Object} options
75
- * @returns {Promise<Object>} Resolves with the flag creation
76
- */
72
+ * Flags an activity
73
+ * @param {Object} activity
74
+ * @param {Object} options
75
+ * @returns {Promise<Object>} Resolves with the flag creation
76
+ */
77
77
  create: function create(activity, options) {
78
78
  if (!activity.url) {
79
79
  return _promise.default.reject(new Error('`activity.url` is required'));
@@ -97,10 +97,10 @@ var Flag = _webexCore.WebexPlugin.extend({
97
97
  },
98
98
 
99
99
  /**
100
- * Gets a list of Flags for a user
101
- * @param {Object} options
102
- * @returns {Promise} Resolves with the fetched flags
103
- */
100
+ * Gets a list of Flags for a user
101
+ * @param {Object} options
102
+ * @returns {Promise} Resolves with the fetched flags
103
+ */
104
104
  list: function list(options) {
105
105
  options = options || {};
106
106
  var params = {
@@ -118,11 +118,11 @@ var Flag = _webexCore.WebexPlugin.extend({
118
118
  },
119
119
 
120
120
  /**
121
- * Gets an array of activities where the status is 200
122
- * @param {Object} flags
123
- * @returns {Promise<Object>} Resolves with the activities
124
- * TODO: this should be implemented as a batched request when migrating to the modular sdk
125
- */
121
+ * Gets an array of activities where the status is 200
122
+ * @param {Object} flags
123
+ * @returns {Promise<Object>} Resolves with the activities
124
+ * TODO: this should be implemented as a batched request when migrating to the modular sdk
125
+ */
126
126
  mapToActivities: function mapToActivities(flags) {
127
127
  var _this = this;
128
128
 
@@ -220,11 +220,11 @@ var Flag = _webexCore.WebexPlugin.extend({
220
220
  },
221
221
 
222
222
  /**
223
- * Delete a flag
224
- * @param {Object} flag
225
- * @param {Object} options
226
- * @returns {Promise<Object>} Resolves with the flag deletion
227
- */
223
+ * Delete a flag
224
+ * @param {Object} flag
225
+ * @param {Object} options
226
+ * @returns {Promise<Object>} Resolves with the flag deletion
227
+ */
228
228
  delete: function _delete(flag, options) {
229
229
  if (!flag.url) {
230
230
  return _promise.default.reject(new Error('`flag.url` is required'));
@@ -242,11 +242,11 @@ var Flag = _webexCore.WebexPlugin.extend({
242
242
  },
243
243
 
244
244
  /**
245
- * UnFlags an activity
246
- * @param {Object} flag
247
- * @param {Object} options
248
- * @returns {Promise<Object>} Resolves with the flag removal
249
- */
245
+ * UnFlags an activity
246
+ * @param {Object} flag
247
+ * @param {Object} options
248
+ * @returns {Promise<Object>} Resolves with the flag removal
249
+ */
250
250
  unflag: function unflag(flag, options) {
251
251
  if (!flag.url) {
252
252
  return _promise.default.reject(new Error('`flag.url` is required'));
@@ -265,7 +265,7 @@ var Flag = _webexCore.WebexPlugin.extend({
265
265
  return res.body;
266
266
  });
267
267
  },
268
- version: "3.0.0-beta.13"
268
+ version: "3.0.0-beta.15"
269
269
  });
270
270
 
271
271
  var _default = Flag;
package/dist/flag.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["Flag","WebexPlugin","extend","namespace","archive","flag","options","url","reject","Error","params","method","uri","body","state","webex","request","then","res","create","activity","service","resource","target","list","qs","items","mapToActivities","flags","mapUrlActivities","convoUrlRegex","match","exec","activities","get","set","push","logger","warn","all","convoUrl","activityUrls","multistatus","reduce","activitiesArr","statusData","status","data","responses","delete","unflag"],"sources":["flag.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport {flatten} from 'lodash';\nimport {WebexPlugin} from '@webex/webex-core';\n\nconst Flag = WebexPlugin.extend({\n namespace: 'Flag',\n\n /**\n * Archive a flag\n * @param {Object} flag\n * @param {Object} options\n * @returns {Promise<Object>} Resolves with the flag archival\n */\n archive(flag, options) {\n if (!flag.url) {\n return Promise.reject(new Error('`flag.url` is required'));\n }\n options = options || {};\n const params = {\n method: 'PUT',\n uri: flag.url,\n options,\n body: {\n state: 'archived'\n }\n };\n\n return this.webex.request(params)\n .then((res) => res.body);\n },\n\n /**\n * Flags an activity\n * @param {Object} activity\n * @param {Object} options\n * @returns {Promise<Object>} Resolves with the flag creation\n */\n create(activity, options) {\n if (!activity.url) {\n return Promise.reject(new Error('`activity.url` is required'));\n }\n options = options || {};\n const params = {\n method: 'POST',\n service: 'userApps',\n resource: '/flags',\n options,\n body: {\n 'conversation-url': activity.target.url,\n 'flag-item': activity.url,\n state: 'flagged'\n }\n };\n\n return this.webex.request(params)\n .then((res) => res.body);\n },\n\n /**\n * Gets a list of Flags for a user\n * @param {Object} options\n * @returns {Promise} Resolves with the fetched flags\n */\n list(options) {\n options = options || {};\n const params = {\n method: 'GET',\n service: 'userApps',\n resource: '/flags',\n options,\n qs: {\n state: 'flagged'\n }\n };\n\n return this.webex.request(params)\n .then((res) => res.body.items);\n },\n\n /**\n * Gets an array of activities where the status is 200\n * @param {Object} flags\n * @returns {Promise<Object>} Resolves with the activities\n * TODO: this should be implemented as a batched request when migrating to the modular sdk\n */\n async mapToActivities(flags) {\n const mapUrlActivities = new Map();\n\n for (const flag of flags) {\n const convoUrlRegex = /(.*)\\/activities\\//;\n const activity = flag['flag-item'];\n const match = convoUrlRegex.exec(activity);\n\n if (match) {\n const url = match[1];\n let activities = mapUrlActivities.get(url);\n\n if (!activities) {\n activities = [];\n mapUrlActivities.set(url, activities);\n }\n activities.push(activity);\n }\n else {\n this.logger.warn(\n `The activity URL has a strange format (${activity}). Ignoring it.`\n );\n }\n }\n\n const responses = await Promise.all(\n Array.from(mapUrlActivities, async ([convoUrl, activityUrls]) => {\n const params = {\n method: 'POST',\n url: `${convoUrl}/bulk_activities_fetch`,\n body: {\n activityUrls\n }\n };\n\n const res = await this.webex.request(params);\n\n return res.body.multistatus.reduce((activitiesArr, statusData) => {\n if (statusData.status === '200') {\n activitiesArr.push(statusData.data.activity);\n }\n\n return activitiesArr;\n }, []);\n })\n );\n\n return flatten(responses);\n },\n\n /**\n * Delete a flag\n * @param {Object} flag\n * @param {Object} options\n * @returns {Promise<Object>} Resolves with the flag deletion\n */\n delete(flag, options) {\n if (!flag.url) {\n return Promise.reject(new Error('`flag.url` is required'));\n }\n options = options || {};\n const params = {\n method: 'DELETE',\n options,\n uri: flag.url\n };\n\n return this.request(params)\n .then((res) => res.body);\n },\n\n /**\n * UnFlags an activity\n * @param {Object} flag\n * @param {Object} options\n * @returns {Promise<Object>} Resolves with the flag removal\n */\n unflag(flag, options) {\n if (!flag.url) {\n return Promise.reject(new Error('`flag.url` is required'));\n }\n options = options || {};\n const params = {\n method: 'PUT',\n uri: flag.url,\n options,\n body: {\n state: 'unflagged'\n }\n };\n\n return this.webex.request(params)\n .then((res) => res.body);\n }\n\n});\n\nexport default Flag;\n"],"mappings":"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"}
1
+ {"version":3,"names":["Flag","WebexPlugin","extend","namespace","archive","flag","options","url","reject","Error","params","method","uri","body","state","webex","request","then","res","create","activity","service","resource","target","list","qs","items","mapToActivities","flags","mapUrlActivities","convoUrlRegex","match","exec","activities","get","set","push","logger","warn","all","convoUrl","activityUrls","multistatus","reduce","activitiesArr","statusData","status","data","responses","delete","unflag"],"sources":["flag.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\nimport {flatten} from 'lodash';\nimport {WebexPlugin} from '@webex/webex-core';\n\nconst Flag = WebexPlugin.extend({\n namespace: 'Flag',\n\n /**\n * Archive a flag\n * @param {Object} flag\n * @param {Object} options\n * @returns {Promise<Object>} Resolves with the flag archival\n */\n archive(flag, options) {\n if (!flag.url) {\n return Promise.reject(new Error('`flag.url` is required'));\n }\n options = options || {};\n const params = {\n method: 'PUT',\n uri: flag.url,\n options,\n body: {\n state: 'archived',\n },\n };\n\n return this.webex.request(params).then((res) => res.body);\n },\n\n /**\n * Flags an activity\n * @param {Object} activity\n * @param {Object} options\n * @returns {Promise<Object>} Resolves with the flag creation\n */\n create(activity, options) {\n if (!activity.url) {\n return Promise.reject(new Error('`activity.url` is required'));\n }\n options = options || {};\n const params = {\n method: 'POST',\n service: 'userApps',\n resource: '/flags',\n options,\n body: {\n 'conversation-url': activity.target.url,\n 'flag-item': activity.url,\n state: 'flagged',\n },\n };\n\n return this.webex.request(params).then((res) => res.body);\n },\n\n /**\n * Gets a list of Flags for a user\n * @param {Object} options\n * @returns {Promise} Resolves with the fetched flags\n */\n list(options) {\n options = options || {};\n const params = {\n method: 'GET',\n service: 'userApps',\n resource: '/flags',\n options,\n qs: {\n state: 'flagged',\n },\n };\n\n return this.webex.request(params).then((res) => res.body.items);\n },\n\n /**\n * Gets an array of activities where the status is 200\n * @param {Object} flags\n * @returns {Promise<Object>} Resolves with the activities\n * TODO: this should be implemented as a batched request when migrating to the modular sdk\n */\n async mapToActivities(flags) {\n const mapUrlActivities = new Map();\n\n for (const flag of flags) {\n const convoUrlRegex = /(.*)\\/activities\\//;\n const activity = flag['flag-item'];\n const match = convoUrlRegex.exec(activity);\n\n if (match) {\n const url = match[1];\n let activities = mapUrlActivities.get(url);\n\n if (!activities) {\n activities = [];\n mapUrlActivities.set(url, activities);\n }\n activities.push(activity);\n } else {\n this.logger.warn(`The activity URL has a strange format (${activity}). Ignoring it.`);\n }\n }\n\n const responses = await Promise.all(\n Array.from(mapUrlActivities, async ([convoUrl, activityUrls]) => {\n const params = {\n method: 'POST',\n url: `${convoUrl}/bulk_activities_fetch`,\n body: {\n activityUrls,\n },\n };\n\n const res = await this.webex.request(params);\n\n return res.body.multistatus.reduce((activitiesArr, statusData) => {\n if (statusData.status === '200') {\n activitiesArr.push(statusData.data.activity);\n }\n\n return activitiesArr;\n }, []);\n })\n );\n\n return flatten(responses);\n },\n\n /**\n * Delete a flag\n * @param {Object} flag\n * @param {Object} options\n * @returns {Promise<Object>} Resolves with the flag deletion\n */\n delete(flag, options) {\n if (!flag.url) {\n return Promise.reject(new Error('`flag.url` is required'));\n }\n options = options || {};\n const params = {\n method: 'DELETE',\n options,\n uri: flag.url,\n };\n\n return this.request(params).then((res) => res.body);\n },\n\n /**\n * UnFlags an activity\n * @param {Object} flag\n * @param {Object} options\n * @returns {Promise<Object>} Resolves with the flag removal\n */\n unflag(flag, options) {\n if (!flag.url) {\n return Promise.reject(new Error('`flag.url` is required'));\n }\n options = options || {};\n const params = {\n method: 'PUT',\n uri: flag.url,\n options,\n body: {\n state: 'unflagged',\n },\n };\n\n return this.webex.request(params).then((res) => res.body);\n },\n});\n\nexport default Flag;\n"],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["registerInternalPlugin","Flag","config","payloadTransformer","predicates","transforms"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {registerInternalPlugin} from '@webex/webex-core';\n\nimport '@webex/internal-plugin-conversation';\nimport '@webex/internal-plugin-device';\nimport Flag from './flag';\nimport config from './config';\n\nregisterInternalPlugin('flag', Flag, {\n config,\n payloadTransformer: {\n predicates: [],\n transforms: []\n }\n});\n\nexport {default} from './flag';\n"],"mappings":";;;;;;;;;;;;;;;;;AAIA;;AAEA;;AACA;;AACA;;AACA;;AATA;AACA;AACA;AASA,IAAAA,iCAAA,EAAuB,MAAvB,EAA+BC,aAA/B,EAAqC;EACnCC,MAAM,EAANA,eADmC;EAEnCC,kBAAkB,EAAE;IAClBC,UAAU,EAAE,EADM;IAElBC,UAAU,EAAE;EAFM;AAFe,CAArC"}
1
+ {"version":3,"names":["registerInternalPlugin","Flag","config","payloadTransformer","predicates","transforms"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {registerInternalPlugin} from '@webex/webex-core';\n\nimport '@webex/internal-plugin-conversation';\nimport '@webex/internal-plugin-device';\nimport Flag from './flag';\nimport config from './config';\n\nregisterInternalPlugin('flag', Flag, {\n config,\n payloadTransformer: {\n predicates: [],\n transforms: [],\n },\n});\n\nexport {default} from './flag';\n"],"mappings":";;;;;;;;;;;;;;;;;AAIA;;AAEA;;AACA;;AACA;;AACA;;AATA;AACA;AACA;AASA,IAAAA,iCAAA,EAAuB,MAAvB,EAA+BC,aAA/B,EAAqC;EACnCC,MAAM,EAANA,eADmC;EAEnCC,kBAAkB,EAAE;IAClBC,UAAU,EAAE,EADM;IAElBC,UAAU,EAAE;EAFM;AAFe,CAArC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/internal-plugin-flag",
3
- "version": "3.0.0-beta.13",
3
+ "version": "3.0.0-beta.15",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "author": "Saurabh Jain <saurjai3@cisco.com>",
@@ -21,13 +21,13 @@
21
21
  ]
22
22
  },
23
23
  "dependencies": {
24
- "@webex/internal-plugin-conversation": "3.0.0-beta.13",
25
- "@webex/internal-plugin-device": "3.0.0-beta.13",
26
- "@webex/internal-plugin-flag": "3.0.0-beta.13",
27
- "@webex/test-helper-chai": "3.0.0-beta.13",
28
- "@webex/test-helper-mock-webex": "3.0.0-beta.13",
29
- "@webex/test-helper-test-users": "3.0.0-beta.13",
30
- "@webex/webex-core": "3.0.0-beta.13",
24
+ "@webex/internal-plugin-conversation": "3.0.0-beta.15",
25
+ "@webex/internal-plugin-device": "3.0.0-beta.15",
26
+ "@webex/internal-plugin-flag": "3.0.0-beta.15",
27
+ "@webex/test-helper-chai": "3.0.0-beta.15",
28
+ "@webex/test-helper-mock-webex": "3.0.0-beta.15",
29
+ "@webex/test-helper-test-users": "3.0.0-beta.15",
30
+ "@webex/webex-core": "3.0.0-beta.15",
31
31
  "lodash": "^4.17.21"
32
32
  }
33
33
  }
package/src/config.js CHANGED
@@ -3,6 +3,5 @@
3
3
  */
4
4
 
5
5
  export default {
6
- flag: {
7
- }
6
+ flag: {},
8
7
  };
package/src/flag.js CHANGED
@@ -8,11 +8,11 @@ const Flag = WebexPlugin.extend({
8
8
  namespace: 'Flag',
9
9
 
10
10
  /**
11
- * Archive a flag
12
- * @param {Object} flag
13
- * @param {Object} options
14
- * @returns {Promise<Object>} Resolves with the flag archival
15
- */
11
+ * Archive a flag
12
+ * @param {Object} flag
13
+ * @param {Object} options
14
+ * @returns {Promise<Object>} Resolves with the flag archival
15
+ */
16
16
  archive(flag, options) {
17
17
  if (!flag.url) {
18
18
  return Promise.reject(new Error('`flag.url` is required'));
@@ -23,20 +23,19 @@ const Flag = WebexPlugin.extend({
23
23
  uri: flag.url,
24
24
  options,
25
25
  body: {
26
- state: 'archived'
27
- }
26
+ state: 'archived',
27
+ },
28
28
  };
29
29
 
30
- return this.webex.request(params)
31
- .then((res) => res.body);
30
+ return this.webex.request(params).then((res) => res.body);
32
31
  },
33
32
 
34
33
  /**
35
- * Flags an activity
36
- * @param {Object} activity
37
- * @param {Object} options
38
- * @returns {Promise<Object>} Resolves with the flag creation
39
- */
34
+ * Flags an activity
35
+ * @param {Object} activity
36
+ * @param {Object} options
37
+ * @returns {Promise<Object>} Resolves with the flag creation
38
+ */
40
39
  create(activity, options) {
41
40
  if (!activity.url) {
42
41
  return Promise.reject(new Error('`activity.url` is required'));
@@ -50,19 +49,18 @@ const Flag = WebexPlugin.extend({
50
49
  body: {
51
50
  'conversation-url': activity.target.url,
52
51
  'flag-item': activity.url,
53
- state: 'flagged'
54
- }
52
+ state: 'flagged',
53
+ },
55
54
  };
56
55
 
57
- return this.webex.request(params)
58
- .then((res) => res.body);
56
+ return this.webex.request(params).then((res) => res.body);
59
57
  },
60
58
 
61
59
  /**
62
- * Gets a list of Flags for a user
63
- * @param {Object} options
64
- * @returns {Promise} Resolves with the fetched flags
65
- */
60
+ * Gets a list of Flags for a user
61
+ * @param {Object} options
62
+ * @returns {Promise} Resolves with the fetched flags
63
+ */
66
64
  list(options) {
67
65
  options = options || {};
68
66
  const params = {
@@ -71,20 +69,19 @@ const Flag = WebexPlugin.extend({
71
69
  resource: '/flags',
72
70
  options,
73
71
  qs: {
74
- state: 'flagged'
75
- }
72
+ state: 'flagged',
73
+ },
76
74
  };
77
75
 
78
- return this.webex.request(params)
79
- .then((res) => res.body.items);
76
+ return this.webex.request(params).then((res) => res.body.items);
80
77
  },
81
78
 
82
79
  /**
83
- * Gets an array of activities where the status is 200
84
- * @param {Object} flags
85
- * @returns {Promise<Object>} Resolves with the activities
86
- * TODO: this should be implemented as a batched request when migrating to the modular sdk
87
- */
80
+ * Gets an array of activities where the status is 200
81
+ * @param {Object} flags
82
+ * @returns {Promise<Object>} Resolves with the activities
83
+ * TODO: this should be implemented as a batched request when migrating to the modular sdk
84
+ */
88
85
  async mapToActivities(flags) {
89
86
  const mapUrlActivities = new Map();
90
87
 
@@ -102,11 +99,8 @@ const Flag = WebexPlugin.extend({
102
99
  mapUrlActivities.set(url, activities);
103
100
  }
104
101
  activities.push(activity);
105
- }
106
- else {
107
- this.logger.warn(
108
- `The activity URL has a strange format (${activity}). Ignoring it.`
109
- );
102
+ } else {
103
+ this.logger.warn(`The activity URL has a strange format (${activity}). Ignoring it.`);
110
104
  }
111
105
  }
112
106
 
@@ -116,8 +110,8 @@ const Flag = WebexPlugin.extend({
116
110
  method: 'POST',
117
111
  url: `${convoUrl}/bulk_activities_fetch`,
118
112
  body: {
119
- activityUrls
120
- }
113
+ activityUrls,
114
+ },
121
115
  };
122
116
 
123
117
  const res = await this.webex.request(params);
@@ -136,11 +130,11 @@ const Flag = WebexPlugin.extend({
136
130
  },
137
131
 
138
132
  /**
139
- * Delete a flag
140
- * @param {Object} flag
141
- * @param {Object} options
142
- * @returns {Promise<Object>} Resolves with the flag deletion
143
- */
133
+ * Delete a flag
134
+ * @param {Object} flag
135
+ * @param {Object} options
136
+ * @returns {Promise<Object>} Resolves with the flag deletion
137
+ */
144
138
  delete(flag, options) {
145
139
  if (!flag.url) {
146
140
  return Promise.reject(new Error('`flag.url` is required'));
@@ -149,19 +143,18 @@ const Flag = WebexPlugin.extend({
149
143
  const params = {
150
144
  method: 'DELETE',
151
145
  options,
152
- uri: flag.url
146
+ uri: flag.url,
153
147
  };
154
148
 
155
- return this.request(params)
156
- .then((res) => res.body);
149
+ return this.request(params).then((res) => res.body);
157
150
  },
158
151
 
159
152
  /**
160
- * UnFlags an activity
161
- * @param {Object} flag
162
- * @param {Object} options
163
- * @returns {Promise<Object>} Resolves with the flag removal
164
- */
153
+ * UnFlags an activity
154
+ * @param {Object} flag
155
+ * @param {Object} options
156
+ * @returns {Promise<Object>} Resolves with the flag removal
157
+ */
165
158
  unflag(flag, options) {
166
159
  if (!flag.url) {
167
160
  return Promise.reject(new Error('`flag.url` is required'));
@@ -172,14 +165,12 @@ const Flag = WebexPlugin.extend({
172
165
  uri: flag.url,
173
166
  options,
174
167
  body: {
175
- state: 'unflagged'
176
- }
168
+ state: 'unflagged',
169
+ },
177
170
  };
178
171
 
179
- return this.webex.request(params)
180
- .then((res) => res.body);
181
- }
182
-
172
+ return this.webex.request(params).then((res) => res.body);
173
+ },
183
174
  });
184
175
 
185
176
  export default Flag;
package/src/index.js CHANGED
@@ -13,8 +13,8 @@ registerInternalPlugin('flag', Flag, {
13
13
  config,
14
14
  payloadTransformer: {
15
15
  predicates: [],
16
- transforms: []
17
- }
16
+ transforms: [],
17
+ },
18
18
  });
19
19
 
20
20
  export {default} from './flag';
@@ -15,91 +15,109 @@ describe('plugin-flag', function () {
15
15
  describe('Flag', () => {
16
16
  let flagConversation, mccoy, participants, spock;
17
17
 
18
- beforeEach('create users', () => testUsers.create({count: 2})
19
- .then((users) => {
18
+ beforeEach('create users', () =>
19
+ testUsers.create({count: 2}).then((users) => {
20
20
  participants = [mccoy, spock] = users;
21
21
  spock.webex = new WebexCore({
22
22
  credentials: {
23
- authorization: users[0].token
24
- }
23
+ authorization: users[0].token,
24
+ },
25
25
  });
26
26
  mccoy.webex = new WebexCore({
27
27
  credentials: {
28
- authorization: users[1].token
29
- }
28
+ authorization: users[1].token,
29
+ },
30
30
  });
31
- }));
31
+ })
32
+ );
32
33
 
33
34
  beforeEach('connect spock to mercury', () => spock.webex.internal.mercury.connect());
34
35
  beforeEach('connect mccoy to mercury', () => mccoy.webex.internal.mercury.connect());
35
36
 
36
- afterEach(() => Promise.all([
37
- spock && spock.webex.internal.mercury.disconnect(),
38
- mccoy && mccoy.webex.internal.mercury.disconnect()
39
- ]));
40
-
41
- beforeEach('populate data', () => spock.webex.internal.conversation.create({
42
- displayName: 'Test Flagging Room',
43
- participants
44
- })
45
- .then((c) => {
46
- flagConversation = c;
47
-
48
- return mccoy.webex.internal.conversation.post(flagConversation, {
49
- displayName: 'Hi Dear, How are you?'
50
- });
51
- })
52
- .then(() => spock.webex.internal.conversation.post(flagConversation, {
53
- displayName: 'Hey! I am doing well. How are you?'
54
- }))
55
- .then(() => mccoy.webex.internal.conversation.post(flagConversation, {
56
- displayName: 'I am also doing well. Are you in for the party?'
57
- }))
58
- .then(() => spock.webex.internal.conversation.post(flagConversation, {
59
- displayName: 'Yes, I am in.'
60
- }))
61
- .then(() => {
62
- assert.isDefined(flagConversation);
63
- const params = {
64
- activitiesLimit: 30
65
- };
66
-
67
- return spock.webex.internal.conversation.get(flagConversation, params);
68
- })
69
- .then((conversation) => {
70
- // Removes the "create" activity.
71
- conversation.activities.items.shift();
72
- const comments = map(conversation.activities.items, 'object.displayName');
73
-
74
- assert.lengthOf(comments, 4);
75
- assert.equal(comments[0], 'Hi Dear, How are you?');
76
- assert.equal(comments[1], 'Hey! I am doing well. How are you?');
77
- assert.equal(comments[2], 'I am also doing well. Are you in for the party?');
78
- assert.equal(comments[3], 'Yes, I am in.');
79
- flagConversation = conversation;
80
- }));
81
-
82
-
83
- afterEach(() => spock.webex.internal.flag.list()
84
- .then((flags) => Promise.all(flags.map((flag) => spock.webex.internal.flag.delete(flag)
85
- .catch((reason) => console.warn(reason))))));
37
+ afterEach(() =>
38
+ Promise.all([
39
+ spock && spock.webex.internal.mercury.disconnect(),
40
+ mccoy && mccoy.webex.internal.mercury.disconnect(),
41
+ ])
42
+ );
43
+
44
+ beforeEach('populate data', () =>
45
+ spock.webex.internal.conversation
46
+ .create({
47
+ displayName: 'Test Flagging Room',
48
+ participants,
49
+ })
50
+ .then((c) => {
51
+ flagConversation = c;
52
+
53
+ return mccoy.webex.internal.conversation.post(flagConversation, {
54
+ displayName: 'Hi Dear, How are you?',
55
+ });
56
+ })
57
+ .then(() =>
58
+ spock.webex.internal.conversation.post(flagConversation, {
59
+ displayName: 'Hey! I am doing well. How are you?',
60
+ })
61
+ )
62
+ .then(() =>
63
+ mccoy.webex.internal.conversation.post(flagConversation, {
64
+ displayName: 'I am also doing well. Are you in for the party?',
65
+ })
66
+ )
67
+ .then(() =>
68
+ spock.webex.internal.conversation.post(flagConversation, {
69
+ displayName: 'Yes, I am in.',
70
+ })
71
+ )
72
+ .then(() => {
73
+ assert.isDefined(flagConversation);
74
+ const params = {
75
+ activitiesLimit: 30,
76
+ };
77
+
78
+ return spock.webex.internal.conversation.get(flagConversation, params);
79
+ })
80
+ .then((conversation) => {
81
+ // Removes the "create" activity.
82
+ conversation.activities.items.shift();
83
+ const comments = map(conversation.activities.items, 'object.displayName');
84
+
85
+ assert.lengthOf(comments, 4);
86
+ assert.equal(comments[0], 'Hi Dear, How are you?');
87
+ assert.equal(comments[1], 'Hey! I am doing well. How are you?');
88
+ assert.equal(comments[2], 'I am also doing well. Are you in for the party?');
89
+ assert.equal(comments[3], 'Yes, I am in.');
90
+ flagConversation = conversation;
91
+ })
92
+ );
93
+
94
+ afterEach(() =>
95
+ spock.webex.internal.flag
96
+ .list()
97
+ .then((flags) =>
98
+ Promise.all(
99
+ flags.map((flag) =>
100
+ spock.webex.internal.flag.delete(flag).catch((reason) => console.warn(reason))
101
+ )
102
+ )
103
+ )
104
+ );
86
105
 
87
106
  describe('#create()', () => {
88
107
  it('flags the activity', () => {
89
108
  const flaggedActivity1 = flagConversation.activities.items[1];
90
109
 
91
- return spock.webex.internal.flag.create(flaggedActivity1)
92
- .then((flagResponse1) => {
93
- assert.equal(flagResponse1.state, 'flagged');
94
- assert.equal(flagResponse1['flag-item'], flaggedActivity1.url);
95
- assert.equal(flagResponse1['conversation-url'], flaggedActivity1.target.url);
96
- });
110
+ return spock.webex.internal.flag.create(flaggedActivity1).then((flagResponse1) => {
111
+ assert.equal(flagResponse1.state, 'flagged');
112
+ assert.equal(flagResponse1['flag-item'], flaggedActivity1.url);
113
+ assert.equal(flagResponse1['conversation-url'], flaggedActivity1.target.url);
114
+ });
97
115
  });
98
116
  });
99
117
 
100
118
  describe('#list()', () => {
101
- it('fetches the flag list', () => spock.webex.internal.flag.list()
102
- .then((flagList) => {
119
+ it('fetches the flag list', () =>
120
+ spock.webex.internal.flag.list().then((flagList) => {
103
121
  assert.isArray(flagList);
104
122
  assert.lengthOf(flagList, 0);
105
123
  }));
@@ -109,21 +127,19 @@ describe('plugin-flag', function () {
109
127
  it('maps flags to activity', () => {
110
128
  const flaggedActivity1 = flagConversation.activities.items[1];
111
129
 
112
- return spock.webex.internal.flag.create(flaggedActivity1)
113
- .then((flagResponse1) => {
114
- assert.equal(flagResponse1.state, 'flagged');
115
- const flags = [];
130
+ return spock.webex.internal.flag.create(flaggedActivity1).then((flagResponse1) => {
131
+ assert.equal(flagResponse1.state, 'flagged');
132
+ const flags = [];
116
133
 
117
- flags.push(flagResponse1);
134
+ flags.push(flagResponse1);
118
135
 
119
- return spock.webex.internal.flag.mapToActivities(flags)
120
- .then((activities) => {
121
- const activity = activities[0];
136
+ return spock.webex.internal.flag.mapToActivities(flags).then((activities) => {
137
+ const activity = activities[0];
122
138
 
123
- assert.equal(activity.object.displayName, 'Hey! I am doing well. How are you?');
124
- assert.isDefined(find(activities, {url: flagResponse1['flag-item']}));
125
- });
139
+ assert.equal(activity.object.displayName, 'Hey! I am doing well. How are you?');
140
+ assert.isDefined(find(activities, {url: flagResponse1['flag-item']}));
126
141
  });
142
+ });
127
143
  });
128
144
  });
129
145
 
@@ -131,7 +147,8 @@ describe('plugin-flag', function () {
131
147
  it('removes the flag from activity', () => {
132
148
  const flaggedActivity1 = flagConversation.activities.items[1];
133
149
 
134
- return spock.webex.internal.flag.create(flaggedActivity1)
150
+ return spock.webex.internal.flag
151
+ .create(flaggedActivity1)
135
152
  .then((flagResponse1) => {
136
153
  assert.equal(flagResponse1.state, 'flagged');
137
154
 
@@ -149,7 +166,8 @@ describe('plugin-flag', function () {
149
166
  it('archives the flag for an activity', () => {
150
167
  const flaggedActivity1 = flagConversation.activities.items[1];
151
168
 
152
- return spock.webex.internal.flag.create(flaggedActivity1)
169
+ return spock.webex.internal.flag
170
+ .create(flaggedActivity1)
153
171
  .then((flagResponse1) => {
154
172
  assert.equal(flagResponse1.state, 'flagged');
155
173
 
@@ -163,7 +181,8 @@ describe('plugin-flag', function () {
163
181
  it('unflag the flag for an activity', () => {
164
182
  const flaggedActivity1 = flagConversation.activities.items[1];
165
183
 
166
- return spock.webex.internal.flag.create(flaggedActivity1)
184
+ return spock.webex.internal.flag
185
+ .create(flaggedActivity1)
167
186
  .then((flagResponse1) => {
168
187
  assert.equal(flagResponse1.state, 'flagged');
169
188
 
@@ -13,25 +13,29 @@ describe('plugin-flag', () => {
13
13
  beforeEach(() => {
14
14
  webex = new MockWebex({
15
15
  children: {
16
- flag: Flag
17
- }
16
+ flag: Flag,
17
+ },
18
18
  });
19
19
  });
20
20
 
21
21
  describe('#flag()', () => {
22
- it('requires an activity URL', () => assert.isRejected(webex.internal.flag.create({}, {}), /`activity.url` is required/));
22
+ it('requires an activity URL', () =>
23
+ assert.isRejected(webex.internal.flag.create({}, {}), /`activity.url` is required/));
23
24
  });
24
25
 
25
26
  describe('#unflag()', () => {
26
- it('requires a Flag Id', () => assert.isRejected(webex.internal.flag.unflag({}, {}), /`flag.url` is required/));
27
+ it('requires a Flag Id', () =>
28
+ assert.isRejected(webex.internal.flag.unflag({}, {}), /`flag.url` is required/));
27
29
  });
28
30
 
29
31
  describe('#archive()', () => {
30
- it('requires a Flag Id', () => assert.isRejected(webex.internal.flag.archive({}, {}), /`flag.url` is required/));
32
+ it('requires a Flag Id', () =>
33
+ assert.isRejected(webex.internal.flag.archive({}, {}), /`flag.url` is required/));
31
34
  });
32
35
 
33
36
  describe('#remove()', () => {
34
- it('requires a Flag Id', () => assert.isRejected(webex.internal.flag.delete({}, {}), /`flag.url` is required/));
37
+ it('requires a Flag Id', () =>
38
+ assert.isRejected(webex.internal.flag.delete({}, {}), /`flag.url` is required/));
35
39
  });
36
40
  });
37
41
  });