phrase 1.0.7 → 1.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -3
  3. data/docs/BranchName.md +17 -0
  4. data/docs/Invitation.md +9 -1
  5. data/docs/InvitationCreateParameters.md +4 -0
  6. data/docs/InvitationUpdateParameters.md +4 -0
  7. data/docs/InvitationUpdateSettingsParameters.md +19 -0
  8. data/docs/InvitationsApi.md +66 -0
  9. data/docs/Job.md +5 -3
  10. data/docs/JobDetails.md +4 -2
  11. data/docs/JobLocale.md +3 -1
  12. data/docs/LocalesApi.md +2 -0
  13. data/docs/Member.md +7 -1
  14. data/docs/MemberProjectDetail.md +35 -0
  15. data/docs/MemberProjectDetailProjectRoles.md +19 -0
  16. data/docs/MemberSpaces.md +25 -0
  17. data/docs/MemberUpdateParameters.md +4 -0
  18. data/docs/MemberUpdateSettingsParameters.md +19 -0
  19. data/docs/MembersApi.md +66 -0
  20. data/docs/Webhook.md +2 -0
  21. data/docs/WebhookCreateParameters.md +3 -1
  22. data/docs/WebhookUpdateParameters.md +3 -1
  23. data/lib/phrase.rb +6 -0
  24. data/lib/phrase/api/invitations_api.rb +80 -0
  25. data/lib/phrase/api/locales_api.rb +3 -0
  26. data/lib/phrase/api/members_api.rb +80 -0
  27. data/lib/phrase/api_client.rb +2 -0
  28. data/lib/phrase/models/branch_name.rb +194 -0
  29. data/lib/phrase/models/invitation.rb +48 -4
  30. data/lib/phrase/models/invitation_create_parameters.rb +25 -1
  31. data/lib/phrase/models/invitation_update_parameters.rb +25 -1
  32. data/lib/phrase/models/invitation_update_settings_parameters.rb +207 -0
  33. data/lib/phrase/models/job.rb +22 -13
  34. data/lib/phrase/models/job_details.rb +19 -10
  35. data/lib/phrase/models/job_locale.rb +13 -4
  36. data/lib/phrase/models/member.rb +35 -4
  37. data/lib/phrase/models/member_project_detail.rb +285 -0
  38. data/lib/phrase/models/member_project_detail_project_roles.rb +203 -0
  39. data/lib/phrase/models/member_spaces.rb +230 -0
  40. data/lib/phrase/models/member_update_parameters.rb +25 -1
  41. data/lib/phrase/models/member_update_settings_parameters.rb +207 -0
  42. data/lib/phrase/models/webhook.rb +10 -1
  43. data/lib/phrase/models/webhook_create_parameters.rb +14 -4
  44. data/lib/phrase/models/webhook_update_parameters.rb +14 -4
  45. data/lib/phrase/version.rb +1 -1
  46. data/spec/api/invitations_api_spec.rb +15 -0
  47. data/spec/api/locales_api_spec.rb +1 -0
  48. data/spec/api/members_api_spec.rb +15 -0
  49. data/spec/models/branch_name_spec.rb +29 -0
  50. data/spec/models/invitation_create_parameters_spec.rb +12 -0
  51. data/spec/models/invitation_spec.rb +24 -0
  52. data/spec/models/invitation_update_parameters_spec.rb +12 -0
  53. data/spec/models/invitation_update_settings_parameters_spec.rb +35 -0
  54. data/spec/models/job_details_spec.rb +9 -3
  55. data/spec/models/job_locale_spec.rb +6 -0
  56. data/spec/models/job_spec.rb +9 -3
  57. data/spec/models/member_project_detail_project_roles_spec.rb +35 -0
  58. data/spec/models/member_project_detail_spec.rb +83 -0
  59. data/spec/models/member_spaces_spec.rb +53 -0
  60. data/spec/models/member_spec.rb +18 -0
  61. data/spec/models/member_update_parameters_spec.rb +12 -0
  62. data/spec/models/member_update_settings_parameters_spec.rb +35 -0
  63. data/spec/models/webhook_create_parameters_spec.rb +6 -0
  64. data/spec/models/webhook_spec.rb +6 -0
  65. data/spec/models/webhook_update_parameters_spec.rb +6 -0
  66. metadata +189 -165
