files.com 1.0.191 → 1.0.194

Sign up to get free protection for your applications and to get access to all the features.
package/_VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.191
1
+ 1.0.194
@@ -178,6 +178,7 @@
178
178
  "dav_permission": true,
179
179
  "disabled": true,
180
180
  "email": "john.doe@files.com",
181
+ "first_login_at": "2000-01-01T01:00:00Z",
181
182
  "ftp_permission": true,
182
183
  "group_ids": "",
183
184
  "header_text": "User-specific message.",
@@ -209,6 +210,7 @@
209
210
  "externally_managed": true,
210
211
  "time_zone": "Pacific Time (US & Canada)",
211
212
  "type_of_2fa": "yubi",
213
+ "updated_at": "2000-01-01T01:00:00Z",
212
214
  "user_root": ""
213
215
  },
214
216
  "user_lockout": true,
@@ -22,6 +22,7 @@
22
22
  "dav_permission": true,
23
23
  "disabled": true,
24
24
  "email": "john.doe@files.com",
25
+ "first_login_at": "2000-01-01T01:00:00Z",
25
26
  "ftp_permission": true,
26
27
  "group_ids": "",
27
28
  "header_text": "User-specific message.",
@@ -53,6 +54,7 @@
53
54
  "externally_managed": true,
54
55
  "time_zone": "Pacific Time (US & Canada)",
55
56
  "type_of_2fa": "yubi",
57
+ "updated_at": "2000-01-01T01:00:00Z",
56
58
  "user_root": ""
57
59
  }
58
60
  ```
@@ -73,6 +75,7 @@
73
75
  * `dav_permission` (boolean): Can the user connect with WebDAV?
74
76
  * `disabled` (boolean): Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting.
75
77
  * `email` (email): User email address
78
+ * `first_login_at` (date-time): User's first login time
76
79
  * `ftp_permission` (boolean): Can the user access with FTP/FTPS?
77
80
  * `group_ids` (string): Comma-separated list of group IDs of which this user is a member
78
81
  * `header_text` (string): Text to display to the user in the header of the UI
@@ -104,6 +107,7 @@
104
107
  * `externally_managed` (boolean): Is this user managed by a SsoStrategy?
105
108
  * `time_zone` (string): User time zone
106
109
  * `type_of_2fa` (string): Type(s) of 2FA methods in use. Will be either `sms`, `totp`, `u2f`, `yubi`, or multiple values sorted alphabetically and joined by an underscore.
110
+ * `updated_at` (date-time): User record last updated at. Note this may be incremented because of internal or external updates.
107
111
  * `user_root` (string): Root folder for FTP (and optionally SFTP if the appropriate site-wide setting is set.) Note that this is not used for API, Desktop, or Web interface.
108
112
  * `avatar_file` (file): An image file for your user avatar.
109
113
  * `avatar_delete` (boolean): If true, the avatar will be deleted.
@@ -414,6 +418,7 @@ await user.update({
414
418
  "dav_permission": true,
415
419
  "disabled": true,
416
420
  "email": "john.doe@files.com",
421
+ "first_login_at": "2000-01-01T01:00:00Z",
417
422
  "ftp_permission": true,
418
423
  "group_ids": "",
419
424
  "header_text": "User-specific message.",
@@ -445,6 +450,7 @@ await user.update({
445
450
  "externally_managed": true,
446
451
  "time_zone": "Pacific Time (US & Canada)",
447
452
  "type_of_2fa": "yubi",
453
+ "updated_at": "2000-01-01T01:00:00Z",
448
454
  "user_root": ""
449
455
  }
450
456
  ```
