evernote-thrift 1.22.2 → 1.23.0

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.
@@ -315,7 +315,6 @@ module Evernote
315
315
  # The value can be a literal match or, if the last character is an
316
316
  # asterisk, a prefix match.
317
317
  # </dd>
318
- #
319
318
  # </dl>
320
319
  class SyncChunkFilter
321
320
  include ::Thrift::Struct, ::Thrift::Struct_Union
@@ -409,6 +408,14 @@ module Evernote
409
408
  # the Trash) will be returned. Otherwise, only active notes will be returned.
410
409
  # There is no way to find both active and inactive notes in a single query.
411
410
  # </dd>
411
+ #
412
+ # <dt>emphasized</dt>
413
+ # <dd>
414
+ # If present, a search query string that may or may not influence the notes
415
+ # to be returned, both in terms of coverage as well as of order. Think of it
416
+ # as a wish list, not a requirement.
417
+ # Accepts the full search grammar documented in the Evernote API Overview.
418
+ # </dd>
412
419
  # </dl>
413
420
  class NoteFilter
414
421
  include ::Thrift::Struct, ::Thrift::Struct_Union
@@ -419,6 +426,7 @@ module Evernote
419
426
  TAGGUIDS = 5
420
427
  TIMEZONE = 6
421
428
  INACTIVE = 7
429
+ EMPHASIZED = 8
422
430
 
423
431
  FIELDS = {
424
432
  ORDER => {:type => ::Thrift::Types::I32, :name => 'order', :optional => true},
@@ -427,7 +435,8 @@ module Evernote
427
435
  NOTEBOOKGUID => {:type => ::Thrift::Types::STRING, :name => 'notebookGuid', :optional => true},
428
436
  TAGGUIDS => {:type => ::Thrift::Types::LIST, :name => 'tagGuids', :element => {:type => ::Thrift::Types::STRING}, :optional => true},
429
437
  TIMEZONE => {:type => ::Thrift::Types::STRING, :name => 'timeZone', :optional => true},
430
- INACTIVE => {:type => ::Thrift::Types::BOOL, :name => 'inactive', :optional => true}
438
+ INACTIVE => {:type => ::Thrift::Types::BOOL, :name => 'inactive', :optional => true},
439
+ EMPHASIZED => {:type => ::Thrift::Types::STRING, :name => 'emphasized', :optional => true}
431
440
  }
432
441
 
433
442
  def struct_fields; FIELDS; end
@@ -743,105 +752,6 @@ module Evernote
743
752
  ::Thrift::Struct.generate_accessors self
744
753
  end
745
754
 
746
- # Information for tracking the display of a particular ad by a client.
747
- #
748
- # <dl>
749
- # <dt>adId</dt>
750
- # <dd>
751
- # The identifier for this ad, from a previous Ad.id given to the client
752
- # </dd>
753
- #
754
- # <dt>impressionCount</dt>
755
- # <dd>
756
- # The number of times this ad was displayed since the last successful
757
- # ad retrieval. The client should only report times the ad was selected
758
- # when the client was visible.
759
- # </dd>
760
- #
761
- # <dt>impressionTime</dt>
762
- # <dd>
763
- # The number of seconds that the client displayed the advertisement since
764
- # the last successful ad retrieval. This corresponds to the seconds that
765
- # the client application was visible.
766
- # </dd>
767
- # </dl>
768
- class AdImpressions
769
- include ::Thrift::Struct, ::Thrift::Struct_Union
770
- ADID = 1
771
- IMPRESSIONCOUNT = 2
772
- IMPRESSIONTIME = 3
773
-
774
- FIELDS = {
775
- ADID => {:type => ::Thrift::Types::I32, :name => 'adId'},
776
- IMPRESSIONCOUNT => {:type => ::Thrift::Types::I32, :name => 'impressionCount'},
777
- IMPRESSIONTIME => {:type => ::Thrift::Types::I32, :name => 'impressionTime'}
778
- }
779
-
780
- def struct_fields; FIELDS; end
781
-
782
- def validate
783
- raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field adId is unset!') unless @adId
784
- raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field impressionCount is unset!') unless @impressionCount
785
- raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field impressionTime is unset!') unless @impressionTime
786
- end
787
-
788
- ::Thrift::Struct.generate_accessors self
789
- end
790
-
791
- # Parameters that will be given by a client to the service when it requests
792
- # a set of advertisements to display. If any of these values are omitted,
793
- # the service will use default values.
794
- #
795
- # <dl>
796
- # <dt>clientLanguage</dt>
797
- # <dd>
798
- # The ISO 639-1 language code for the primary language for the client.
799
- # If omitted, English will be assumed ('en').
800
- # </dd>
801
- #
802
- # <dt>impressions</dt>
803
- # <dd>
804
- # A list of the impression counts and total display time for the ads
805
- # that were displayed in the last day.
806
- # </dd>
807
- #
808
- # <dt>supportHtml</dt>
809
- # <dd>
810
- # If true, the client requesting the ads supports ads specified via
811
- # general HTML (with rich media, Javascript, etc.).
812
- # </dd>
813
- #
814
- # <dt>clientProperties</dt>
815
- # <dd>
816
- # If provided, this may contain a set of key/value pairs that identify
817
- # the characteristics of a particular client that may be used to help
818
- # determine appropriate ads for that client. These tuples may be used
819
- # either to reduce or increase the likelihood that each ad will be
820
- # returned.
821
- # </dd>
822
- # </dl>
823
- class AdParameters
824
- include ::Thrift::Struct, ::Thrift::Struct_Union
825
- CLIENTLANGUAGE = 2
826
- IMPRESSIONS = 4
827
- SUPPORTHTML = 5
828
- CLIENTPROPERTIES = 6
829
-
830
- FIELDS = {
831
- CLIENTLANGUAGE => {:type => ::Thrift::Types::STRING, :name => 'clientLanguage', :optional => true},
832
- IMPRESSIONS => {:type => ::Thrift::Types::LIST, :name => 'impressions', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::NoteStore::AdImpressions}, :optional => true},
833
- SUPPORTHTML => {:type => ::Thrift::Types::BOOL, :name => 'supportHtml', :optional => true},
834
- CLIENTPROPERTIES => {:type => ::Thrift::Types::MAP, :name => 'clientProperties', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRING}, :optional => true}
835
- }
836
-
837
- def struct_fields; FIELDS; end
838
-
839
- def validate
840
- end
841
-
842
- ::Thrift::Struct.generate_accessors self
843
- end
844
-
845
755
  # Parameters that must be given to the NoteStore emailNote call. These allow
846
756
  # the caller to specify the note to send, the recipient addresses, etc.
847
757
  #
@@ -1008,7 +918,10 @@ module Evernote
1008
918
  end
1009
919
 
1010
920
  # A description of the thing for which we are searching for related
1011
- # entities. You must choose exactly one field.
921
+ # entities.
922
+ #
923
+ # You must specify either <em>noteGuid</em> or <em>plainText</em>, but
924
+ # not both. <em>filter</em> is optional.
1012
925
  #
1013
926
  # <dl>
1014
927
  # <dt>noteGuid</dt>
@@ -1020,15 +933,24 @@ module Evernote
1020
933
  # You should provide a text block with a number of characters between
1021
934
  # EDAM_RELATED_PLAINTEXT_LEN_MIN and EDAM_RELATED_PLAINTEXT_LEN_MAX.
1022
935
  # </dd>
936
+ #
937
+ # <dt>filter</dt>
938
+ # <dd>The list of criteria that will constrain the notes being considered
939
+ # related.
940
+ # Please note that some of the parameters may be ignored, such as
941
+ # <em>order</em> and <em>ascending</em>.
942
+ # </dd>
1023
943
  # </dl>
1024
944
  class RelatedQuery
1025
945
  include ::Thrift::Struct, ::Thrift::Struct_Union
1026
946
  NOTEGUID = 1
1027
947
  PLAINTEXT = 2
948
+ FILTER = 3
1028
949
 
1029
950
  FIELDS = {
1030
951
  NOTEGUID => {:type => ::Thrift::Types::STRING, :name => 'noteGuid', :optional => true},
1031
- PLAINTEXT => {:type => ::Thrift::Types::STRING, :name => 'plainText', :optional => true}
952
+ PLAINTEXT => {:type => ::Thrift::Types::STRING, :name => 'plainText', :optional => true},
953
+ FILTER => {:type => ::Thrift::Types::STRUCT, :name => 'filter', :class => Evernote::EDAM::NoteStore::NoteFilter, :optional => true}
1032
954
  }