@@ -0,0 +1,207 @@
1
+ require 'date'
2
+
3
+ module Phrase
4
+ class MemberUpdateSettingsParameters
5
+ # Member role, can be any of of Manager, Developer, Translator
6
+ attr_accessor :project_role
7
+
8
+ # List of locale ids the user has access to.
9
+ attr_accessor :locale_ids
10
+
11
+ # Attribute mapping from ruby-style variable name to JSON key.
12
+ def self.attribute_map
13
+ {
14
+ :'project_role' => :'project_role',
15
+ :'locale_ids' => :'locale_ids'
16
+ }
17
+ end
18
+
19
+ # Attribute type mapping.
20
+ def self.openapi_types
21
+ {
22
+ :'project_role' => :'String',
23
+ :'locale_ids' => :'Array<String>'
24
+ }
25
+ end
26
+
27
+ # List of attributes with nullable: true
28
+ def self.openapi_nullable
29
+ Set.new([
30
+ ])
31
+ end
32
+
33
+ # Initializes the object
34
+ # @param [Hash] attributes Model attributes in the form of hash
35
+ def initialize(attributes = {})
36
+ if (!attributes.is_a?(Hash))
37
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Phrase::MemberUpdateSettingsParameters` initialize method"
38
+ end
39
+
40
+ # check to see if the attribute exists and convert string to symbol for hash key
41
+ attributes = attributes.each_with_object({}) { |(k, v), h|
42
+ if (!self.class.attribute_map.key?(k.to_sym))
43
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Phrase::MemberUpdateSettingsParameters`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
44
+ end
45
+ h[k.to_sym] = v
46
+ }
47
+
48
+ if attributes.key?(:'project_role')
49
+ self.project_role = attributes[:'project_role']
50
+ end
51
+
52
+ if attributes.key?(:'locale_ids')
53
+ if (value = attributes[:'locale_ids']).is_a?(Array)
54
+ self.locale_ids = value
55
+ end
56
+ end
57
+ end
58
+
59
+ # Show invalid properties with the reasons. Usually used together with valid?
60
+ # @return Array for valid properties with the reasons
61
+ def list_invalid_properties
62
+ invalid_properties = Array.new
63
+ invalid_properties
64
+ end
65
+
66
+ # Check to see if the all the properties in the model are valid
67
+ # @return true if the model is valid
68
+ def valid?
69
+ true
70
+ end
71
+
72
+ # Checks equality by comparing each attribute.
73
+ # @param [Object] Object to be compared
74
+ def ==(o)
75
+ return true if self.equal?(o)
76
+ self.class == o.class &&
77
+ project_role == o.project_role &&
78
+ locale_ids == o.locale_ids
79
+ end
80
+
81
+ # @see the `==` method
82
+ # @param [Object] Object to be compared
83
+ def eql?(o)
84
+ self == o
85
+ end
86
+
87
+ # Calculates hash code according to all attributes.
88
+ # @return [Integer] Hash code
89
+ def hash
90
+ [project_role, locale_ids].hash
91
+ end
92
+
93
+ # Builds the object from hash
94
+ # @param [Hash] attributes Model attributes in the form of hash
95
+ # @return [Object] Returns the model itself
96
+ def self.build_from_hash(attributes)
97
+ new.build_from_hash(attributes)
98
+ end
99
+
100
+ # Builds the object from hash
101
+ # @param [Hash] attributes Model attributes in the form of hash
102
+ # @return [Object] Returns the model itself
103
+ def build_from_hash(attributes)
104
+ return nil unless attributes.is_a?(Hash)
105
+ self.class.openapi_types.each_pair do |key, type|
106
+ if type =~ /\AArray<(.*)>/i
107
+ # check to ensure the input is an array given that the attribute
108
+ # is documented as an array but the input is not
109
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
110
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
111
+ end
112
+ elsif !attributes[self.class.attribute_map[key]].nil?
113
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
114
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
115
+ end
116
+
117
+ self
118
+ end
119
+
120
+ # Deserializes the data based on type
121
+ # @param string type Data type
122
+ # @param string value Value to be deserialized
123
+ # @return [Object] Deserialized data
124
+ def _deserialize(type, value)
125
+ case type.to_sym
126
+ when :DateTime
127
+ DateTime.parse(value)
128
+ when :Date
129
+ Date.parse(value)
130
+ when :String
131
+ value.to_s
132
+ when :Integer
133
+ value.to_i
134
+ when :Float
135
+ value.to_f
136
+ when :Boolean
137
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
138
+ true
139
+ else
140
+ false
141
+ end
142
+ when :Object
143
+ # generic object (usually a Hash), return directly
144
+ value
145
+ when /\AArray<(?<inner_type>.+)>\z/
146
+ inner_type = Regexp.last_match[:inner_type]
147
+ value.map { |v| _deserialize(inner_type, v) }
148
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
149
+ k_type = Regexp.last_match[:k_type]
150
+ v_type = Regexp.last_match[:v_type]
151
+ {}.tap do |hash|
152
+ value.each do |k, v|
153
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
154
+ end
155
+ end
156
+ else # model
157
+ Phrase.const_get(type).build_from_hash(value)
158
+ end
159
+ end
160
+
161
+ # Returns the string representation of the object
162
+ # @return [String] String presentation of the object
163
+ def to_s
164
+ to_hash.to_s
165
+ end
166
+
167
+ # to_body is an alias to to_hash (backward compatibility)
168
+ # @return [Hash] Returns the object in the form of hash
169
+ def to_body
170
+ to_hash
171
+ end
172
+
173
+ # Returns the object in the form of hash
174
+ # @return [Hash] Returns the object in the form of hash
175
+ def to_hash
176
+ hash = {}
177
+ self.class.attribute_map.each_pair do |attr, param|
178
+ value = self.send(attr)
179
+ if value.nil?
180
+ is_nullable = self.class.openapi_nullable.include?(attr)
181
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
182
+ end
183
+
184
+ hash[param] = _to_hash(value)
185
+ end
186
+ hash
187
+ end
188
+
189
+ # Outputs non-array value in the form of hash
190
+ # For object, use to_hash. Otherwise, just return the value
191
+ # @param [Object] value Any valid value
192
+ # @return [Hash] Returns the value in the form of hash
193
+ def _to_hash(value)
194
+ if value.is_a?(Array)
195
+ value.compact.map { |v| _to_hash(v) }
196
+ elsif value.is_a?(Hash)
197
+ {}.tap do |hash|
198
+ value.each { |k, v| hash[k] = _to_hash(v) }
199
+ end
200
+ elsif value.respond_to? :to_hash
201
+ value.to_hash
202
+ else
203
+ value
204
+ end
205
+ end
206
+ end
207
+ end
@@ -12,6 +12,8 @@ module Phrase
12
12
 
