stackone_client 0.13.0 → 0.15.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.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stack_one/hris.rb +782 -230
  3. data/lib/stack_one/models/operations/hris_get_employee_task_request.rb +57 -0
  4. data/lib/stack_one/models/operations/hris_get_employee_task_response.rb +49 -0
  5. data/lib/stack_one/models/operations/hris_list_employee_tasks_queryparam_filter.rb +33 -0
  6. data/lib/stack_one/models/operations/hris_list_employee_tasks_request.rb +77 -0
  7. data/lib/stack_one/models/operations/hris_list_employee_tasks_response.rb +49 -0
  8. data/lib/stack_one/models/operations.rb +5 -0
  9. data/lib/stack_one/models/shared/answer_value.rb +1 -0
  10. data/lib/stack_one/models/shared/createanswer_value.rb +1 -0
  11. data/lib/stack_one/models/shared/file.rb +75 -0
  12. data/lib/stack_one/models/shared/file_4.rb +28 -0
  13. data/lib/stack_one/models/shared/file_category.rb +37 -0
  14. data/lib/stack_one/models/shared/file_file_format.rb +37 -0
  15. data/lib/stack_one/models/shared/file_schemas_4.rb +28 -0
  16. data/lib/stack_one/models/shared/file_schemas_source_value.rb +28 -0
  17. data/lib/stack_one/models/shared/file_source_value.rb +28 -0
  18. data/lib/stack_one/models/shared/file_value.rb +1229 -0
  19. data/lib/stack_one/models/shared/question_value.rb +1 -0
  20. data/lib/stack_one/models/shared/task.rb +105 -0
  21. data/lib/stack_one/models/shared/task_4.rb +28 -0
  22. data/lib/stack_one/models/shared/task_schemas_4.rb +28 -0
  23. data/lib/stack_one/models/shared/task_schemas_source_value.rb +28 -0
  24. data/lib/stack_one/models/shared/task_schemas_value.rb +24 -0
  25. data/lib/stack_one/models/shared/task_source_value.rb +28 -0
  26. data/lib/stack_one/models/shared/task_status.rb +37 -0
  27. data/lib/stack_one/models/shared/task_type.rb +37 -0
  28. data/lib/stack_one/models/shared/task_value.rb +24 -0
  29. data/lib/stack_one/models/shared/taskcommentapimodel.rb +41 -0
  30. data/lib/stack_one/models/shared/taskresult.rb +37 -0
  31. data/lib/stack_one/models/shared/taskspaginated.rb +41 -0
  32. data/lib/stack_one/models/shared.rb +20 -0
  33. data/lib/stack_one/sdkconfiguration.rb +2 -2
  34. metadata +27 -2