package/lib/Errors.js CHANGED
@@ -54,7 +54,7 @@ var FilesApiError = /*#__PURE__*/function (_FilesError) {
54
54
  var _this2;
55
55
 
56
56
  (0, _classCallCheck2.default)(this, FilesApiError);
57
- _this2 = _super2.call(this, message, code);
57
+ _this2 = _super2.call(this, message);
58
58
  _this2.name = 'FilesApiError';
59
59
  _this2.code = code;
60
60
  return _this2;
@@ -75,16 +75,17 @@ var toPascalCase = function toPascalCase(string) {
75
75
  };
76
76
 
77
77
  var handleErrorResponse = function handleErrorResponse(error) {
78
- var _errorData;
78
+ var _errorData, _errorData2;
79
79
 
80
80
  var response = error.response;
81
81
  var errorData = response === null || response === void 0 ? void 0 : response.data;
82
- var code = (response === null || response === void 0 ? void 0 : response.status) || ((_errorData = errorData) === null || _errorData === void 0 ? void 0 : _errorData['http-code']) || 0;
82
+ var message = ((_errorData = errorData) === null || _errorData === void 0 ? void 0 : _errorData.error) || (response === null || response === void 0 ? void 0 : response.statusText) || error.message;
83
+ var code = (response === null || response === void 0 ? void 0 : response.status) || ((_errorData2 = errorData) === null || _errorData2 === void 0 ? void 0 : _errorData2['http-code']) || 0;
83
84
 
84
85
  if (!errorData) {
85
- _Logger.default.error('FilesApiError Exception >', code, response.statusText);
86
+ _Logger.default.error('FilesApiError Exception >', code, message);
86
87
 
87
- throw new FilesApiError(error.statusText, code);
88
+ throw new FilesApiError(message, code);
88
89
  }
89
90
 
90
91
  if (Array.isArray(errorData)) {
@@ -92,34 +93,32 @@ var handleErrorResponse = function handleErrorResponse(error) {
92
93
  }
93
94
 
94
95
  if (!errorData.type) {
95
- _Logger.default.error('FilesApiError Exception >', code, response.statusText);
96
+ _Logger.default.error('FilesApiError Exception >', code, message);
96
97
 
97
- throw new FilesApiError(error.statusText, code);
98
+ throw new FilesApiError(message, code);
98
99
  }
99
100
 
100
101
  var parts = errorData.type.split('/');
101
- var errorFamily;
102
- var errorType;
103
102
  var className;
104
103
 
105
104
  if (parts.length > 1) {
106
- var _parts$map = parts.map(toPascalCase);
105
+ var _parts$map = parts.map(toPascalCase),
106
+ _parts$map2 = (0, _slicedToArray2.default)(_parts$map, 2),
107
+ errorFamily = _parts$map2[0],
108
+ errorType = _parts$map2[1];
107
109
 
108
- var _parts$map2 = (0, _slicedToArray2.default)(_parts$map, 2);
109
-
110
- errorFamily = _parts$map2[0];
111
- errorType = _parts$map2[1];
112
110
  className = "".concat(errorFamily, "_").concat(errorType, "Error");
113
111
  } else {
114
- errorFamily = toPascalCase(parts[0]);
115
- className = "".concat(errorType, "Error");
112
+ var _errorType = toPascalCase(parts[0]);
113
+
114
+ className = "".concat(_errorType, "Error");
116
115
  }
117
116
 
118
117
  var ErrorClass = errorClasses[className];
119
118
 
120
- _Logger.default.error("".concat(className, " Exception >"), code, response.statusText);
119
+ _Logger.default.error("".concat(className, " Exception >"), code, message);
121
120
 
122
- throw new ErrorClass(error.statusText, code);
121
+ throw new ErrorClass(message, code);
123
122
  }; // general errors
124
123
 
125
124
 
@@ -142,6 +142,12 @@ var User = /*#__PURE__*/(0, _createClass2.default)(function User() {
142
142
  (0, _defineProperty2.default)(this, "setEmail", function (value) {
143
143
  _this.attributes.email = value;
144
144
  });
145
+ (0, _defineProperty2.default)(this, "getFirstLoginAt", function () {
146
+ return _this.attributes.first_login_at;
147
+ });
148
+ (0, _defineProperty2.default)(this, "setFirstLoginAt", function (value) {
149
+ _this.attributes.first_login_at = value;
150
+ });
145
151
  (0, _defineProperty2.default)(this, "getFtpPermission", function () {
146
152
  return _this.attributes.ftp_permission;
147
153
  });
@@ -328,6 +334,9 @@ var User = /*#__PURE__*/(0, _createClass2.default)(function User() {
328
334
  (0, _defineProperty2.default)(this, "setTypeOf2fa", function (value) {
329
335
  _this.attributes.type_of_2fa = value;
330
336
  });
337
+ (0, _defineProperty2.default)(this, "getUpdatedAt", function () {
338
+ return _this.attributes.updated_at;
339
+ });
331
340
  (0, _defineProperty2.default)(this, "getUserRoot", function () {
332
341
  return _this.attributes.user_root;
333
342
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "files.com",
3
- "version": "1.0.191",
3
+ "version": "1.0.194",
4
4
  "description": "Files.com SDK for JavaScript",
5
5
  "keywords": [
6
6
  "files.com",
package/src/Errors.js CHANGED
@@ -9,7 +9,7 @@ export class FilesError extends Error {
9
9
 
10
10
  export class FilesApiError extends FilesError {
11
11
  constructor(message, code) {
12
- super(message, code)
12
+ super(message)
13
13
  this.name = 'FilesApiError'
14
14
  this.code = code
15
15
  }
@@ -28,11 +28,12 @@ export const handleErrorResponse = error => {
28
28
  const response = error.response
29
29
  let errorData = response?.data
30
30
 
31
+ const message = errorData?.error || response?.statusText || error.message
31
32
  const code = response?.status || errorData?.['http-code'] || 0
32
33
 
33
34
  if (!errorData) {
34
- Logger.error('FilesApiError Exception >', code, response.statusText)
35
- throw new FilesApiError(error.statusText, code)
35
+ Logger.error('FilesApiError Exception >', code, message)
36
+ throw new FilesApiError(message, code)
36
37
  }
37
38
 
38
39
  if (Array.isArray(errorData)) {
@@ -40,28 +41,26 @@ export const handleErrorResponse = error => {
40
41
  }
41
42
 
42
43
  if (!errorData.type) {
43
- Logger.error('FilesApiError Exception >', code, response.statusText)
44
- throw new FilesApiError(error.statusText, code)
44
+ Logger.error('FilesApiError Exception >', code, message)
45
+ throw new FilesApiError(message, code)
45
46
  }
46
47
 
47
48
  const parts = errorData.type.split('/')
48
49
 
49
- let errorFamily
50
- let errorType
51
50
  let className
52
-
51
+
53
52
  if (parts.length > 1) {
54
- [errorFamily, errorType] = parts.map(toPascalCase)
53
+ const [errorFamily, errorType] = parts.map(toPascalCase)
55
54
  className = `${errorFamily}_${errorType}Error`
56
55
  } else {
57
- errorFamily = toPascalCase(parts[0])
56
+ const errorType = toPascalCase(parts[0])
58
57
  className = `${errorType}Error`
59
58
  }
60
59
 
61
60
  const ErrorClass = errorClasses[className]
62
61
 
63
- Logger.error(`${className} Exception >`, code, response.statusText)
64
- throw new ErrorClass(error.statusText, code)
62
+ Logger.error(`${className} Exception >`, code, message)
63
+ throw new ErrorClass(message, code)
65
64
  }
66
65
 
67
66
  // general errors
@@ -131,6 +131,13 @@ class User {
131
131
  this.attributes.email = value
132
132
  }
133
133
 
134
+ // date-time # User's first login time
135
+ getFirstLoginAt = () => this.attributes.first_login_at
136
+
137
+ setFirstLoginAt = value => {
138
+ this.attributes.first_login_at = value
139
+ }
140
+
134
141
  // boolean # Can the user access with FTP/FTPS?
135
142
  getFtpPermission = () => this.attributes.ftp_permission
136
143
 
@@ -348,6 +355,9 @@ class User {
348
355
  this.attributes.type_of_2fa = value
349
356
  }
350
357
 
358
+ // date-time # User record last updated at. Note this may be incremented because of internal or external updates.
359
+ getUpdatedAt = () => this.attributes.updated_at
360
+
351
361
  // string # Root folder for FTP (and optionally SFTP if the appropriate site-wide setting is set.) Note that this is not used for API, Desktop, or Web interface.
352
362
  getUserRoot = () => this.attributes.user_root
353
363