13
13
  attr_accessor :active
14
14
 
15
+ attr_accessor :include_branches
16
+
15
17
  attr_accessor :created_at
16
18
 
17
19
  attr_accessor :updated_at
@@ -24,6 +26,7 @@ module Phrase
24
26
  :'description' => :'description',
25
27
  :'events' => :'events',
26
28
  :'active' => :'active',
29
+ :'include_branches' => :'include_branches',
27
30
  :'created_at' => :'created_at',
28
31
  :'updated_at' => :'updated_at'
29
32
  }
@@ -37,6 +40,7 @@ module Phrase
37
40
  :'description' => :'String',
38
41
  :'events' => :'Array<String>',
39
42
  :'active' => :'Boolean',
43
+ :'include_branches' => :'Boolean',
40
44
  :'created_at' => :'DateTime',
41
45
  :'updated_at' => :'DateTime'
42
46
  }
@@ -85,6 +89,10 @@ module Phrase
85
89
  self.active = attributes[:'active']
86
90
  end
87
91
 
92
+ if attributes.key?(:'include_branches')
93
+ self.include_branches = attributes[:'include_branches']
94
+ end
95
+
88
96
  if attributes.key?(:'created_at')
89
97
  self.created_at = attributes[:'created_at']
90
98
  end
@@ -117,6 +125,7 @@ module Phrase
117
125
  description == o.description &&
118
126
  events == o.events &&
119
127
  active == o.active &&
128
+ include_branches == o.include_branches &&
120
129
  created_at == o.created_at &&
121
130
  updated_at == o.updated_at
122
131
  end
@@ -130,7 +139,7 @@ module Phrase
130
139
  # Calculates hash code according to all attributes.
131
140
  # @return [Integer] Hash code