@@ -0,0 +1,57 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class HrisGetEmployeeTaskRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :id, ::String, { 'path_param': { 'field_name': 'id', 'style': 'simple', 'explode': false } }
18
+
19
+ field :sub_resource_id, ::String, { 'path_param': { 'field_name': 'subResourceId', 'style': 'simple', 'explode': false } }
20
+ # The account identifier
21
+ field :x_account_id, ::String, { 'header': { 'field_name': 'x-account-id', 'style': 'simple', 'explode': false } }
22
+ # The comma separated list of fields that will be expanded in the response
23
+ field :expand, T.nilable(::String), { 'query_param': { 'field_name': 'expand', 'style': 'form', 'explode': true } }
24
+ # The comma separated list of fields that will be returned in the response (if empty, all fields are returned)
25
+ field :fields_, T.nilable(::String), { 'query_param': { 'field_name': 'fields', 'style': 'form', 'explode': true } }
26
+ # Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key
27
+ field :proxy, T.nilable(T::Hash[Symbol, ::Object]), { 'query_param': { 'field_name': 'proxy', 'style': 'deepObject', 'explode': true } }
28
+ # Indicates that the raw request result should be returned in addition to the mapped result (default value is false)
29
+ field :raw, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'raw', 'style': 'form', 'explode': true } }
30
+
31
+
32
+ sig { params(id: ::String, sub_resource_id: ::String, x_account_id: ::String, expand: T.nilable(::String), fields_: T.nilable(::String), proxy: T.nilable(T::Hash[Symbol, ::Object]), raw: T.nilable(T::Boolean)).void }
33
+ def initialize(id: nil, sub_resource_id: nil, x_account_id: nil, expand: nil, fields_: nil, proxy: nil, raw: nil)
34
+ @id = id
35
+ @sub_resource_id = sub_resource_id
36
+ @x_account_id = x_account_id
37
+ @expand = expand
38
+ @fields_ = fields_
39
+ @proxy = proxy
40
+ @raw = raw
41
+ end
42
+
43
+ def ==(other)
44
+ return false unless other.is_a? self.class
45
+ return false unless @id == other.id
46
+ return false unless @sub_resource_id == other.sub_resource_id
47
+ return false unless @x_account_id == other.x_account_id
48
+ return false unless @expand == other.expand
49
+ return false unless @fields_ == other.fields_
50
+ return false unless @proxy == other.proxy
51
+ return false unless @raw == other.raw
52
+ true
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,49 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class HrisGetEmployeeTaskResponse
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # HTTP response content type for this operation
17
+ field :content_type, ::String
18
+
19
+ field :headers, T::Hash[Symbol, T::Array[::String]]
20
+ # Raw HTTP response; suitable for custom response parsing
21
+ field :raw_response, ::Faraday::Response
22
+ # HTTP response status code for this operation
23
+ field :status_code, ::Integer
24
+ # The task with the given identifier for the employee was retrieved.
25
+ field :task_result, T.nilable(Models::Shared::TaskResult)
26
+
27
+
28
+ sig { params(content_type: ::String, headers: T::Hash[Symbol, T::Array[::String]], raw_response: ::Faraday::Response, status_code: ::Integer, task_result: T.nilable(Models::Shared::TaskResult)).void }
29
+ def initialize(content_type: nil, headers: nil, raw_response: nil, status_code: nil, task_result: nil)
30
+ @content_type = content_type
31
+ @headers = headers
32
+ @raw_response = raw_response
33
+ @status_code = status_code
34
+ @task_result = task_result
35
+ end
36
+
37
+ def ==(other)
38
+ return false unless other.is_a? self.class
39
+ return false unless @content_type == other.content_type
40
+ return false unless @headers == other.headers
41
+ return false unless @raw_response == other.raw_response
42
+ return false unless @status_code == other.status_code
43
+ return false unless @task_result == other.task_result
44
+ true
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,33 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Operations
10
+
11
+ # Filter parameters that allow greater customisation of the list response
12
+ class HrisListEmployeeTasksQueryParamFilter
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # Use a string with a date to only select results updated after that given date
17
+ field :updated_after, T.nilable(::String), { 'query_param': { 'field_name': 'updated_after' } }
18
+
19
+
20
+ sig { params(updated_after: T.nilable(::String)).void }
21
+ def initialize(updated_after: nil)
22
+ @updated_after = updated_after
23
+ end
24
+
25
+ def ==(other)
26
+ return false unless other.is_a? self.class
27
+ return false unless @updated_after == other.updated_after
28
+ true
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,77 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class HrisListEmployeeTasksRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :id, ::String, { 'path_param': { 'field_name': 'id', 'style': 'simple', 'explode': false } }
18
+ # The account identifier
19
+ field :x_account_id, ::String, { 'header': { 'field_name': 'x-account-id', 'style': 'simple', 'explode': false } }
20
+ # The comma separated list of fields that will be expanded in the response
21
+ field :expand, T.nilable(::String), { 'query_param': { 'field_name': 'expand', 'style': 'form', 'explode': true } }
22
+ # The comma separated list of fields that will be returned in the response (if empty, all fields are returned)
23
+ field :fields_, T.nilable(::String), { 'query_param': { 'field_name': 'fields', 'style': 'form', 'explode': true } }
24
+ # Filter parameters that allow greater customisation of the list response
25
+ field :filter, T.nilable(Models::Operations::HrisListEmployeeTasksQueryParamFilter), { 'query_param': { 'field_name': 'filter', 'style': 'deepObject', 'explode': true } }
26
+ # The unified cursor
27
+ field :next_, T.nilable(::String), { 'query_param': { 'field_name': 'next', 'style': 'form', 'explode': true } }
28
+ # The page number of the results to fetch
29
+ #
30
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
31
+ field :page, T.nilable(::String), { 'query_param': { 'field_name': 'page', 'style': 'form', 'explode': true } }
32
+ # The number of results per page (default value is 25)
33
+ field :page_size, T.nilable(::String), { 'query_param': { 'field_name': 'page_size', 'style': 'form', 'explode': true } }
34
+ # Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key
35
+ field :proxy, T.nilable(T::Hash[Symbol, ::Object]), { 'query_param': { 'field_name': 'proxy', 'style': 'deepObject', 'explode': true } }
36
+ # Indicates that the raw request result should be returned in addition to the mapped result (default value is false)
37
+ field :raw, T.nilable(T::Boolean), { 'query_param': { 'field_name': 'raw', 'style': 'form', 'explode': true } }
38
+ # Use a string with a date to only select results updated after that given date
39
+ #
40
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
41
+ field :updated_after, T.nilable(::String), { 'query_param': { 'field_name': 'updated_after', 'style': 'form', 'explode': true } }
42
+
43
+
44
+ sig { params(id: ::String, x_account_id: ::String, expand: T.nilable(::String), fields_: T.nilable(::String), filter: T.nilable(Models::Operations::HrisListEmployeeTasksQueryParamFilter), next_: T.nilable(::String), page: T.nilable(::String), page_size: T.nilable(::String), proxy: T.nilable(T::Hash[Symbol, ::Object]), raw: T.nilable(T::Boolean), updated_after: T.nilable(::String)).void }
45
+ def initialize(id: nil, x_account_id: nil, expand: nil, fields_: nil, filter: nil, next_: nil, page: nil, page_size: nil, proxy: nil, raw: nil, updated_after: nil)
46
+ @id = id
47
+ @x_account_id = x_account_id
48
+ @expand = expand
49
+ @fields_ = fields_
50
+ @filter = filter
51
+ @next_ = next_
52
+ @page = page
53
+ @page_size = page_size
54
+ @proxy = proxy
55
+ @raw = raw
56
+ @updated_after = updated_after
57
+ end
58
+
59
+ def ==(other)
60
+ return false unless other.is_a? self.class
61
+ return false unless @id == other.id
62
+ return false unless @x_account_id == other.x_account_id
63
+ return false unless @expand == other.expand
64
+ return false unless @fields_ == other.fields_
65
+ return false unless @filter == other.filter
66
+ return false unless @next_ == other.next_
67
+ return false unless @page == other.page
68
+ return false unless @page_size == other.page_size
69
+ return false unless @proxy == other.proxy
70
+ return false unless @raw == other.raw
71
+ return false unless @updated_after == other.updated_after
72
+ true
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,49 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class HrisListEmployeeTasksResponse
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # HTTP response content type for this operation
17
+ field :content_type, ::String
18
+
19
+ field :headers, T::Hash[Symbol, T::Array[::String]]
20
+ # Raw HTTP response; suitable for custom response parsing
21
+ field :raw_response, ::Faraday::Response
22
+ # HTTP response status code for this operation
23
+ field :status_code, ::Integer
24
+ # The list of tasks for the employee with the given identifier was retrieved.
25
+ field :tasks_paginated, T.nilable(Models::Shared::TasksPaginated)
26
+
27
+
28
+ sig { params(content_type: ::String, headers: T::Hash[Symbol, T::Array[::String]], raw_response: ::Faraday::Response, status_code: ::Integer, tasks_paginated: T.nilable(Models::Shared::TasksPaginated)).void }
29
+ def initialize(content_type: nil, headers: nil, raw_response: nil, status_code: nil, tasks_paginated: nil)
30
+ @content_type = content_type
31
+ @headers = headers
32
+ @raw_response = raw_response
33
+ @status_code = status_code
34
+ @tasks_paginated = tasks_paginated
35
+ end
36
+
37
+ def ==(other)
38
+ return false unless other.is_a? self.class
39
+ return false unless @content_type == other.content_type
40
+ return false unless @headers == other.headers
41
+ return false unless @raw_response == other.raw_response
42
+ return false unless @status_code == other.status_code
43
+ return false unless @tasks_paginated == other.tasks_paginated
44
+ true
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -242,6 +242,8 @@ module StackOne
242
242
  autoload :HrisGetEmployeeResponse, 'stack_one/models/operations/hris_get_employee_response.rb'
