Class: Evernote::EDAM::Type::User

Inherits:
Object
  • Object
show all
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_fieldsObject



588
# File 'lib/Evernote/EDAM/types_types.rb', line 588

def struct_fields; FIELDS; end

#validateObject



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