Class: Evernote::EDAM::Type::User
- Inherits:
-
Object
- Object
- Evernote::EDAM::Type::User
- Includes:
- Thrift::Struct, Thrift::Struct_Union
- Defined in:
- lib/Evernote/EDAM/types_types.rb
Overview
This represents the information about a single user account. <dl>
<dt>id</dt>
<dd>The unique numeric identifier for the account, which will not
change for the lifetime of the account.
</dd>
<dt>username</dt>
<dd>The name that the user provides to log in to their
account. In the future, this may be empty for some accounts if their login
process is indirect (e.g. via social networks, etc.).
May only contain a-z, 0-9, or '-', and may not start or end with the '-'
<br/>
Length: EDAM_USER_USERNAME_LEN_MIN - EDAM_USER_USERNAME_LEN_MAX
<br/>
Regex: EDAM_USER_USERNAME_REGEX
</dd>
<dt>email</dt>
<dd>The email address registered for the user. Must comply with
RFC 2821 and RFC 2822.<br/>
Length: EDAM_EMAIL_LEN_MIN - EDAM_EMAIL_LEN_MAX
<br/>
Regex: EDAM_EMAIL_REGEX
</dd>
<dt>name</dt>
<dd>The printable name of the user, which may be a combination
of given and family names. This is used instead of separate "first"
and "last" names due to variations in international name format/order.
May not start or end with a whitespace character. May contain any
character but carriage return or newline (Unicode classes Zl and Zp).
<br/>
Length: EDAM_USER_NAME_LEN_MIN - EDAM_USER_NAME_LEN_MAX
<br/>
Regex: EDAM_USER_NAME_REGEX
</dd>
<dt>timezone</dt>
<dd>The zone ID for the user's default location. If present,
this may be used to localize the display of any timestamp for which no
other timezone is available - for example, an note that arrives via
a micro-browser may not contain enough information to display its
local time, so this default timezone may be assigned to the note.
The format must be encoded as a standard zone ID such as
"America/Los_Angeles" or "GMT+08:00"
<br/>
Length: EDAM_TIMEZONE_LEN_MIN - EDAM_TIMEZONE_LEN_MAX
<br/>
Regex: EDAM_TIMEZONE_REGEX
</dd>
<dt>privilege</dt>
<dd>The level of access permitted for the user.
</dd>
<dt>created</dt>
<dd>The date and time when this user account was created in the
service.
</dd>
<dt>updated</dt>
<dd>The date and time when this user account was last modified
in the service.
</dd>
<dt>deleted</dt>
<dd>If the account has been deleted from the system (e.g. as
the result of a legal request by the user), the date and time of the
deletion will be represented here. If not, this value will not be set.
</dd>
<dt>active</dt>
<dd>If the user account is available for login and
synchronization, this flag will be set to true.
</dd>
<dt>shardId</dt>
<dd>The name of the virtual server that manages the state of
this user. This value is used internally to determine which system should
service requests about this user's data.
</dd>
<dt>attributes</dt>
<dd>If present, this will contain a list of the attributes
for this user account.
</dd>
<dt>accounting</dt>
<dd>Bookkeeping information for the user's subscription.
</dd>
</dl>
Constant Summary collapse
- ID =
1
- USERNAME =
2
- EMAIL =
3
- NAME =
4
- TIMEZONE =
6
- PRIVILEGE =
7
- CREATED =
9
- UPDATED =
10
- DELETED =
11
- ACTIVE =
13
- SHARDID =
14
- ATTRIBUTES =
15
- ACCOUNTING =
16
- FIELDS =
{ ID => {:type => ::Thrift::Types::I32, :name => 'id', :optional => true}, USERNAME => {:type => ::Thrift::Types::STRING, :name => 'username', :optional => true}, EMAIL => {:type => ::Thrift::Types::STRING, :name => 'email', :optional => true}, NAME => {:type => ::Thrift::Types::STRING, :name => 'name', :optional => true}, TIMEZONE => {:type => ::Thrift::Types::STRING, :name => 'timezone', :optional => true}, PRIVILEGE => {:type => ::Thrift::Types::I32, :name => 'privilege', :optional => true, :enum_class => Evernote::EDAM::Type::PrivilegeLevel}, CREATED => {:type => ::Thrift::Types::I64, :name => 'created', :optional => true}, UPDATED => {:type => ::Thrift::Types::I64, :name => 'updated', :optional => true}, DELETED => {:type => ::Thrift::Types::I64, :name => 'deleted', :optional => true}, ACTIVE => {:type => ::Thrift::Types::BOOL, :name => 'active', :optional => true}, SHARDID => {:type => ::Thrift::Types::STRING, :name => 'shardId', :optional => true}, ATTRIBUTES => {:type => ::Thrift::Types::STRUCT, :name => 'attributes', :class => Evernote::EDAM::Type::UserAttributes, :optional => true}, ACCOUNTING => {:type => ::Thrift::Types::STRUCT, :name => 'accounting', :class => Evernote::EDAM::Type::Accounting, :optional => true} }
Constants included from Thrift::Struct_Union
Thrift::Struct_Union::CONTAINER_TYPES
Instance Method Summary collapse
Methods included from Thrift::Struct
#<=>, #==, #differences, #eql?, field_accessor, #fields_with_default_values, generate_accessors, #hash, #initialize, #inspect, qmark_isset_method, #read, #write
Methods included from Thrift::Struct_Union
#each_field, #field_info, #inspect_collection, #inspect_field, #is_container?, #name_to_id, #read_field, #sorted_field_ids, #write_container, #write_data
Instance Method Details
#struct_fields ⇒ Object
588 |
# File 'lib/Evernote/EDAM/types_types.rb', line 588 def struct_fields; FIELDS; end |
#validate ⇒ Object
590 591 592 593 594 |
# File 'lib/Evernote/EDAM/types_types.rb', line 590 def validate unless @privilege.nil? || Evernote::EDAM::Type::PrivilegeLevel::VALID_VALUES.include?(@privilege) raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field privilege!') end end |