243
243
  autoload :HrisGetEmployeeSkillRequest, 'stack_one/models/operations/hris_get_employee_skill_request.rb'
244
244
  autoload :HrisGetEmployeeSkillResponse, 'stack_one/models/operations/hris_get_employee_skill_response.rb'
245
+ autoload :HrisGetEmployeeTaskRequest, 'stack_one/models/operations/hris_get_employee_task_request.rb'
246
+ autoload :HrisGetEmployeeTaskResponse, 'stack_one/models/operations/hris_get_employee_task_response.rb'
245
247
  autoload :HrisGetEmployeeTimeOffBalanceRequest, 'stack_one/models/operations/hris_get_employee_time_off_balance_request.rb'
246
248
  autoload :HrisGetEmployeeTimeOffBalanceResponse, 'stack_one/models/operations/hris_get_employee_time_off_balance_response.rb'
247
249
  autoload :HrisGetEmployeesTimeOffRequestRequest, 'stack_one/models/operations/hris_get_employees_time_off_request_request.rb'
@@ -295,6 +297,9 @@ module StackOne
295
297
  autoload :HrisListEmployeeSkillsQueryParamFilter, 'stack_one/models/operations/hris_list_employee_skills_queryparam_filter.rb'
296
298
  autoload :HrisListEmployeeSkillsRequest, 'stack_one/models/operations/hris_list_employee_skills_request.rb'