1033
955
 
1034
956
  def struct_fields; FIELDS; end
@@ -1058,16 +980,35 @@ module Evernote
1058
980
  # <dd>If tags have been requested to be included, this will be the list
1059
981
  # of tags.</dd>
1060
982
  # </dl>
983
+ #
984
+ # <dt>containingNotebooks</dt>
985
+ # <dd>If <code>includeContainingNotebooks</code> is set to <code>true</code>
986
+ # in the RelatedResultSpec, return the list of notebooks to
987
+ # to which the returned related notes belong. The notebooks in this
988
+ # list will occur once per notebook GUID and are represented as
989
+ # NotebookDescriptor objects.</dd>
990
+ # </dl>
991
+ #
992
+ # <dt>debugInfo</dt>
993
+ # <dd>NOTE: This should be excluded from the public API.<br /><br />
994
+ # If <code>includeDebugInfo</code> in RelatedResultSpec is set to
995
+ # <code>true</code>, this field may contain debug information
996
+ # if the service decides to do so.</dd>
997
+ # </dl>
1061
998
  class RelatedResult
1062
999
  include ::Thrift::Struct, ::Thrift::Struct_Union
1063
1000
  NOTES = 1
1064
1001
  NOTEBOOKS = 2
1065
1002
  TAGS = 3
1003
+ CONTAININGNOTEBOOKS = 4
1004
+ DEBUGINFO = 5
1066
1005
 
1067
1006
  FIELDS = {
1068
1007
  NOTES => {:type => ::Thrift::Types::LIST, :name => 'notes', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::Note}, :optional => true},
1069
1008
  NOTEBOOKS => {:type => ::Thrift::Types::LIST, :name => 'notebooks', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::Notebook}, :optional => true},
1070
- TAGS => {:type => ::Thrift::Types::LIST, :name => 'tags', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::Tag}, :optional => true}
1009
+ TAGS => {:type => ::Thrift::Types::LIST, :name => 'tags', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::Tag}, :optional => true},
1010
+ CONTAININGNOTEBOOKS => {:type => ::Thrift::Types::LIST, :name => 'containingNotebooks', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::NotebookDescriptor}, :optional => true},
1011
+ DEBUGINFO => {:type => ::Thrift::Types::STRING, :name => 'debugInfo', :optional => true}
1071
1012
  }
1072
1013
 
1073
1014
  def struct_fields; FIELDS; end
@@ -1081,7 +1022,7 @@ module Evernote
1081
1022
  # A description of the thing for which the service will find related
1082
1023
  # entities, via findRelated(), together with a description of what
1083
1024
  # type of entities and how many you are seeking in the
1084
- # RelatednessResult.
1025
+ # RelatedResult.
1085
1026
  #
1086
1027
  # <dl>
1087
1028
  # <dt>maxNotes</dt>
@@ -1102,16 +1043,41 @@ module Evernote
1102
1043
  # will be silently capped. If you do not set this field, then
1103
1044
  # no tags will be returned.</dd>
1104
1045
  # </dl>
1046
+ #
1047
+ # <dt>writableNotebooksOnly</dt>
1048
+ # <dd>Require that all returned related notebooks are writable.
1049
+ # The user will be able to create notes in all returned notebooks.
1050
+ # However, individual notes returned may still belong to notebooks
1051
+ # in which the user lacks the ability to create notes.</dd>
1052
+ # </dl>
1053
+ #
1054
+ # <dt>includeContainingNotebooks</dt>
1055
+ # <dd>If set to <code>true</code>, return the containingNotebooks field
1056
+ # in the RelatedResult, which will contain the list of notebooks to
1057
+ # to which the returned related notes belong.</dd>
1058
+ # </dl>
1059
+ #
1060
+ # <dt>includeDebugInfo</dt>
1061
+ # <dd>NOTE: This should be excluded from the public API.<br /><br />
1062
+ # If set to <code>true</code>, indicate that debug information should
1063
+ # be returned in the 'debugInfo' field of RelatedResult.</dd>
1064
+ # </dl>
1105
1065
  class RelatedResultSpec
1106
1066
  include ::Thrift::Struct, ::Thrift::Struct_Union
1107
1067
  MAXNOTES = 1
1108
1068
  MAXNOTEBOOKS = 2
1109
1069
  MAXTAGS = 3
1070
+ WRITABLENOTEBOOKSONLY = 4
1071
+ INCLUDECONTAININGNOTEBOOKS = 5
1072
+ INCLUDEDEBUGINFO = 6
1110
1073
 
1111
1074
  FIELDS = {
1112
1075
  MAXNOTES => {:type => ::Thrift::Types::I32, :name => 'maxNotes', :optional => true},
1113
1076
  MAXNOTEBOOKS => {:type => ::Thrift::Types::I32, :name => 'maxNotebooks', :optional => true},
1114
- MAXTAGS => {:type => ::Thrift::Types::I32, :name => 'maxTags', :optional => true}
1077
+ MAXTAGS => {:type => ::Thrift::Types::I32, :name => 'maxTags', :optional => true},
1078
+ WRITABLENOTEBOOKSONLY => {:type => ::Thrift::Types::BOOL, :name => 'writableNotebooksOnly', :optional => true},
1079
+ INCLUDECONTAININGNOTEBOOKS => {:type => ::Thrift::Types::BOOL, :name => 'includeContainingNotebooks', :optional => true},
1080
+ INCLUDEDEBUGINFO => {:type => ::Thrift::Types::BOOL, :name => 'includeDebugInfo', :optional => true}
1115
1081
  }
1116
1082
 
1117
1083
  def struct_fields; FIELDS; end
@@ -9,6 +9,12 @@ require 'types_types'
9
9
  module Evernote
10
10
  module EDAM
11
11
  module Type
12
+ CLASSIFICATION_RECIPE_USER_NON_RECIPE = %q"000"
13
+
14
+ CLASSIFICATION_RECIPE_USER_RECIPE = %q"001"
15
+
16
+ CLASSIFICATION_RECIPE_SERVICE_RECIPE = %q"002"
17
+
12
18
  EDAM_NOTE_SOURCE_WEB_CLIP = %q"web.clip"
13
19
 
14
20
  EDAM_NOTE_SOURCE_MAIL_CLIP = %q"mail.clip"
@@ -48,6 +48,39 @@ module Evernote
48
48
  VALID_VALUES = Set.new([NONE, PENDING, ACTIVE, FAILED, CANCELLATION_PENDING, CANCELED]).freeze
49
49
  end
50
50
 
51
+ module SharedNotebookPrivilegeLevel
52
+ READ_NOTEBOOK = 0
53
+ MODIFY_NOTEBOOK_PLUS_ACTIVITY = 1
54
+ READ_NOTEBOOK_PLUS_ACTIVITY = 2
55
+ GROUP = 3
56
+ FULL_ACCESS = 4
57
+ BUSINESS_FULL_ACCESS = 5
58
+ VALUE_MAP = {0 => "READ_NOTEBOOK", 1 => "MODIFY_NOTEBOOK_PLUS_ACTIVITY", 2 => "READ_NOTEBOOK_PLUS_ACTIVITY", 3 => "GROUP", 4 => "FULL_ACCESS", 5 => "BUSINESS_FULL_ACCESS"}
59
+ VALID_VALUES = Set.new([READ_NOTEBOOK, MODIFY_NOTEBOOK_PLUS_ACTIVITY, READ_NOTEBOOK_PLUS_ACTIVITY, GROUP, FULL_ACCESS, BUSINESS_FULL_ACCESS]).freeze
60
+ end
61
+
62
+ module SponsoredGroupRole
63
+ GROUP_MEMBER = 1
64
+ GROUP_ADMIN = 2
65
+ GROUP_OWNER = 3
66
+ VALUE_MAP = {1 => "GROUP_MEMBER", 2 => "GROUP_ADMIN", 3 => "GROUP_OWNER"}
67
+ VALID_VALUES = Set.new([GROUP_MEMBER, GROUP_ADMIN, GROUP_OWNER]).freeze
68
+ end
69
+
70
+ module BusinessUserRole
71
+ ADMIN = 1
72
+ NORMAL = 2
73
+ VALUE_MAP = {1 => "ADMIN", 2 => "NORMAL"}
74
+ VALID_VALUES = Set.new([ADMIN, NORMAL]).freeze
75
+ end
76
+
77
+ module SharedNotebookInstanceRestrictions
78
+ ONLY_JOINED_OR_PREVIEW = 1
79
+ NO_SHARED_NOTEBOOKS = 2
80
+ VALUE_MAP = {1 => "ONLY_JOINED_OR_PREVIEW", 2 => "NO_SHARED_NOTEBOOKS"}
81
+ VALID_VALUES = Set.new([ONLY_JOINED_OR_PREVIEW, NO_SHARED_NOTEBOOKS]).freeze
82
+ end
83
+
51
84
  # In several places, EDAM exchanges blocks of bytes of data for a component