132
141
  def hash
133
- [id, callback_url, description, events, active, created_at, updated_at].hash
142
+ [id, callback_url, description, events, active, include_branches, created_at, updated_at].hash
134
143
  end
135
144
 
136
145
  # Builds the object from hash
@@ -17,6 +17,9 @@ module Phrase
17
17
  # Whether webhook is active or inactive
18
18
  attr_accessor :active
19
19
 
20
+ # If enabled, webhook will also be triggered for events from branches of the project specified.
21
+ attr_accessor :include_branches
22
+
20
23
  # Attribute mapping from ruby-style variable name to JSON key.
21
24
  def self.attribute_map
22
25
  {
@@ -24,7 +27,8 @@ module Phrase
24
27
  :'secret' => :'secret',
25
28
  :'description' => :'description',
26
29
  :'events' => :'events',
27
- :'active' => :'active'
30
+ :'active' => :'active',
31
+ :'include_branches' => :'include_branches'
28
32
  }
29
33
  end
30
34
 
@@ -35,7 +39,8 @@ module Phrase
35
39
  :'secret' => :'String',
36
40
  :'description' => :'String',
37
41
  :'events' => :'String',
38
- :'active' => :'Boolean'
42
+ :'active' => :'Boolean',
43
+ :'include_branches' => :'Boolean'
39
44
  }
40
45
  end
41
46
 
@@ -79,6 +84,10 @@ module Phrase
79
84
  if attributes.key?(:'active')
80
85
  self.active = attributes[:'active']
81
86
  end
87
+
88
+ if attributes.key?(:'include_branches')
89
+ self.include_branches = attributes[:'include_branches']
90
+ end
82
91
  end
83
92
 
84
93
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -103,7 +112,8 @@ module Phrase
103
112
  secret == o.secret &&
104
113
  description == o.description &&
105
114
  events == o.events &&
106
- active == o.active
115
+ active == o.active &&
116
+ include_branches == o.include_branches
107
117
  end
108
118
 
109
119
  # @see the `==` method
@@ -115,7 +125,7 @@ module Phrase
115
125
  # Calculates hash code according to all attributes.
116
126
  # @return [Integer] Hash code
117
127
  def hash
118
- [callback_url, secret, description, events, active].hash
128
+ [callback_url, secret, description, events, active, include_branches].hash
119
129
  end
120
130
 
121
131
  # Builds the object from hash
@@ -17,6 +17,9 @@ module Phrase
17
17
  # Whether webhook is active or inactive
18
18
  attr_accessor :active
19
19
 
20
+ # If enabled, webhook will also be triggered for events from branches of the project specified.
21
+ attr_accessor :include_branches
22
+
20
23
  # Attribute mapping from ruby-style variable name to JSON key.
21
24
  def self.attribute_map
22
25
  {
@@ -24,7 +27,8 @@ module Phrase
24
27
  :'secret' => :'secret',
25
28
  :'description' => :'description',
26
29
  :'events' => :'events',
27
- :'active' => :'active'
30
+ :'active' => :'active',
31
+ :'include_branches' => :'include_branches'
28
32
  }
29
33
  end
30
34
 
@@ -35,7 +39,8 @@ module Phrase
35
39
  :'secret' => :'String',
36
40
  :'description' => :'String',
37
41
  :'events' => :'String',
38
- :'active' => :'Boolean'
42
+ :'active' => :'Boolean',
43
+ :'include_branches' => :'Boolean'
39
44
  }
40
45
  end
41
46
 
@@ -79,6 +84,10 @@ module Phrase
79
84
  if attributes.key?(:'active')
80
85
  self.active = attributes[:'active']
81
86
  end
87
+
88
+ if attributes.key?(:'include_branches')
89
+ self.include_branches = attributes[:'include_branches']
90
+ end
82
91
  end
83
92
 
84
93
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -103,7 +112,8 @@ module Phrase
103
112
  secret == o.secret &&
104
113
  description == o.description &&
105
114
  events == o.events &&
106
- active == o.active
115
+ active == o.active &&
116
+ include_branches == o.include_branches
107
117
  end
108
118
 
109
119
  # @see the `==` method
@@ -115,7 +125,7 @@ module Phrase
115
125
  # Calculates hash code according to all attributes.