297
299
  autoload :HrisListEmployeeSkillsResponse, 'stack_one/models/operations/hris_list_employee_skills_response.rb'
300
+ autoload :HrisListEmployeeTasksQueryParamFilter, 'stack_one/models/operations/hris_list_employee_tasks_queryparam_filter.rb'
301
+ autoload :HrisListEmployeeTasksRequest, 'stack_one/models/operations/hris_list_employee_tasks_request.rb'
302
+ autoload :HrisListEmployeeTasksResponse, 'stack_one/models/operations/hris_list_employee_tasks_response.rb'
298
303
  autoload :HrisListEmployeeTimeOffBalancesQueryParamFilter, 'stack_one/models/operations/hris_list_employee_time_off_balances_queryparam_filter.rb'
299
304
  autoload :HrisListEmployeeTimeOffBalancesRequest, 'stack_one/models/operations/hris_list_employee_time_off_balances_request.rb'
300
305
  autoload :HrisListEmployeeTimeOffBalancesResponse, 'stack_one/models/operations/hris_list_employee_time_off_balances_response.rb'
@@ -20,6 +20,7 @@ module StackOne
20
20
  NUMBER = new('number')
21
21
  DATE = new('date')
22
22
  VIDEO = new('video')
23
+ REFERENCE_CHECK = new('reference_check')
23
24
  URL = new('url')
24
25
  UNMAPPED_VALUE = new('unmapped_value')
25
26
  end
@@ -20,6 +20,7 @@ module StackOne
20
20
  NUMBER = new('number')
21
21
  DATE = new('date')
22
22
  VIDEO = new('video')
23
+ REFERENCE_CHECK = new('reference_check')
23
24
  URL = new('url')
24
25
  UNMAPPED_VALUE = new('unmapped_value')
25
26
  end