52
85
  # which may be relatively large. For example: the contents of a clipped
53
86
  # HTML note, the bytes of an embedded image, or the recognition XML for
@@ -260,6 +293,11 @@ module Evernote
260
293
  # account owner's settings page
261
294
  # </dd>
262
295
  # </dl>
296
+ #
297
+ # <dt>taxExempt</dt>
298
+ # <dd>A flag indicating the user's sponsored group is exempt from sale tax
299
+ # </dd>
300
+ # </dl>
263
301
  class UserAttributes
264
302
  include ::Thrift::Struct, ::Thrift::Struct_Union
265
303
  DEFAULTLOCATIONNAME = 1
@@ -291,6 +329,7 @@ module Evernote
291
329
  EDUCATIONALDISCOUNT = 29
292
330
  BUSINESSADDRESS = 30
293
331
  HIDESPONSORBILLING = 31
332
+ TAXEXEMPT = 32
294
333
 
295
334
  FIELDS = {
296
335
  DEFAULTLOCATIONNAME => {:type => ::Thrift::Types::STRING, :name => 'defaultLocationName', :optional => true},
@@ -321,7 +360,8 @@ module Evernote
321
360
  REFERRALPROOF => {:type => ::Thrift::Types::STRING, :name => 'referralProof', :optional => true},
322
361
  EDUCATIONALDISCOUNT => {:type => ::Thrift::Types::BOOL, :name => 'educationalDiscount', :optional => true},
323
362
  BUSINESSADDRESS => {:type => ::Thrift::Types::STRING, :name => 'businessAddress', :optional => true},
324
- HIDESPONSORBILLING => {:type => ::Thrift::Types::BOOL, :name => 'hideSponsorBilling', :optional => true}
363
+ HIDESPONSORBILLING => {:type => ::Thrift::Types::BOOL, :name => 'hideSponsorBilling', :optional => true},
364
+ TAXEXEMPT => {:type => ::Thrift::Types::BOOL, :name => 'taxExempt', :optional => true}
325
365
  }
326
366
 
327
367
  def struct_fields; FIELDS; end
@@ -407,6 +447,15 @@ module Evernote
407
447
  # <dd>ISO 4217 currency code</dd>
408
448
  # <dt>unitPrice</dt>
409
449
  # <dd>charge in the smallest unit of the currency (e.g. cents for USD)</dd>
450
+ # <dt>businessId</dt>
451
+ # <dd>If set, the ID of the Evernote Business account that the user is a
452
+ # member of. If not set, the user is not a member of a business.</dd>
453
+ # <dt>businessName</dt>
454
+ # <dd>The human-readable name of the Evernote Business account that
455
+ # the user is a member of.</dd>
456
+ # <dt>businessRole</dt>
457
+ # <dd>If set, the role of the user within the Evernote Business account
458
+ # that they are a member of.</dd>
410
459
  # </dl>
411
460
  class Accounting
412
461
  include ::Thrift::Struct, ::Thrift::Struct_Union
@@ -428,6 +477,9 @@ module Evernote
428
477
  LASTREQUESTEDCHARGE = 17
429
478
  CURRENCY = 18
430
479
  UNITPRICE = 19
480
+ BUSINESSID = 20
481
+ BUSINESSNAME = 21
482
+ BUSINESSROLE = 22
431
483
 
432
484
  FIELDS = {
433
485
  UPLOADLIMIT => {:type => ::Thrift::Types::I64, :name => 'uploadLimit', :optional => true},
@@ -447,7 +499,10 @@ module Evernote
447
499
  PREMIUMSUBSCRIPTIONNUMBER => {:type => ::Thrift::Types::STRING, :name => 'premiumSubscriptionNumber', :optional => true},
448
500
  LASTREQUESTEDCHARGE => {:type => ::Thrift::Types::I64, :name => 'lastRequestedCharge', :optional => true},
449
501
  CURRENCY => {:type => ::Thrift::Types::STRING, :name => 'currency', :optional => true},
450
- UNITPRICE => {:type => ::Thrift::Types::I32, :name => 'unitPrice', :optional => true}
502
+ UNITPRICE => {:type => ::Thrift::Types::I32, :name => 'unitPrice', :optional => true},
503
+ BUSINESSID => {:type => ::Thrift::Types::I32, :name => 'businessId', :optional => true},
504
+ BUSINESSNAME => {:type => ::Thrift::Types::STRING, :name => 'businessName', :optional => true},
505
+ BUSINESSROLE => {:type => ::Thrift::Types::I32, :name => 'businessRole', :optional => true, :enum_class => Evernote::EDAM::Type::BusinessUserRole}
451
506
  }
452
507
 
453
508
  def struct_fields; FIELDS; end
@@ -456,6 +511,98 @@ module Evernote
456
511
  unless @premiumServiceStatus.nil? || Evernote::EDAM::Type::PremiumOrderStatus::VALID_VALUES.include?(@premiumServiceStatus)
457
512
  raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field premiumServiceStatus!')
458
513
  end
514
+ unless @businessRole.nil? || Evernote::EDAM::Type::BusinessUserRole::VALID_VALUES.include?(@businessRole)
515
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field businessRole!')
516
+ end
517
+ end
518
+
519
+ ::Thrift::Struct.generate_accessors self
520
+ end
521
+
522
+ # This structure is used to provide information about a user's Premium account.
523
+ # <dl>
524
+ # <dt>currentTime</dt>
525
+ # <dd>
526
+ # The server-side date and time when this data was generated.
527
+ # </dd>
528
+ # <dt>premium</dt>
529
+ # <dd>
530
+ # True if the user's account is Premium.
531
+ # </dd>
532
+ # <dt>premiumRecurring</dt>
533
+ # <dd>
534
+ # True if the user's account is Premium and has a recurring payment method.
535
+ # </dd>
536
+ # <dt>premiumExpirationDate</dt>
537
+ # <dd>
538
+ # The date when the user's Premium account expires, or the date when the
539
+ # user's account will be charged if it has a recurring payment method.
540
+ # </dd>
541
+ # <dt>premiumExtendable</dt>
542
+ # <dd>
543
+ # True if the user is eligible for purchasing Premium account extensions.
544
+ # </dd>
545
+ # <dt>premiumPending</dt>
546
+ # <dd>
547
+ # True if the user's Premium account is pending payment confirmation
548
+ # </dd>
549
+ # <dt>premiumCancellationPending</dt>
550
+ # <dd>
551
+ # True if the user has requested that no further charges to be made; the
552
+ # Premium account will remain active until it expires.
553
+ # </dd>
554
+ # <dt>canPurchaseUploadAllowance</dt>
555
+ # <dd>
556
+ # True if the user is eligible for purchasing additional upload allowance.
557
+ # </dd>
558
+ # <dt>sponsoredGroupName</dt>
559
+ # <dd>
560
+ # The name of the sponsored group that the user is part of.
561
+ # </dd>
562
+ # <dt>sponsoredGroupRole</dt>
563
+ # <dd>
564
+ # DEPRECATED - will be removed in a future update.
565
+ # </dd>
566
+ # </dl>
567
+ class PremiumInfo
568
+ include ::Thrift::Struct, ::Thrift::Struct_Union
569
+ CURRENTTIME = 1
570
+ PREMIUM = 2
571
+ PREMIUMRECURRING = 3
572
+ PREMIUMEXPIRATIONDATE = 4
573
+ PREMIUMEXTENDABLE = 5
574
+ PREMIUMPENDING = 6
575
+ PREMIUMCANCELLATIONPENDING = 7
576
+ CANPURCHASEUPLOADALLOWANCE = 8
577
+ SPONSOREDGROUPNAME = 9
578
+ SPONSOREDGROUPROLE = 10
579
+
580
+ FIELDS = {
581
+ CURRENTTIME => {:type => ::Thrift::Types::I64, :name => 'currentTime'},
582
+ PREMIUM => {:type => ::Thrift::Types::BOOL, :name => 'premium'},
583
+ PREMIUMRECURRING => {:type => ::Thrift::Types::BOOL, :name => 'premiumRecurring'},
584
+ PREMIUMEXPIRATIONDATE => {:type => ::Thrift::Types::I64, :name => 'premiumExpirationDate', :optional => true},
585
+ PREMIUMEXTENDABLE => {:type => ::Thrift::Types::BOOL, :name => 'premiumExtendable'},
586
+ PREMIUMPENDING => {:type => ::Thrift::Types::BOOL, :name => 'premiumPending'},
587
+ PREMIUMCANCELLATIONPENDING => {:type => ::Thrift::Types::BOOL, :name => 'premiumCancellationPending'},
588
+ CANPURCHASEUPLOADALLOWANCE => {:type => ::Thrift::Types::BOOL, :name => 'canPurchaseUploadAllowance'},
589
+ SPONSOREDGROUPNAME => {:type => ::Thrift::Types::STRING, :name => 'sponsoredGroupName', :optional => true},
590
+ SPONSOREDGROUPROLE => {:type => ::Thrift::Types::I32, :name => 'sponsoredGroupRole', :optional => true, :enum_class => Evernote::EDAM::Type::SponsoredGroupRole}
591
+ }
592
+
593
+ def struct_fields; FIELDS; end
594
+
595
+ def validate
596
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field currentTime is unset!') unless @currentTime
597
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field premium is unset!') if @premium.nil?
598
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field premiumRecurring is unset!') if @premiumRecurring.nil?
599
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field premiumExtendable is unset!') if @premiumExtendable.nil?
600
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field premiumPending is unset!') if @premiumPending.nil?
601
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field premiumCancellationPending is unset!') if @premiumCancellationPending.nil?
602
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Required field canPurchaseUploadAllowance is unset!') if @canPurchaseUploadAllowance.nil?
603
+ unless @sponsoredGroupRole.nil? || Evernote::EDAM::Type::SponsoredGroupRole::VALID_VALUES.include?(@sponsoredGroupRole)
604
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field sponsoredGroupRole!')
605
+ end
459
606
  end
