lws 0.4.2 → 6.1.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.rdoc +4 -2
- data/bin/lwsconsole +32 -35
- data/lib/lws/auth.rb +425 -152
- data/lib/lws/corporate_website.rb +186 -68
- data/lib/lws/digital_signage.rb +1796 -0
- data/lib/lws/generic.rb +46 -50
- data/lib/lws/maps.rb +84 -38
- data/lib/lws/presence.rb +93 -73
- data/lib/lws/stubbing.rb +2 -2
- data/lib/lws/ticket.rb +230 -177
- data/lib/lws/version.rb +2 -2
- data/lib/lws.rb +66 -25
- data/lws.gemspec +3 -2
- data/test/api_token_middleware_test.rb +4 -4
- data/test/auth_test.rb +95 -8
- data/test/corporate_website_test.rb +44 -2
- data/test/digital_signage_test.rb +829 -0
- data/test/fixtures/auth.yml +4 -1
- data/test/fixtures/permissions.yml +0 -4
- data/test/generic_test.rb +0 -17
- data/test/json_parser_test.rb +57 -0
- data/test/logger_test.rb +2 -1
- data/test/maps_test.rb +22 -1
- data/test/presence_test.rb +18 -18
- data/test/setup_test.rb +5 -0
- data/test/stubbing_test.rb +4 -2
- data/test/test_helper.rb +3 -2
- data/test/ticket_test.rb +59 -44
- metadata +43 -24
data/lib/lws/auth.rb
CHANGED
@@ -20,11 +20,12 @@ module LWS::Auth
|
|
20
20
|
end
|
21
21
|
# :nocov:
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
ENDPOINT[LWS.config.environment])
|
23
|
+
# @!visibility private
|
24
|
+
class << self
|
25
|
+
attr_accessor :api
|
27
26
|
end
|
27
|
+
@api = LWS.setup_api(LWS.config.endpoints[:auth] ||
|
28
|
+
ENDPOINT[LWS.config.environment])
|
28
29
|
|
29
30
|
### Generic classes
|
30
31
|
|
@@ -33,138 +34,263 @@ module LWS::Auth
|
|
33
34
|
use_api LWS::Auth.api
|
34
35
|
end
|
35
36
|
|
36
|
-
# (see Generic::Task)
|
37
|
-
class Task < LWS::Generic::Task
|
38
|
-
use_api LWS::Auth.api
|
39
|
-
end
|
40
|
-
|
41
37
|
### App specific classes
|
42
38
|
|
43
39
|
# = The account class
|
44
40
|
class Account < LWS::Generic::Model
|
45
41
|
use_api LWS::Auth.api
|
46
42
|
|
47
|
-
|
48
|
-
#
|
43
|
+
# @!attribute id [r]
|
44
|
+
# @return [Fixnum] the (unique) ID of the account
|
45
|
+
attribute :id
|
49
46
|
|
50
|
-
|
51
|
-
#
|
47
|
+
# @!attribute avatar_url
|
48
|
+
# @return [String] the avatar URL of the account
|
49
|
+
attribute :avatar_url
|
52
50
|
|
53
|
-
|
54
|
-
#
|
51
|
+
# @!attribute apps
|
52
|
+
# @return [Array<App>] the apps that are assigned to the account
|
55
53
|
has_many :apps
|
56
54
|
|
57
|
-
|
58
|
-
#
|
55
|
+
# @!attribute company
|
56
|
+
# @return [Company] the company that the account belongs to
|
57
|
+
belongs_to :company
|
58
|
+
|
59
|
+
# @!attribute company_id
|
60
|
+
# @return [Fixnum] the ID of the company that the account belongs to
|
61
|
+
attribute :company_id
|
62
|
+
|
63
|
+
# @!attribute devices
|
64
|
+
# @return [Array<Device>] the devices that are assigned to the account
|
59
65
|
has_many :devices
|
60
66
|
|
61
|
-
|
62
|
-
#
|
63
|
-
|
67
|
+
# @!attribute language
|
68
|
+
# @return [String] the language of the account
|
69
|
+
# (at least 2 characters long)
|
70
|
+
attribute :language
|
64
71
|
|
65
|
-
|
66
|
-
#
|
67
|
-
|
72
|
+
# @!attribute name
|
73
|
+
# @return [String] the name of the account
|
74
|
+
# (at least 8 characters long)
|
75
|
+
attribute :name
|
68
76
|
|
69
|
-
|
70
|
-
#
|
77
|
+
# @!attribute start_app
|
78
|
+
# @return [App, nil] the app to start with/open when logging in
|
79
|
+
belongs_to :start_app, class_name: "LWS::Auth::App"
|
71
80
|
|
72
|
-
|
73
|
-
#
|
81
|
+
# @!attribute start_app_id
|
82
|
+
# @return [Fixnum, nil] the ID of the app to start with/open when logging in
|
83
|
+
attribute :start_app_id
|
74
84
|
|
75
|
-
|
76
|
-
#
|
85
|
+
# @!attribute users
|
86
|
+
# @return [Array<User>] the users that are assigned to the account
|
87
|
+
has_many :users
|
77
88
|
|
78
|
-
|
79
|
-
#
|
89
|
+
# @!attribute created_at [r]
|
90
|
+
# @return [String] the timestamp of when the account was created
|
91
|
+
attribute :created_at
|
80
92
|
|
81
|
-
|
82
|
-
#
|
93
|
+
# @!attribute updated_at [r]
|
94
|
+
# @return [String] the timestamp of when the account was last updated
|
95
|
+
attribute :updated_at
|
83
96
|
end
|
84
97
|
|
85
98
|
# = The app class
|
86
99
|
class App < LWS::Generic::Model
|
87
100
|
use_api LWS::Auth.api
|
88
101
|
|
89
|
-
|
90
|
-
#
|
102
|
+
# @!attribute id [r]
|
103
|
+
# @return [Fixnum] the (unique) ID of the account
|
104
|
+
attribute :id
|
105
|
+
|
106
|
+
# @!attribute accounts
|
107
|
+
# @return [Array<Account>] the accounts using the app
|
108
|
+
has_many :accounts
|
109
|
+
|
110
|
+
# @!attribute app_key
|
111
|
+
# @return [String] the (unique) internal key used for the app
|
112
|
+
attribute :app_key
|
91
113
|
|
92
|
-
|
93
|
-
#
|
114
|
+
# @!attribute autoassign
|
115
|
+
# @return [Boolean] whether the app is automatically assigned to
|
116
|
+
# a newly created account and/or company
|
117
|
+
attribute :autoassign
|
94
118
|
|
95
|
-
|
96
|
-
#
|
119
|
+
# @!attribute companies
|
120
|
+
# @return [Array<Company>] the companies using the app
|
121
|
+
has_many :companies
|
97
122
|
|
98
|
-
|
99
|
-
#
|
123
|
+
# @!attribute icon
|
124
|
+
# @return [String] the icon ID/name of the app
|
125
|
+
attribute :icon
|
100
126
|
|
101
|
-
|
102
|
-
#
|
127
|
+
# @!attribute licenses
|
128
|
+
# @return [Array<License>] the licenses that provide access to the app
|
129
|
+
has_many :licenses
|
103
130
|
|
104
|
-
|
105
|
-
#
|
131
|
+
# @!attribute order_priority
|
132
|
+
# @return [Fixnum, nil] the order priority of the app with respect to the
|
133
|
+
# other apps
|
134
|
+
attribute :order_priority
|
106
135
|
|
107
|
-
|
108
|
-
#
|
136
|
+
# @!attribute name
|
137
|
+
# @return [String] the name of the app
|
138
|
+
attribute :name
|
109
139
|
|
110
|
-
|
111
|
-
#
|
140
|
+
# @!attribute secret
|
141
|
+
# @return [String] the shared secred used for logging in to the app
|
142
|
+
attribute :secret
|
112
143
|
|
113
|
-
|
144
|
+
# @!attribute url
|
145
|
+
# @return [String] the web location (URL) of the app
|
146
|
+
attribute :url
|
147
|
+
|
148
|
+
# @!attribute created_at [r]
|
149
|
+
# @return [String] the timestamp of when the app was created
|
150
|
+
attribute :created_at
|
151
|
+
|
152
|
+
# @!attribute updated_at [r]
|
153
|
+
# @return [String] the timestamp of when the app was last updated
|
154
|
+
attribute :updated_at
|
114
155
|
end
|
115
156
|
|
116
157
|
# = The company class
|
117
158
|
class Company < LWS::Generic::Model
|
118
159
|
use_api LWS::Auth.api
|
119
160
|
|
120
|
-
|
121
|
-
#
|
122
|
-
|
123
|
-
#@!attribute apps
|
124
|
-
# @return [Array<App>] the apps that are assigned to the company
|
125
|
-
has_many :apps
|
161
|
+
# @!attribute id [r]
|
162
|
+
# @return [Fixnum] the (unique) ID of the company
|
163
|
+
attribute :id
|
126
164
|
|
127
|
-
|
128
|
-
#
|
165
|
+
# @!attribute accounts
|
166
|
+
# @return [Array<Account>] the accounts that are assigned to the company
|
129
167
|
has_many :accounts
|
130
168
|
|
131
|
-
|
132
|
-
#
|
133
|
-
|
134
|
-
#@!attribute city
|
135
|
-
# @return [String] the city of the company
|
169
|
+
# @!attribute activated
|
170
|
+
# @return [Boolean] whether the company has been activated
|
171
|
+
attribute :activated
|
136
172
|
|
137
|
-
|
138
|
-
#
|
139
|
-
|
173
|
+
# @!attribute apps
|
174
|
+
# @return [Array<App>] the apps that are assigned to the company
|
175
|
+
has_many :apps
|
140
176
|
|
141
|
-
|
142
|
-
#
|
177
|
+
# @!attribute address
|
178
|
+
# @return [String] the address of the company
|
179
|
+
# (at least 2 characters long)
|
180
|
+
attribute :address
|
181
|
+
|
182
|
+
# @!attribute city
|
183
|
+
# @return [String] the city of the company
|
184
|
+
# (at least 2 characters long)
|
185
|
+
attribute :city
|
186
|
+
|
187
|
+
# @!attribute contact_person
|
188
|
+
# @return [Account] the contact person of the company
|
189
|
+
belongs_to :contact_person, class_name: "LWS::Auth::Account",
|
190
|
+
foreign_key: :contact_person_id,
|
191
|
+
uri: "accounts/:id"
|
192
|
+
|
193
|
+
# @!attribute contact_person_id
|
194
|
+
# @return [Fixnum] the ID of the contact person of the company
|
195
|
+
attribute :contact_person_id
|
196
|
+
|
197
|
+
# @!attribute contracts
|
198
|
+
# @return [Array<Contract>] the contracts of the company
|
199
|
+
has_many :contracts
|
200
|
+
|
201
|
+
# @!attribute country
|
202
|
+
# @return [String] the country of the company
|
203
|
+
# (at least 2 characters long)
|
204
|
+
attribute :country
|
205
|
+
|
206
|
+
# @!attribute expire
|
207
|
+
# @return [Boolean] whether the company is planned to be discontinued
|
208
|
+
# after the contract ends
|
209
|
+
attribute :expire
|
210
|
+
|
211
|
+
# @!attribute licenses
|
212
|
+
# @return [Array<License>] the licenses of the company
|
213
|
+
has_many :licenses
|
214
|
+
|
215
|
+
# @!attribute name
|
216
|
+
# @return [String] the name of the company
|
217
|
+
# (at least 2 characters long)
|
218
|
+
attribute :name
|
219
|
+
|
220
|
+
# @!attribute number
|
221
|
+
# @return [String] the street address number of the company
|
222
|
+
# (at least 1 character long)
|
223
|
+
attribute :number
|
224
|
+
|
225
|
+
# @!attribute parent
|
226
|
+
# @return [Company, nil] the parenty company
|
227
|
+
belongs_to :parent, class_name: "LWS::Auth::Company",
|
228
|
+
foreign_key: :parent_id,
|
229
|
+
uri: "companies/:id"
|
230
|
+
|
231
|
+
# @!attribute parent_id
|
232
|
+
# @return [Fixnum, nil] the ID of the parenty company
|
233
|
+
attribute :parent_id
|
234
|
+
|
235
|
+
# @!attribute telephone_number
|
236
|
+
# @return [String] the telephone number of the company
|
237
|
+
# (at least 2 characters long)
|
238
|
+
attribute :telephone_number
|
239
|
+
|
240
|
+
# @!attribute usage_reports
|
241
|
+
# @return [Array<UsageReport>] the usage reports available/generated
|
242
|
+
# for the company
|
243
|
+
has_many :usage_reports, uri: "company/:company_id/reports"
|
244
|
+
|
245
|
+
# @!attribute uuid
|
246
|
+
# @return [String] the UUID of the company
|
247
|
+
attribute :uuid
|
248
|
+
|
249
|
+
# @!attribute zip_code
|
250
|
+
# @return [String] the zip code of the company
|
251
|
+
# (at least 2 characters long)
|
252
|
+
attribute :zip_code
|
253
|
+
|
254
|
+
# @!attribute created_at [r]
|
255
|
+
# @return [String] the timestamp of when the company was created
|
256
|
+
attribute :created_at
|
257
|
+
|
258
|
+
# @!attribute updated_at [r]
|
259
|
+
# @return [String] the timestamp of when the company was last updated
|
260
|
+
attribute :updated_at
|
261
|
+
end
|
143
262
|
|
144
|
-
|
145
|
-
|
263
|
+
# = The contract class
|
264
|
+
class Contract < LWS::Generic::Model
|
265
|
+
use_api LWS::Auth.api
|
146
266
|
|
147
|
-
|
148
|
-
#
|
267
|
+
# @!attribute id [r]
|
268
|
+
# @return [Fixnum] the (unique) ID of the contract
|
269
|
+
attribute :id
|
149
270
|
|
150
|
-
|
151
|
-
#
|
271
|
+
# @!attribute company
|
272
|
+
# @return [Company] the company that has the contract
|
273
|
+
belongs_to :company
|
152
274
|
|
153
|
-
|
154
|
-
#
|
155
|
-
|
275
|
+
# @!attribute company_id
|
276
|
+
# @return [Fixnum] the ID of the company that has the contract
|
277
|
+
attribute :company_id
|
156
278
|
|
157
|
-
|
158
|
-
#
|
279
|
+
# @!attribute end_date
|
280
|
+
# @return [String] the end date of the contract (date/time string)
|
281
|
+
attribute :end_date
|
159
282
|
|
160
|
-
|
161
|
-
#
|
283
|
+
# @!attribute start_date
|
284
|
+
# @return [String] the start date of the contract (date/time string)
|
285
|
+
attribute :start_date
|
162
286
|
|
163
|
-
|
164
|
-
#
|
287
|
+
# @!attribute created_at [r]
|
288
|
+
# @return [String] the timestamp of when the contract was created
|
289
|
+
attribute :created_at
|
165
290
|
|
166
|
-
|
167
|
-
#
|
291
|
+
# @!attribute updated_at [r]
|
292
|
+
# @return [String] the timestamp of when the contract was last updated
|
293
|
+
attribute :updated_at
|
168
294
|
end
|
169
295
|
|
170
296
|
# = The device class
|
@@ -174,80 +300,195 @@ module LWS::Auth
|
|
174
300
|
class Device < LWS::Generic::Model
|
175
301
|
use_api LWS::Auth.api
|
176
302
|
|
177
|
-
|
178
|
-
#
|
303
|
+
# @!attribute id [r]
|
304
|
+
# @return [Fixnum] the (unique) ID of the device
|
305
|
+
attribute :id
|
179
306
|
|
180
|
-
|
181
|
-
#
|
182
|
-
|
183
|
-
#@!attribute account
|
184
|
-
# @return [Account] the account that the device belongs to
|
307
|
+
# @!attribute account
|
308
|
+
# @return [Account] the account that the device belongs to
|
185
309
|
belongs_to :account
|
186
310
|
|
187
|
-
|
188
|
-
#
|
311
|
+
# @!attribute account_id
|
312
|
+
# @return [Fixnum] the ID of the account that the device belongs to
|
313
|
+
attribute :account_id
|
314
|
+
|
315
|
+
# @!attribute name
|
316
|
+
# @return [String] the name of the device
|
317
|
+
attribute :name
|
318
|
+
|
319
|
+
# @!attribute tokens
|
320
|
+
# @return [Array<Token>] the tokens available for the device
|
321
|
+
attribute :tokens
|
322
|
+
|
323
|
+
# @!attribute created_at [r]
|
324
|
+
# @return [String] the timestamp of when the device was created
|
325
|
+
attribute :created_at
|
326
|
+
|
327
|
+
# @!attribute updated_at [r]
|
328
|
+
# @return [String] the timestamp of when the device was last updated
|
329
|
+
attribute :updated_at
|
330
|
+
end
|
331
|
+
|
332
|
+
# = The license class
|
333
|
+
class License < LWS::Generic::Model
|
334
|
+
use_api LWS::Auth.api
|
335
|
+
|
336
|
+
# @!attribute id [r]
|
337
|
+
# @return [Fixnum] the (unique) ID of the license
|
338
|
+
attribute :id
|
189
339
|
|
190
|
-
|
191
|
-
#
|
340
|
+
# @!attribute app
|
341
|
+
# @return [App] the app the license is for
|
342
|
+
belongs_to :app
|
192
343
|
|
193
|
-
|
194
|
-
#
|
344
|
+
# @!attribute app_id
|
345
|
+
# @return [Fixnum] the ID of the app the license is for
|
346
|
+
attribute :app_id
|
347
|
+
|
348
|
+
# @!attribute company
|
349
|
+
# @return [Company] the company that has the license
|
350
|
+
belongs_to :company
|
351
|
+
|
352
|
+
# @!attribute company_id
|
353
|
+
# @return [Fixnum] the ID of the company that has the license
|
354
|
+
attribute :company_id
|
355
|
+
|
356
|
+
# @!attribute count
|
357
|
+
# @return [Fixnum] the number of items the license provides
|
358
|
+
attribute :count
|
359
|
+
|
360
|
+
# @!attribute desc
|
361
|
+
# @return [String] the description of the license
|
362
|
+
attribute :desc
|
363
|
+
|
364
|
+
# @!attribute key
|
365
|
+
# @return [String] the key of the license
|
366
|
+
attribute :key
|
367
|
+
|
368
|
+
# @!attribute license_type
|
369
|
+
# @return [String] the type of the license
|
370
|
+
attribute :license_type
|
371
|
+
|
372
|
+
# @!attribute name
|
373
|
+
# @return [String] the name of the license
|
374
|
+
attribute :name
|
375
|
+
|
376
|
+
# @!attribute sku
|
377
|
+
# @return [String] the stock-keeping unit of the license
|
378
|
+
attribute :sku
|
379
|
+
|
380
|
+
# @!attribute created_at [r]
|
381
|
+
# @return [String] the timestamp of when the license was created
|
382
|
+
attribute :created_at
|
383
|
+
|
384
|
+
# @!attribute updated_at [r]
|
385
|
+
# @return [String] the timestamp of when the license was last updated
|
386
|
+
attribute :updated_at
|
195
387
|
end
|
196
388
|
|
389
|
+
|
197
390
|
# = The token class
|
198
391
|
class Token < LWS::Generic::Model
|
199
392
|
use_api LWS::Auth.api
|
200
393
|
|
201
|
-
|
202
|
-
#
|
394
|
+
# @!attribute id [r]
|
395
|
+
# @return [Fixnum] the (unique) ID of the token
|
396
|
+
attribute :id
|
203
397
|
|
204
|
-
|
205
|
-
#
|
398
|
+
# @!attribute account
|
399
|
+
# @return [Account] the account the token belongs to (through either
|
400
|
+
# the user or the device)
|
401
|
+
belongs_to :account, uri: nil
|
206
402
|
|
207
|
-
|
208
|
-
#
|
403
|
+
# @!attribute account_id
|
404
|
+
# @return [Fixnum] the ID of the account the token belongs to
|
405
|
+
attribute :account_id
|
209
406
|
|
210
|
-
|
211
|
-
#
|
407
|
+
# @!attribute device
|
408
|
+
# @note Each token is associated to either a user or a device.
|
409
|
+
# @return [Device, nil] the device the token belongs to
|
410
|
+
belongs_to :device, uri: nil
|
212
411
|
|
213
|
-
|
214
|
-
#
|
412
|
+
# @!attribute device_id
|
413
|
+
# @return [Fixnum, nil] the ID of the device the token belongs to
|
414
|
+
attribute :device_id
|
215
415
|
|
216
|
-
|
217
|
-
#
|
416
|
+
# @!attribute created_on [r]
|
417
|
+
# @deprecated This is an old alias of {#created_at}.
|
418
|
+
# @return [String] the timestamp of when the token was created
|
419
|
+
attribute :created_on
|
218
420
|
|
219
|
-
|
220
|
-
#
|
221
|
-
|
222
|
-
belongs_to :account
|
421
|
+
# @!attribute expires_on
|
422
|
+
# @return [String] the timestamp the token will (or has) expire(d)
|
423
|
+
attribute :expires_on
|
223
424
|
|
224
|
-
|
225
|
-
#
|
425
|
+
# @!attribute ip_address
|
426
|
+
# @return [String] the location/IP address the token is used on
|
427
|
+
attribute :ip_address
|
226
428
|
|
227
|
-
|
228
|
-
#
|
229
|
-
|
230
|
-
belongs_to :user
|
429
|
+
# @!attribute name
|
430
|
+
# @return [String, nil] the name of the token
|
431
|
+
attribute :name
|
231
432
|
|
232
|
-
|
233
|
-
#
|
433
|
+
# @!attribute token
|
434
|
+
# @return [String] the actual token string
|
435
|
+
attribute :token
|
234
436
|
|
235
|
-
|
236
|
-
#
|
237
|
-
|
238
|
-
belongs_to :device
|
437
|
+
# @!attribute used_on
|
438
|
+
# @return [String, nil] the timestamp the token was last used
|
439
|
+
attribute :used_on
|
239
440
|
|
240
|
-
|
241
|
-
#
|
441
|
+
# @!attribute user_agent
|
442
|
+
# @return [String, nil] the user agent/browser string when the token
|
443
|
+
# was used
|
444
|
+
attribute :user_agent
|
242
445
|
|
243
|
-
|
244
|
-
#
|
446
|
+
# @!attribute user
|
447
|
+
# @note Each token is associated to either a user or a device.
|
448
|
+
# @return [User, nil] the user the token belongs to
|
449
|
+
belongs_to :user, uri: nil
|
245
450
|
|
246
|
-
|
247
|
-
#
|
451
|
+
# @!attribute user_id
|
452
|
+
# @return [Fixnum, nil] the ID of the user the token belongs to
|
453
|
+
attribute :user_id
|
248
454
|
|
249
|
-
|
250
|
-
#
|
455
|
+
# @!attribute created_at [r]
|
456
|
+
# @return [String] the timestamp of when the token was created
|
457
|
+
attribute :created_at
|
458
|
+
|
459
|
+
# @!attribute updated_at [r]
|
460
|
+
# @return [String] the timestamp of when the token was last updated
|
461
|
+
attribute :updated_at
|
462
|
+
end
|
463
|
+
|
464
|
+
# = The usage report class
|
465
|
+
class UsageReport < LWS::Generic::Model
|
466
|
+
use_api LWS::Auth.api
|
467
|
+
|
468
|
+
# @!attribute id [r]
|
469
|
+
# @return [Fixnum] the (unique) ID of the usage report
|
470
|
+
attribute :id
|
471
|
+
|
472
|
+
# @!attribute company
|
473
|
+
# @return [Company] the company that the usage report is for
|
474
|
+
belongs_to :company
|
475
|
+
|
476
|
+
# @!attribute company_id
|
477
|
+
# @return [Fixnum] the ID of the company that the usage report is for
|
478
|
+
attribute :company_id
|
479
|
+
|
480
|
+
# @!attribute object
|
481
|
+
# @return [String, nil] the (partial) HTML document of the usage report.
|
482
|
+
# (The value is +nil+ until the report has been successfully generated.)
|
483
|
+
attribute :object
|
484
|
+
|
485
|
+
# @!attribute created_at [r]
|
486
|
+
# @return [String] the timestamp of when the usage report was created
|
487
|
+
attribute :created_at
|
488
|
+
|
489
|
+
# @!attribute updated_at [r]
|
490
|
+
# @return [String] the timestamp of when the usage report was last updated
|
491
|
+
attribute :updated_at
|
251
492
|
end
|
252
493
|
|
253
494
|
# = The user class
|
@@ -257,27 +498,59 @@ module LWS::Auth
|
|
257
498
|
class User < LWS::Generic::Model
|
258
499
|
use_api LWS::Auth.api
|
259
500
|
|
260
|
-
|
261
|
-
#
|
262
|
-
|
263
|
-
#@!attribute email
|
264
|
-
# @return [String] the email address of the user
|
501
|
+
# @!attribute id [r]
|
502
|
+
# @return [Fixnum] the (unique) ID of the user
|
503
|
+
attribute :id
|
265
504
|
|
266
|
-
|
267
|
-
#
|
268
|
-
|
269
|
-
#@!attribute account
|
270
|
-
# @return [Account] the account that the user belongs to
|
505
|
+
# @!attribute account
|
506
|
+
# @return [Account] the account that the user belongs to
|
271
507
|
belongs_to :account
|
272
508
|
|
273
|
-
|
274
|
-
#
|
275
|
-
|
276
|
-
|
277
|
-
#
|
278
|
-
|
279
|
-
|
280
|
-
|
509
|
+
# @!attribute account_id
|
510
|
+
# @return [Fixnum] the ID of the account that the user belongs to
|
511
|
+
attribute :account_id
|
512
|
+
|
513
|
+
# @!attribute auth_provider
|
514
|
+
# @return [String] the name of the authentication provider
|
515
|
+
attribute :auth_provider
|
516
|
+
|
517
|
+
# @!attribute email
|
518
|
+
# @return [String] the email address of the user
|
519
|
+
attribute :email
|
520
|
+
|
521
|
+
# @!attribute mfa_enabled
|
522
|
+
# @return [Boolean] whether MFA (multi-factor authentication) is
|
523
|
+
# enabled for the user
|
524
|
+
attribute :mfa_enabled
|
525
|
+
|
526
|
+
# @!attribute mfa_verified
|
527
|
+
# @return [Boolean] whether MFA (multi-factor authentication) has
|
528
|
+
# been verified for the user
|
529
|
+
attribute :mfa_verified
|
530
|
+
|
531
|
+
# @!attribute oauth_expires_at
|
532
|
+
# @return [String, nil] the timestamp of when the OAuth token of the
|
533
|
+
# user expires
|
534
|
+
attribute :oauth_expires_at
|
535
|
+
|
536
|
+
# @!attribute password_digest
|
537
|
+
# @return [String, nil] the digested version of the password of the user.
|
538
|
+
# (Can be +nil+ if the authentication provider (see {#auth_provider})
|
539
|
+
# is not +"lws"+.)
|
540
|
+
attribute :password_digest
|
541
|
+
|
542
|
+
# @!attribute use_for_communication
|
543
|
+
# @return [Boolean] whether the email address (see {#email}) of
|
544
|
+
# the user is/will be used to send messages/announcements
|
545
|
+
attribute :use_for_communication
|
546
|
+
|
547
|
+
# @!attribute created_at [r]
|
548
|
+
# @return [String] the timestamp of when the user was created
|
549
|
+
attribute :created_at
|
550
|
+
|
551
|
+
# @!attribute updated_at [r]
|
552
|
+
# @return [String] the timestamp of when the user was last updated
|
553
|
+
attribute :updated_at
|
281
554
|
end
|
282
555
|
|
283
556
|
end
|