@@ -0,0 +1,75 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class File
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The category of the file
17
+ field :category, T.nilable(Models::Shared::FileCategory), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('category') } }
18
+ # The categoryId of the documents
19
+ field :category_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('category_id') } }
20
+ # The content of the file. Deprecated, use `url` and `file_format` one level up instead
21
+ #
22
+ # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible.
23
+ field :contents, T.nilable(T::Array[Models::Shared::Content]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('contents') } }
24
+ # The creation date of the file
25
+ field :created_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
26
+ # The file format of the file
27
+ field :file_format, T.nilable(Models::Shared::FileFileFormat), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('file_format') } }
28
+ # Unique identifier
29
+ field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } }
30
+ # The name of the file
31
+ field :name, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('name') } }
32
+ # The path where the file is stored
33
+ field :path, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('path') } }
34
+ # Provider's unique identifier
35
+ field :remote_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_id') } }
36
+ # URL where the file content is located
37
+ field :remote_url, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_url') } }
38
+ # The update date of the file
39
+ field :updated_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } }
40
+
41
+
42
+ sig { params(category: T.nilable(Models::Shared::FileCategory), category_id: T.nilable(::String), contents: T.nilable(T::Array[Models::Shared::Content]), created_at: T.nilable(::DateTime), file_format: T.nilable(Models::Shared::FileFileFormat), id: T.nilable(::String), name: T.nilable(::String), path: T.nilable(::String), remote_id: T.nilable(::String), remote_url: T.nilable(::String), updated_at: T.nilable(::DateTime)).void }
43
+ def initialize(category: nil, category_id: nil, contents: nil, created_at: nil, file_format: nil, id: nil, name: nil, path: nil, remote_id: nil, remote_url: nil, updated_at: nil)
44
+ @category = category
45
+ @category_id = category_id
46
+ @contents = contents
47
+ @created_at = created_at
48
+ @file_format = file_format
49
+ @id = id
50
+ @name = name
51
+ @path = path
52
+ @remote_id = remote_id
53
+ @remote_url = remote_url
54
+ @updated_at = updated_at
55
+ end
56
+
57
+ def ==(other)
58
+ return false unless other.is_a? self.class
59
+ return false unless @category == other.category
60
+ return false unless @category_id == other.category_id
61
+ return false unless @contents == other.contents
62
+ return false unless @created_at == other.created_at
63
+ return false unless @file_format == other.file_format
64
+ return false unless @id == other.id
65
+ return false unless @name == other.name
66
+ return false unless @path == other.path
67
+ return false unless @remote_id == other.remote_id
68
+ return false unless @remote_url == other.remote_url
69
+ return false unless @updated_at == other.updated_at
70
+ true
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,28 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class File4
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+
19
+ def initialize; end
20
+
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,37 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+ # The category of the file
12
+ class FileCategory
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :source_value, T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::File4, T::Array[::Object])), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
18
+ # The category of the file
19
+ field :value, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value') } }
20
+
21
+
22
+ sig { params(source_value: T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::File4, T::Array[::Object])), value: T.nilable(::String)).void }
23
+ def initialize(source_value: nil, value: nil)
24
+ @source_value = source_value
25
+ @value = value
26
+ end
27
+
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @source_value == other.source_value
31
+ return false unless @value == other.value
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,37 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+ # The file format of the file
12
+ class FileFileFormat
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :source_value, T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::FileSchemas4, T::Array[::Object])), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('source_value') } }
18
+ # The file format of the file, expressed as a file extension
19
+ field :value, T.nilable(Models::Shared::FileValue), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Models::Shared::FileValue, true) } }
20
+
21
+
22
+ sig { params(source_value: T.nilable(T.any(::String, ::Float, T::Boolean, Models::Shared::FileSchemas4, T::Array[::Object])), value: T.nilable(Models::Shared::FileValue)).void }
23
+ def initialize(source_value: nil, value: nil)
24
+ @source_value = source_value
25
+ @value = value
26
+ end
27
+
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @source_value == other.source_value
31
+ return false unless @value == other.value
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,28 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class FileSchemas4
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+
19
+ def initialize; end
20
+
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class FileSchemasSourceValue
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+
19
+ def initialize; end
20
+
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module StackOne
8
+ module Models
9
+ module Shared
10
+
11
+
12
+ class FileSourceValue
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+
18
+
19
+ def initialize; end
20
+
21
+ def ==(other)
22
+ return false unless other.is_a? self.class
23
+ true
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end