460
607
 
461
608
  ::Thrift::Struct.generate_accessors self
@@ -469,9 +616,9 @@ module Evernote
469
616
  # </dd>
470
617
  #
471
618
  # <dt>username</dt>
472
- # <dd>The name that the user provides to log in to their
473
- # account. In the future, this may be empty for some accounts if their login
474
- # process is indirect (e.g. via social networks, etc.).
619
+ # <dd>The name that uniquely identifies a single user account. This name
620
+ # may be presented by the user, along with their password, to log into
621
+ # their account.
475
622
  # May only contain a-z, 0-9, or '-', and may not start or end with the '-'
476
623
  # <br/>
477
624
  # Length: EDAM_USER_USERNAME_LEN_MIN - EDAM_USER_USERNAME_LEN_MAX
@@ -482,6 +629,8 @@ module Evernote
482
629
  # <dt>email</dt>
483
630
  # <dd>The email address registered for the user. Must comply with
484
631
  # RFC 2821 and RFC 2822.<br/>
632
+ # For privacy reasons, this field may not be populated when a User
633
+ # is retrieved via a call to UserStore.getUser().
485
634
  # Length: EDAM_EMAIL_LEN_MIN - EDAM_EMAIL_LEN_MAX
486
635
  # <br/>
487
636
  # Regex: EDAM_EMAIL_REGEX
@@ -502,9 +651,7 @@ module Evernote
502
651
  # <dt>timezone</dt>
503
652
  # <dd>The zone ID for the user's default location. If present,
504
653
  # this may be used to localize the display of any timestamp for which no
505
- # other timezone is available - for example, an note that arrives via
506
- # a micro-browser may not contain enough information to display its
507
- # local time, so this default timezone may be assigned to the note.
654
+ # other timezone is available.
508
655
  # The format must be encoded as a standard zone ID such as
509
656
  # "America/Los_Angeles" or "GMT+08:00"
510
657
  # <br/>
@@ -539,9 +686,7 @@ module Evernote
539
686
  # </dd>
540
687
  #
541
688
  # <dt>shardId</dt>
542
- # <dd>The name of the virtual server that manages the state of
543
- # this user. This value is used internally to determine which system should
544
- # service requests about this user's data.
689
+ # <dd>DEPRECATED - Client applications should have no need to use this field.
545
690
  # </dd>
546
691
  #
547
692
  # <dt>attributes</dt>
@@ -552,6 +697,11 @@ module Evernote
552
697
  # <dt>accounting</dt>
553
698
  # <dd>Bookkeeping information for the user's subscription.
554
699
  # </dd>
700
+ #
701
+ # <dt>premiumInfo</dt>
702
+ # <dd>If present, this will contain a set of commerce information
703
+ # relating to the user's premium service level.
704
+ # </dd>
555
705
  # </dl>
556
706
  class User
557
707
  include ::Thrift::Struct, ::Thrift::Struct_Union
@@ -568,6 +718,7 @@ module Evernote
568
718
  SHARDID = 14
569
719
  ATTRIBUTES = 15
570
720
  ACCOUNTING = 16
721
+ PREMIUMINFO = 17
571
722
 
572
723
  FIELDS = {
573
724
  ID => {:type => ::Thrift::Types::I32, :name => 'id', :optional => true},
@@ -582,7 +733,8 @@ module Evernote
582
733
  ACTIVE => {:type => ::Thrift::Types::BOOL, :name => 'active', :optional => true},
583
734
  SHARDID => {:type => ::Thrift::Types::STRING, :name => 'shardId', :optional => true},
584
735
  ATTRIBUTES => {:type => ::Thrift::Types::STRUCT, :name => 'attributes', :class => Evernote::EDAM::Type::UserAttributes, :optional => true},
585
- ACCOUNTING => {:type => ::Thrift::Types::STRUCT, :name => 'accounting', :class => Evernote::EDAM::Type::Accounting, :optional => true}
736
+ ACCOUNTING => {:type => ::Thrift::Types::STRUCT, :name => 'accounting', :class => Evernote::EDAM::Type::Accounting, :optional => true},
737
+ PREMIUMINFO => {:type => ::Thrift::Types::STRUCT, :name => 'premiumInfo', :class => Evernote::EDAM::Type::PremiumInfo, :optional => true}
586
738
  }
587
739
 
588
740
  def struct_fields; FIELDS; end
@@ -1054,6 +1206,11 @@ module Evernote
1054
1206
  # it will be left unset. This field is read-only by clients. The server
1055
1207
  # will ignore all values set by clients into this field.</dd>
1056
1208
  #
1209
+ # <dt>classifications</dt>
1210
+ # <dd>A map of classifications applied to the note by clients or by the
1211
+ # Evernote service. The key is the string name of the classification type,
1212
+ # and the value is a constant that begins with CLASSIFICATION_.</dd>
1213
+ #
1057
1214
  # </dl>
1058
1215
  class NoteAttributes
1059
1216
  include ::Thrift::Struct, ::Thrift::Struct_Union
@@ -1070,6 +1227,7 @@ module Evernote
1070
1227
  CONTENTCLASS = 22
1071
1228
  APPLICATIONDATA = 23
1072
1229
  LASTEDITEDBY = 24
1230
+ CLASSIFICATIONS = 26
1073
1231
 
1074
1232
  FIELDS = {
1075
1233
  SUBJECTDATE => {:type => ::Thrift::Types::I64, :name => 'subjectDate', :optional => true},
@@ -1084,7 +1242,8 @@ module Evernote
1084
1242
  PLACENAME => {:type => ::Thrift::Types::STRING, :name => 'placeName', :optional => true},
1085
1243
  CONTENTCLASS => {:type => ::Thrift::Types::STRING, :name => 'contentClass', :optional => true},
1086
1244
  APPLICATIONDATA => {:type => ::Thrift::Types::STRUCT, :name => 'applicationData', :class => Evernote::EDAM::Type::LazyMap, :optional => true},
1087
- LASTEDITEDBY => {:type => ::Thrift::Types::STRING, :name => 'lastEditedBy', :optional => true}
1245
+ LASTEDITEDBY => {:type => ::Thrift::Types::STRING, :name => 'lastEditedBy', :optional => true},
1246
+ CLASSIFICATIONS => {:type => ::Thrift::Types::MAP, :name => 'classifications', :key => {:type => ::Thrift::Types::STRING}, :value => {:type => ::Thrift::Types::STRING}, :optional => true}
1088
1247
  }
1089
1248
 
1090
1249
  def struct_fields; FIELDS; end
@@ -1303,6 +1462,7 @@ module Evernote
1303
1462
  # <br/>
1304
1463
  # Regex: EDAM_PUBLISHING_DESCRIPTION_REGEX
1305
1464
  # </dd>