116
126
  # @return [Integer] Hash code
117
127
  def hash
118
- [callback_url, secret, description, events, active].hash
128
+ [callback_url, secret, description, events, active, include_branches].hash
119
129
  end
120
130
 
121
131
  # Builds the object from hash
@@ -1,3 +1,3 @@
1
1
  module Phrase
2
- VERSION = '1.0.7'
2
+ VERSION = '1.0.12'
3
3
  end
@@ -91,6 +91,21 @@ describe 'InvitationsApi' do
91
91
  end
92
92
  end
93
93
 
94
+ # unit tests for invitation_update_settings
95
+ # Update a member&#39;s invitation access
96
+ # Update member&#39;s settings in the invitations. Access token scope must include &lt;code&gt;team.manage&lt;/code&gt;.
97
+ # @param project_id Project ID
98
+ # @param id ID
99
+ # @param invitation_update_settings_parameters
100
+ # @param [Hash] opts the optional parameters
101
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
102
+ # @return [Invitation]
103
+ describe 'invitation_update_settings test' do
104
+ it 'should work' do
105
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
106
+ end
107
+ end
108
+
94
109
  # unit tests for invitations_list
95
110
  # List invitations
96
111
  # List invitations for an account. It will also list the accessible resources like projects and locales the invited user has access to. In case nothing is shown the default access from the role is used. Access token scope must include &lt;code&gt;team.manage&lt;/code&gt;.
@@ -61,6 +61,7 @@ describe 'LocalesApi' do
61
61
  # @option opts [String] :tags Limit results to keys tagged with a list of comma separated tag names.
62
62
  # @option opts [String] :tag Limit download to tagged keys. This parameter is deprecated. Please use the \&quot;tags\&quot; parameter instead
63
63
  # @option opts [Boolean] :include_empty_translations Indicates whether keys without translations should be included in the output as well.
64
+ # @option opts [Boolean] :exclude_empty_zero_forms Indicates whether zero forms should be included when empty in pluralized keys.
64
65
  # @option opts [Boolean] :include_translated_keys Include translated keys in the locale file. Use in combination with include_empty_translations to obtain only untranslated keys.
65
66
  # @option opts [Boolean] :keep_notranslate_tags Indicates whether [NOTRANSLATE] tags should be kept.
66
67
  # @option opts [Boolean] :convert_emoji This option is obsolete. Projects that were created on or after Nov 29th 2019 or that did not contain emoji by then will not require this flag any longer since emoji are now supported natively.
@@ -63,6 +63,21 @@ describe 'MembersApi' do
63
63
  end
64
64
  end
65
65
 
66
+ # unit tests for member_update_settings
67
+ # Update a member&#39;s project settings
68
+ # Update user settings in the project. Access token scope must include &lt;code&gt;team.manage&lt;/code&gt;.
69
+ # @param project_id Project ID
70
+ # @param id ID
71
+ # @param member_update_settings_parameters
72
+ # @param [Hash] opts the optional parameters
73
+ # @option opts [String] :x_phrase_app_otp Two-Factor-Authentication token (optional)
74
+ # @return [MemberProjectDetail]
75
+ describe 'member_update_settings test' do
76
+ it 'should work' do
77
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
78
+ end
79
+ end
80
+
66
81
  # unit tests for members_list
67
82
  # List members
68
83
  # Get all users active in the account. It also lists resources like projects and locales the member has access to. In case nothing is shown the default access from the role is used. Access token scope must include &lt;code&gt;team.manage&lt;/code&gt;.
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+ require 'json'
3
+ require 'date'
4
+
5
+ # Unit tests for Phrase::BranchName
6
+ # Automatically generated by openapi-generator (https://openapi-generator.tech)
7
+ # Please update as you see appropriate
8
+ describe 'BranchName' do
9
+ before do
10
+ # run before each test
11
+ @instance = Phrase::BranchName.new
12
+ end
13
+
14
+ after do
15
+ # run after each test
16
+ end
17
+
18
+ describe 'test an instance of BranchName' do
19
+ it 'should create an instance of BranchName' do
20
+ expect(@instance).to be_instance_of(Phrase::BranchName)
21
+ end
22
+ end
23
+ describe 'test attribute "name"' do
24
+ it 'should work' do
25
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
26
+ end
27
+ end
28
+
29
+ end