1465
+ #
1306
1466
  # </dl>
1307
1467
  class Publishing
1308
1468
  include ::Thrift::Struct, ::Thrift::Struct_Union
@@ -1329,6 +1489,56 @@ module Evernote
1329
1489
  ::Thrift::Struct.generate_accessors self
1330
1490
  end
1331
1491
 
1492
+ # If a Notebook contained in an Evernote Business account has been published
1493
+ # the to business library, the Notebook will have a reference to one of these
1494
+ # structures, which specifies how the Notebook will be represented in the
1495
+ # library.
1496
+ #
1497
+ # <dl>
1498
+ # <dt>notebookDescription</dt>
1499
+ # <dd>A short description of the notebook's content that will be displayed
1500
+ # in the business library user interface. The description may not begin
1501
+ # or end with whitespace.
1502
+ # <br/>
1503
+ # Length: EDAM_BUSINESS_NOTEBOOK_DESCRIPTION_LEN_MIN -
1504
+ # EDAM_BUSINESS_NOTEBOOK_DESCRIPTION_LEN_MAX
1505
+ # <br/>
1506
+ # Regex: EDAM_BUSINESS_NOTEBOOK_DESCRIPTION_REGEX
1507
+ # </dd>
1508
+ #
1509
+ # <dt>privilege</dt>
1510
+ # <dd>The privileges that will be granted to users who join the notebook through
1511
+ # the business library.
1512
+ # </dd>
1513
+ #
1514
+ # <dt>recommended</dt>
1515
+ # <dd>Whether the notebook should be "recommended" when displayed in the business
1516
+ # library user interface.
1517
+ # </dd>
1518
+ # </dl>
1519
+ class BusinessNotebook
1520
+ include ::Thrift::Struct, ::Thrift::Struct_Union
1521
+ NOTEBOOKDESCRIPTION = 1
1522
+ PRIVILEGE = 2
1523
+ RECOMMENDED = 3
1524
+
1525
+ FIELDS = {
1526
+ NOTEBOOKDESCRIPTION => {:type => ::Thrift::Types::STRING, :name => 'notebookDescription', :optional => true},
1527
+ PRIVILEGE => {:type => ::Thrift::Types::I32, :name => 'privilege', :optional => true, :enum_class => Evernote::EDAM::Type::SharedNotebookPrivilegeLevel},
1528
+ RECOMMENDED => {:type => ::Thrift::Types::BOOL, :name => 'recommended', :optional => true}
1529
+ }
1530
+
1531
+ def struct_fields; FIELDS; end
1532
+
1533
+ def validate
1534
+ unless @privilege.nil? || Evernote::EDAM::Type::SharedNotebookPrivilegeLevel::VALID_VALUES.include?(@privilege)
1535
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field privilege!')
1536
+ end
1537
+ end
1538
+
1539
+ ::Thrift::Struct.generate_accessors self
1540
+ end
1541
+
1332
1542
  # A named search associated with the account that can be quickly re-used.
1333
1543
  # <dl>
1334
1544
  # <dt>guid</dt>
@@ -1395,108 +1605,6 @@ module Evernote
1395
1605
  ::Thrift::Struct.generate_accessors self
1396
1606
  end
1397
1607
 
1398
- # An advertisement that may be displayed within an Evernote client.
1399
- # Advertisements are either a snippet of HTML or else they
1400
- # are an image (of type: JPEG, GIF, PNG) with an associated destination URL.
1401
- #
1402
- # <dl>
1403
- # <dt>id</dt>
1404
- # <dd>The unique identifier of this advertisement within Evernote's ad
1405
- # inventory.
1406
- # </dd>
1407
- #
1408
- # <dt>width</dt>
1409
- # <dd>This ad should be displayed within a rectangle that is this wide,
1410
- # in pixels.
1411
- # </dd>
1412
- #
1413
- # <dt>height</dt>
1414
- # <dd>This ad should be displayed within a rectangle that is this high,
1415
- # in pixels.
1416
- # </dd>
1417
- #
1418
- # <dt>advertiserName</dt>
1419
- # <dd>A string containing a readable version of the name of this advertiser.
1420
- # </dd>
1421
- #
1422
- # <dt>imageUrl</dt>
1423
- # <dd>The location of the image to display for this ad.</dd>
1424
- #
1425
- # <dt>destinationUrl</dt>
1426
- # <dd>When a user clicks on the ad, this is the destination they should be
1427
- # sent to in a browser.</dd>
1428
- #
1429
- # <dt>displaySeconds</dt>
1430
- # <dd>The number of seconds that the ad should be displayed before it is
1431
- # replaced with a different ad.</dd>
1432
- #
1433
- # <dt>score</dt>
1434
- # <dd>A numeric indicator of the relative value of this ad, which can be
1435
- # compared against other ads from the same day.
1436
- # </dd>
1437
- #
1438
- # <dt>image</dt>
1439
- # <dd>If present, this is the raw image bits of the image file to display
1440
- # for the ad. If not present, the imageUrl should be retrieved directly.
1441
- # </dd>
1442
- #
1443
- # <dt>imageMime</dt>
1444
- # <dd>The MIME type of the 'image' bytes, if those are set.</dd>
1445
- #
1446
- # <dt>html</dt>
1447
- # <dd>The exact HTML to display for this ad, to support rich or external
1448
- # advertisements.</dd>
1449
- #
1450
- # <dt>displayFrequency</dt>
1451
- # <dd>If this value is set, this is the relatively frequency that this
1452
- # ad should be displayed in the daily set of ads, relative to a base
1453
- # frequency of 1.0. I.e. an ad with a frequency of 3.0 should be displayed
1454
- # three times more frequently than an ad with a frequency of 1.0.</dd>
1455
- #
1456
- # <dt>openInTrunk</dt>
1457
- # <dd>If true, the ad should be opened in the embedded Trunk window by
1458
- # clients with Trunk support.</dd>
1459
- # </dl>
1460
- class Ad
1461
- include ::Thrift::Struct, ::Thrift::Struct_Union
1462
- ID = 1
1463
- WIDTH = 2
1464
- HEIGHT = 3
1465
- ADVERTISERNAME = 4
1466
- IMAGEURL = 5
1467
- DESTINATIONURL = 6
1468
- DISPLAYSECONDS = 7
1469
- SCORE = 8
1470
- IMAGE = 9
1471
- IMAGEMIME = 10
1472
- HTML = 11
1473
- DISPLAYFREQUENCY = 12
1474
- OPENINTRUNK = 13
1475
-
1476
- FIELDS = {
1477
- ID => {:type => ::Thrift::Types::I32, :name => 'id', :optional => true},
1478
- WIDTH => {:type => ::Thrift::Types::I16, :name => 'width', :optional => true},
1479
- HEIGHT => {:type => ::Thrift::Types::I16, :name => 'height', :optional => true},
1480
- ADVERTISERNAME => {:type => ::Thrift::Types::STRING, :name => 'advertiserName', :optional => true},
1481
- IMAGEURL => {:type => ::Thrift::Types::STRING, :name => 'imageUrl', :optional => true},
1482
- DESTINATIONURL => {:type => ::Thrift::Types::STRING, :name => 'destinationUrl', :optional => true},
1483
- DISPLAYSECONDS => {:type => ::Thrift::Types::I16, :name => 'displaySeconds', :optional => true},
1484
- SCORE => {:type => ::Thrift::Types::DOUBLE, :name => 'score', :optional => true},
1485
- IMAGE => {:type => ::Thrift::Types::STRING, :name => 'image', :binary => true, :optional => true},
1486
- IMAGEMIME => {:type => ::Thrift::Types::STRING, :name => 'imageMime', :optional => true},
1487
- HTML => {:type => ::Thrift::Types::STRING, :name => 'html', :optional => true},
1488
- DISPLAYFREQUENCY => {:type => ::Thrift::Types::DOUBLE, :name => 'displayFrequency', :optional => true},
1489
- OPENINTRUNK => {:type => ::Thrift::Types::BOOL, :name => 'openInTrunk', :optional => true}
1490
- }
1491
-
1492
- def struct_fields; FIELDS; end
1493
-
1494
- def validate
1495
- end
1496
-
1497
- ::Thrift::Struct.generate_accessors self
1498
- end
1499
-
1500
1608
  # Shared notebooks represent a relationship between a notebook and a single
1501
1609
  # share invitation recipient.
1502
1610
  # <dl>
@@ -1514,10 +1622,15 @@ module Evernote
1514
1622
  # owner to identify who they shared with.</dd>
1515
1623
  #
1516
1624
  # <dt>notebookModifiable</dt>
1517
- # <dd>a flag indicating the share is read/write -otherwise it's read only</dd>
1625
+ # <dd>(DEPRECATED) a flag indicating the share is read/write -otherwise it's read
1626
+ # only. This field is deprecated in favor of the new "privilege" field.</dd>
1518
1627
  #
1519
1628
  # <dt>requireLogin</dt>
1520
- # <dd>indicates that a user must login to access the share</dd>
1629
+ # <dd>(DEPRECATED) indicates that a user must login to access the share. This
1630
+ # field is deprecated and will be "true" for all new shared notebooks. It
1631
+ # is read-only and ignored when creating or modifying a shared notebook,
1632
+ # except that a shared notebook can be modified to require login.
1633
+ # See "allowPreview" for information on privileges and shared notebooks.</dd>
1521
1634
  #
1522
1635
  # <dt>serviceCreated</dt>
1523
1636
  # <dd>the date the owner first created the share with the specific email
@@ -1532,6 +1645,19 @@ module Evernote
1532
1645
  # <dt>username</dt>
1533
1646
  # <dd>the username of the user who can access this share.
1534
1647
  # Once it's assigned it cannot be changed.</dd>
1648
+ #
1649
+ # <dt>privilege</dt>
1650
+ # <dd>The privilege level granted to the notebook, activity stream, and
1651
+ # invitations. See the corresponding enumeration for details.</dd>
1652
+ #
1653
+ # <dt>allowPreview</dt>
1654
+ # <dd>Whether or not to grant "READ_NOTEBOOK" privilege without an
1655
+ # authentication token, for authenticateToSharedNotebook(...). With
1656
+ # the change to "requireLogin" always being true for new shared
1657
+ # notebooks, this is the only way to access a shared notebook without
1658
+ # an authorization token. This setting expires after the first use
1659
+ # of authenticateToSharedNotebook(...) with a valid authentication
1660
+ # token.</dd>
1535
1661
  # </dl>
1536
1662
  class SharedNotebook
1537
1663
  include ::Thrift::Struct, ::Thrift::Struct_Union
@@ -1545,6 +1671,8 @@ module Evernote
1545
1671
  SERVICEUPDATED = 10
1546
1672
  SHAREKEY = 8
1547
1673
  USERNAME = 9
1674
+ PRIVILEGE = 11
1675
+ ALLOWPREVIEW = 12
1548
1676
 
1549
1677
  FIELDS = {
1550
1678
  ID => {:type => ::Thrift::Types::I64, :name => 'id', :optional => true},
@@ -1556,12 +1684,178 @@ module Evernote
1556
1684
  SERVICECREATED => {:type => ::Thrift::Types::I64, :name => 'serviceCreated', :optional => true},
1557
1685
  SERVICEUPDATED => {:type => ::Thrift::Types::I64, :name => 'serviceUpdated', :optional => true},
1558
1686
  SHAREKEY => {:type => ::Thrift::Types::STRING, :name => 'shareKey', :optional => true},
1559
- USERNAME => {:type => ::Thrift::Types::STRING, :name => 'username', :optional => true}
1687
+ USERNAME => {:type => ::Thrift::Types::STRING, :name => 'username', :optional => true},
1688
+ PRIVILEGE => {:type => ::Thrift::Types::I32, :name => 'privilege', :optional => true, :enum_class => Evernote::EDAM::Type::SharedNotebookPrivilegeLevel},
1689
+ ALLOWPREVIEW => {:type => ::Thrift::Types::BOOL, :name => 'allowPreview', :optional => true}
1560
1690
  }
1561
1691
 
1562
1692
  def struct_fields; FIELDS; end
1563
1693
 
1564
1694
  def validate
1695
+ unless @privilege.nil? || Evernote::EDAM::Type::SharedNotebookPrivilegeLevel::VALID_VALUES.include?(@privilege)
1696
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field privilege!')
1697
+ end
1698
+ end
1699
+
1700
+ ::Thrift::Struct.generate_accessors self
1701
+ end
1702
+
1703
+ # This structure captures information about the types of operations
1704
+ # that cannot be performed on a given notebook with a type of
1705
+ # authenticated access and credentials. The values filled into this
1706
+ # structure are based on then-current values in the server database
1707
+ # for shared notebooks and notebook publishing records, as well as
1708
+ # information related to the authentication token. Information from
1709
+ # the authentication token includes the application that is accessing
1710
+ # the server, as defined by the permissions granted by consumer (api)
1711
+ # key, and the method used to obtain the token, for example via
1712
+ # authenticateToSharedNotebook, authenticateToBusiness, etc. Note
1713
+ # that changes to values in this structure that are the result of
1714
+ # shared notebook or publishing record changes are communicated to
1715
+ # the client via a change in the notebook USN during sync. It is
1716
+ # important to use the same access method, parameters, and consumer
1717
+ # key in order obtain correct results from the sync engine.
1718
+ #
1719
+ # The server has the final say on what is allowed as values may
1720
+ # change between calls to obtain NotebookRestrictions instances
1721
+ # and to operate on data on the service.
1722
+ #
1723
+ # If the following are set and true, then the given restriction is
1724
+ # in effect, as accessed by the same authentication token from which
1725
+ # the values were obtained.
1726
+ #
1727
+ # <dt>noReadNotes</dt>
1728
+ # <dd>The client is not able to read notes from the service and
1729
+ # the notebook is write-only.
1730
+ # </dd>
1731
+ # <dt>noCreateNotes</dt>
1732
+ # <dd>The client may not create new notes in the notebook.
1733
+ # </dd>
1734
+ # <dt>noUpdateNotes</dt>
1735
+ # <dd>The client may not update notes currently in the notebook.
1736
+ # </dd>
1737
+ # <dt>noExpungeNotes</dt>
1738
+ # <dd>The client may not expunge notes currently in the notebook.
1739
+ # </dd>
1740
+ # <dt>noShareNotes</dt>
1741
+ # <dd>The client may not share notes in the notebook via the
1742
+ # shareNote method.
1743
+ # </dd>
1744
+ # <dt>noEmailNotes</dt>
1745
+ # <dd>The client may not e-mail notes via the Evernote service by
1746
+ # using the emailNote method.
1747
+ # </dd>
1748
+ # <dt>noSendMessageToRecipients</dt>
1749
+ # <dd>The client may not send messages to the share recipients of
1750
+ # the notebook.
1751
+ # </dd>
1752
+ # <dt>noUpdateNotebook</dt>
1753
+ # <dd>The client may not update the Notebook object itself, for
1754
+ # example, via the updateNotebook method.
1755
+ # </dd>
1756
+ # <dt>noExpungeNotebook</dt>
1757
+ # <dd>The client may not expunge the Notebook object itself, for
1758
+ # example, via the expungeNotebook method.
1759
+ # </dd>
1760
+ # <dt>noSetDefaultNotebook</dt>
1761
+ # <dd>The client may not set this notebook to be the default notebook.
1762
+ # The caller should leave Notebook.defaultNotebook unset.
1763
+ # </dd>
1764
+ # <dt>noSetNotebookStack</dt>
1765
+ # <dd>If the client is able to update the Notebook, the Notebook.stack
1766
+ # value may not be set.
1767
+ # </dd>
1768
+ # <dt>noPublishToPublic</dt>
1769
+ # <dd>The client may not change the publish the notebook to the public.
1770
+ # For example, business notebooks may not be shared publicly.
1771
+ # </dd>
1772
+ # <dt>noPublishToBusinessLibrary</dt>
1773
+ # <dd>The client may not publish the notebook to the business library.
1774
+ # </dd>
1775
+ # <dt>noCreateTags</dt>
1776
+ # <dd>The client may not complete an operation that results in a new tag
1777
+ # being created in the owner's account.
1778
+ # </dd>
1779
+ # <dt>noUpdateTags</dt>
1780
+ # <dd>The client may not update tags in the owner's account.
1781
+ # </dd>
1782
+ # <dt>noExpungeTags</dt>
1783
+ # <dd>The client may not expunge tags in the owner's account.
1784
+ # </dd>
1785
+ # <dt>noSetParentTag</dt>
1786
+ # <dd>If the client is able to create or update tags in the owner's account,
1787
+ # then they will not be able to set the parent tag. Leave the value unset.
1788
+ # </dd>
1789
+ # <dt>noCreateSharedNotebooks</dt>
1790
+ # <dd>The client is unable to create shared notebooks for the notebook.
1791
+ # </dd>
1792
+ # <dt>updateWhichSharedNotebookRestrictions</dt>
1793
+ # <dd>Restrictions on which shared notebook instances can be updated. If the
1794
+ # value is not set or null, then the client can update any of the shared notebooks
1795
+ # associated with the notebook on which the NotebookRestrictions are defined.
1796
+ # See the enumeration for further details.
1797
+ # </dd>
1798
+ # <dt>expungeWhichSharedNotebookRestrictions</dt>
1799
+ # <dd>Restrictions on which shared notebook instances can be expunged. If the
1800
+ # value is not set or null, then the client can expunge any of the shared notebooks
1801
+ # associated with the notebook on which the NotebookRestrictions are defined.
1802
+ # See the enumeration for further details.
1803
+ # </dd>
1804
+ class NotebookRestrictions
1805
+ include ::Thrift::Struct, ::Thrift::Struct_Union
1806
+ NOREADNOTES = 1
1807
+ NOCREATENOTES = 2
1808
+ NOUPDATENOTES = 3
1809
+ NOEXPUNGENOTES = 4
1810
+ NOSHARENOTES = 5
1811
+ NOEMAILNOTES = 6
1812
+ NOSENDMESSAGETORECIPIENTS = 7
1813
+ NOUPDATENOTEBOOK = 8
1814
+ NOEXPUNGENOTEBOOK = 9
1815
+ NOSETDEFAULTNOTEBOOK = 10
1816
+ NOSETNOTEBOOKSTACK = 11
1817
+ NOPUBLISHTOPUBLIC = 12
1818
+ NOPUBLISHTOBUSINESSLIBRARY = 13
1819
+ NOCREATETAGS = 14
1820
+ NOUPDATETAGS = 15
1821
+ NOEXPUNGETAGS = 16
1822
+ NOSETPARENTTAG = 17
1823
+ NOCREATESHAREDNOTEBOOKS = 18
1824
+ UPDATEWHICHSHAREDNOTEBOOKRESTRICTIONS = 19
1825
+ EXPUNGEWHICHSHAREDNOTEBOOKRESTRICTIONS = 20
1826
+
1827
+ FIELDS = {
1828
+ NOREADNOTES => {:type => ::Thrift::Types::BOOL, :name => 'noReadNotes', :optional => true},
1829
+ NOCREATENOTES => {:type => ::Thrift::Types::BOOL, :name => 'noCreateNotes', :optional => true},
1830
+ NOUPDATENOTES => {:type => ::Thrift::Types::BOOL, :name => 'noUpdateNotes', :optional => true},
1831
+ NOEXPUNGENOTES => {:type => ::Thrift::Types::BOOL, :name => 'noExpungeNotes', :optional => true},
1832
+ NOSHARENOTES => {:type => ::Thrift::Types::BOOL, :name => 'noShareNotes', :optional => true},
1833
+ NOEMAILNOTES => {:type => ::Thrift::Types::BOOL, :name => 'noEmailNotes', :optional => true},
1834
+ NOSENDMESSAGETORECIPIENTS => {:type => ::Thrift::Types::BOOL, :name => 'noSendMessageToRecipients', :optional => true},
1835
+ NOUPDATENOTEBOOK => {:type => ::Thrift::Types::BOOL, :name => 'noUpdateNotebook', :optional => true},
1836
+ NOEXPUNGENOTEBOOK => {:type => ::Thrift::Types::BOOL, :name => 'noExpungeNotebook', :optional => true},
1837
+ NOSETDEFAULTNOTEBOOK => {:type => ::Thrift::Types::BOOL, :name => 'noSetDefaultNotebook', :optional => true},
1838
+ NOSETNOTEBOOKSTACK => {:type => ::Thrift::Types::BOOL, :name => 'noSetNotebookStack', :optional => true},
1839
+ NOPUBLISHTOPUBLIC => {:type => ::Thrift::Types::BOOL, :name => 'noPublishToPublic', :optional => true},
1840
+ NOPUBLISHTOBUSINESSLIBRARY => {:type => ::Thrift::Types::BOOL, :name => 'noPublishToBusinessLibrary', :optional => true},
1841
+ NOCREATETAGS => {:type => ::Thrift::Types::BOOL, :name => 'noCreateTags', :optional => true},
1842
+ NOUPDATETAGS => {:type => ::Thrift::Types::BOOL, :name => 'noUpdateTags', :optional => true},
1843
+ NOEXPUNGETAGS => {:type => ::Thrift::Types::BOOL, :name => 'noExpungeTags', :optional => true},
1844
+ NOSETPARENTTAG => {:type => ::Thrift::Types::BOOL, :name => 'noSetParentTag', :optional => true},
1845
+ NOCREATESHAREDNOTEBOOKS => {:type => ::Thrift::Types::BOOL, :name => 'noCreateSharedNotebooks', :optional => true},
1846
+ UPDATEWHICHSHAREDNOTEBOOKRESTRICTIONS => {:type => ::Thrift::Types::I32, :name => 'updateWhichSharedNotebookRestrictions', :optional => true, :enum_class => Evernote::EDAM::Type::SharedNotebookInstanceRestrictions},
1847
+ EXPUNGEWHICHSHAREDNOTEBOOKRESTRICTIONS => {:type => ::Thrift::Types::I32, :name => 'expungeWhichSharedNotebookRestrictions', :optional => true, :enum_class => Evernote::EDAM::Type::SharedNotebookInstanceRestrictions}
1848
+ }
1849
+
1850
+ def struct_fields; FIELDS; end
1851
+
1852
+ def validate
1853
+ unless @updateWhichSharedNotebookRestrictions.nil? || Evernote::EDAM::Type::SharedNotebookInstanceRestrictions::VALID_VALUES.include?(@updateWhichSharedNotebookRestrictions)
1854
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field updateWhichSharedNotebookRestrictions!')
1855
+ end
1856
+ unless @expungeWhichSharedNotebookRestrictions.nil? || Evernote::EDAM::Type::SharedNotebookInstanceRestrictions::VALID_VALUES.include?(@expungeWhichSharedNotebookRestrictions)
1857
+ raise ::Thrift::ProtocolException.new(::Thrift::ProtocolException::UNKNOWN, 'Invalid value of field expungeWhichSharedNotebookRestrictions!')
1858
+ end
1565
1859
  end
1566
1860
 
1567
1861
  ::Thrift::Struct.generate_accessors self
@@ -1623,20 +1917,22 @@ module Evernote
1623
1917
  # </dd>
1624
1918
  #
1625
1919
  # <dt>publishing</dt>
1626
- # <dd>If the Notebook has been opened for public access (i.e.
1627
- # if 'published' is set to true), then this will point to the set of
1628
- # publishing information for the Notebook (URI, description, etc.). A
1629
- # Notebook cannot be published without providing this information, but it
1630
- # will persist for later use if publishing is ever disabled on the Notebook.
1631
- # Clients that do not wish to change the publishing behavior of a Notebook
1632
- # should not set this value when calling NoteStore.updateNotebook().
1920
+ # <dd>If the Notebook has been opened for public access, or
1921
+ # business users shared with their business (i.e. if 'published' is
1922
+ # set to true), then this will point to the set of publishing
1923
+ # information for the Notebook (URI, description, etc.). A
1924
+ # Notebook cannot be published without providing this information,
1925
+ # but it will persist for later use if publishing is ever disabled
1926
+ # on the Notebook. Clients that do not wish to change the
1927
+ # publishing behavior of a Notebook should not set this value when
1928
+ # calling NoteStore.updateNotebook().
1633
1929
  # </dd>
1634
1930
  #
1635
1931
  # <dt>published</dt>
1636
1932
  # <dd>If this is set to true, then the Notebook will be
1637
- # accessible to the public via the 'publishing' specification, which must
1638
- # also be set. If this is set to false, the Notebook will not be available
1639
- # to the public.
1933
+ # accessible either to the public, or for business users to their business,
1934
+ # via the 'publishing' specification, which must also be set. If this is set
1935
+ # to false, the Notebook will not be available to the public (or business).
1640
1936
  # Clients that do not wish to change the publishing behavior of a Notebook
1641
1937
  # should not set this value when calling NoteStore.updateNotebook().
1642
1938
  # </dd>
@@ -1662,6 +1958,24 @@ module Evernote
1662
1958
  # via this field.
1663
1959
  # </dd>
1664
1960
  #
1961
+ # <dt>businessNotebook</dt>
1962
+ # <dd>If the notebook is part of a business account and has been published to the
1963
+ # business library, this will contain information for the library listing.
1964
+ # The presence or absence of this field is not a reliable test of whether a given
1965
+ # notebook is in fact a business notebook - the field is only used when a notebook is or
1966
+ # has been published to the business library.
1967
+ # </dd>
1968
+ #
1969
+ # <dt>contact</dt>
1970
+ # <dd>Intended for use with Business accounts, this field identifies the user who
1971
+ # has been designated as the "contact". For notebooks created in business
1972
+ # accounts, the server will automatically set this value to the user who created
1973
+ # the notebook unless Notebook.contact.username has been set, in which that value
1974
+ # will be used. When updating a notebook, it is common to leave Notebook.contact
1975
+ # field unset, indicating that no change to the value is being requested and that
1976
+ # the existing value, if any, should be preserved.
1977
+ # </dd>
1978
+ #
1665
1979
  # </dl>
1666
1980
  class Notebook
1667
1981
  include ::Thrift::Struct, ::Thrift::Struct_Union
@@ -1676,6 +1990,9 @@ module Evernote
1676
1990
  STACK = 12
1677
1991
  SHAREDNOTEBOOKIDS = 13
1678
1992
  SHAREDNOTEBOOKS = 14
1993
+ BUSINESSNOTEBOOK = 15
1994
+ CONTACT = 16
1995
+ RESTRICTIONS = 17
1679
1996
 
1680
1997
  FIELDS = {
1681
1998
  GUID => {:type => ::Thrift::Types::STRING, :name => 'guid', :optional => true},
@@ -1688,7 +2005,10 @@ module Evernote
1688
2005
  PUBLISHED => {:type => ::Thrift::Types::BOOL, :name => 'published', :optional => true},
1689
2006
  STACK => {:type => ::Thrift::Types::STRING, :name => 'stack', :optional => true},
1690
2007
  SHAREDNOTEBOOKIDS => {:type => ::Thrift::Types::LIST, :name => 'sharedNotebookIds', :element => {:type => ::Thrift::Types::I64}, :optional => true},
1691
- SHAREDNOTEBOOKS => {:type => ::Thrift::Types::LIST, :name => 'sharedNotebooks', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::SharedNotebook}, :optional => true}
2008
+ SHAREDNOTEBOOKS => {:type => ::Thrift::Types::LIST, :name => 'sharedNotebooks', :element => {:type => ::Thrift::Types::STRUCT, :class => Evernote::EDAM::Type::SharedNotebook}, :optional => true},
2009
+ BUSINESSNOTEBOOK => {:type => ::Thrift::Types::STRUCT, :name => 'businessNotebook', :class => Evernote::EDAM::Type::BusinessNotebook, :optional => true},
2010
+ CONTACT => {:type => ::Thrift::Types::STRUCT, :name => 'contact', :class => Evernote::EDAM::Type::User, :optional => true},
2011
+ RESTRICTIONS => {:type => ::Thrift::Types::STRUCT, :name => 'restrictions', :class => Evernote::EDAM::Type::NotebookRestrictions, :optional => true}
1692
2012
  }
1693
2013
 
1694
2014
  def struct_fields; FIELDS; end
@@ -1721,8 +2041,8 @@ module Evernote
1721
2041
  #
1722
2042
  # <dt>guid</dt>
1723
2043
  # <dd>The unique identifier of this linked notebook. Will be set whenever
1724
- # a resource is retrieved from the service, but may be null when a client
1725
- # is creating a resource.
2044
+ # a linked notebook is retrieved from the service, but may be null when a client
2045
+ # is creating a linked notebook.
1726
2046
  # <br/>
1727
2047
  # Length: EDAM_GUID_LEN_MIN - EDAM_GUID_LEN_MAX
1728
2048
  # <br/>
@@ -1754,6 +2074,20 @@ module Evernote
1754
2074
  # end of this string to construct the full URL, as documented on our
1755
2075
  # developer web site.
1756
2076
  # </dd>
2077
+ #
2078
+ # <dt>stack</dt>
2079
+ # <dd>If this is set, then the notebook is visually contained within a stack
2080
+ # of notebooks with this name. All notebooks in the same account with the
2081
+ # same 'stack' field are considered to be in the same stack.
2082
+ # Notebooks with no stack set are "top level" and not contained within a
2083
+ # stack. The link owner can change this and this field is for the benefit
2084
+ # of the link owner.
2085
+ # </dd>
2086
+ #
2087
+ # <dt>businessId</dt>
2088
+ # <dd>If set, this will be the unique identifier for the business that owns
2089
+ # the notebook to which the linked notebook refers.
2090
+ #
1757
2091
  # </dl>
1758
2092
  class LinkedNotebook
1759
2093
  include ::Thrift::Struct, ::Thrift::Struct_Union
@@ -1766,6 +2100,8 @@ module Evernote
1766
2100
  UPDATESEQUENCENUM = 8
1767
2101
  NOTESTOREURL = 9
1768
2102
  WEBAPIURLPREFIX = 10
2103
+ STACK = 11
2104
+ BUSINESSID = 12
1769
2105
 
1770
2106
  FIELDS = {
1771
2107
  SHARENAME => {:type => ::Thrift::Types::STRING, :name => 'shareName', :optional => true},
@@ -1776,7 +2112,60 @@ module Evernote
1776
2112
  GUID => {:type => ::Thrift::Types::STRING, :name => 'guid', :optional => true},
1777
2113
  UPDATESEQUENCENUM => {:type => ::Thrift::Types::I32, :name => 'updateSequenceNum', :optional => true},
1778
2114
  NOTESTOREURL => {:type => ::Thrift::Types::STRING, :name => 'noteStoreUrl', :optional => true},
1779
- WEBAPIURLPREFIX => {:type => ::Thrift::Types::STRING, :name => 'webApiUrlPrefix', :optional => true}
2115
+ WEBAPIURLPREFIX => {:type => ::Thrift::Types::STRING, :name => 'webApiUrlPrefix', :optional => true},
2116
+ STACK => {:type => ::Thrift::Types::STRING, :name => 'stack', :optional => true},
2117
+ BUSINESSID => {:type => ::Thrift::Types::I32, :name => 'businessId', :optional => true}
2118
+ }
2119
+
2120
+ def struct_fields; FIELDS; end
2121
+
2122
+ def validate
2123
+ end
2124
+
2125
+ ::Thrift::Struct.generate_accessors self
2126
+ end
2127
+
2128
+ # A structure that describes a notebook or a user's relationship with
2129
+ # a notebook. NotebookDescriptor is expected to remain a lighter-weight
2130
+ # structure when compared to Notebook.
2131
+ # <dl>
2132
+ # <dt>guid</dt>
2133
+ # <dd>The unique identifier of the notebook.
2134
+ # </dd>
2135
+ #
2136
+ # <dt>notebookDisplayName</dt>
2137
+ # <dd>A sequence of characters representing the name of the
2138
+ # notebook.
2139
+ # </dd>
2140
+ #
2141
+ # <dt>contactName</dt>
2142
+ # <dd>The User.name value of the notebook's "contact".
2143
+ # </dd>
2144
+ #
2145
+ # <dt>hasSharedNotebook</dt>
2146
+ # <dd>Whether a SharedNotebook record exists between the calling user and this
2147
+ # notebook.
2148
+ # </dd>
2149
+ #
2150
+ # <dt>joinedUserCount</dt>
2151
+ # <dd>The number of users who have joined this notebook.
2152
+ # </dd>
2153
+ #
2154
+ # </dl>
2155
+ class NotebookDescriptor
2156
+ include ::Thrift::Struct, ::Thrift::Struct_Union
2157
+ GUID = 1
2158
+ NOTEBOOKDISPLAYNAME = 2
2159
+ CONTACTNAME = 3
2160
+ HASSHAREDNOTEBOOK = 4
2161
+ JOINEDUSERCOUNT = 5
2162
+
2163
+ FIELDS = {
2164
+ GUID => {:type => ::Thrift::Types::STRING, :name => 'guid', :optional => true},
2165
+ NOTEBOOKDISPLAYNAME => {:type => ::Thrift::Types::STRING, :name => 'notebookDisplayName', :optional => true},
2166
+ CONTACTNAME => {:type => ::Thrift::Types::STRING, :name => 'contactName', :optional => true},
2167
+ HASSHAREDNOTEBOOK => {:type => ::Thrift::Types::BOOL, :name => 'hasSharedNotebook', :optional => true},
2168
+ JOINEDUSERCOUNT => {:type => ::Thrift::Types::I32, :name => 'joinedUserCount', :optional => true}
1780
2169
  }
1781
2170
 
1782
2171
  def struct_fields; FIELDS; end