dub 0.12.1 → 0.12.2

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dub.rb +1 -0
  3. data/lib/open_api_sdk/bounties.rb +752 -0
  4. data/lib/open_api_sdk/dub.rb +2 -1
  5. data/lib/open_api_sdk/models/operations/approvebountysubmission_files.rb +41 -0
  6. data/lib/open_api_sdk/models/operations/approvebountysubmission_files.rbi +17 -0
  7. data/lib/open_api_sdk/models/operations/approvebountysubmission_request.rb +41 -0
  8. data/lib/open_api_sdk/models/operations/approvebountysubmission_request.rbi +17 -0
  9. data/lib/open_api_sdk/models/operations/approvebountysubmission_requestbody.rb +33 -0
  10. data/lib/open_api_sdk/models/operations/approvebountysubmission_requestbody.rbi +13 -0
  11. data/lib/open_api_sdk/models/operations/approvebountysubmission_responsebody.rb +81 -0
  12. data/lib/open_api_sdk/models/operations/approvebountysubmission_responsebody.rbi +37 -0
  13. data/lib/open_api_sdk/models/operations/approvebountysubmission_status.rb +24 -0
  14. data/lib/open_api_sdk/models/operations/approvebountysubmission_status.rbi +11 -0
  15. data/lib/open_api_sdk/models/operations/files.rb +41 -0
  16. data/lib/open_api_sdk/models/operations/files.rbi +17 -0
  17. data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_sortby.rb +22 -0
  18. data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_sortby.rbi +11 -0
  19. data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_sortorder.rb +22 -0
  20. data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_sortorder.rbi +11 -0
  21. data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_status.rb +24 -0
  22. data/lib/open_api_sdk/models/operations/listbountysubmissions_queryparam_status.rbi +11 -0
  23. data/lib/open_api_sdk/models/operations/listbountysubmissions_request.rb +61 -0
  24. data/lib/open_api_sdk/models/operations/listbountysubmissions_request.rbi +27 -0
  25. data/lib/open_api_sdk/models/operations/listbountysubmissions_responsebody.rb +81 -0
  26. data/lib/open_api_sdk/models/operations/listbountysubmissions_responsebody.rbi +37 -0
  27. data/lib/open_api_sdk/models/operations/listbountysubmissions_status.rb +24 -0
  28. data/lib/open_api_sdk/models/operations/listbountysubmissions_status.rbi +11 -0
  29. data/lib/open_api_sdk/models/operations/rejectbountysubmission_files.rb +41 -0
  30. data/lib/open_api_sdk/models/operations/rejectbountysubmission_files.rbi +17 -0
  31. data/lib/open_api_sdk/models/operations/rejectbountysubmission_request.rb +41 -0
  32. data/lib/open_api_sdk/models/operations/rejectbountysubmission_request.rbi +17 -0
  33. data/lib/open_api_sdk/models/operations/rejectbountysubmission_requestbody.rb +37 -0
  34. data/lib/open_api_sdk/models/operations/rejectbountysubmission_requestbody.rbi +15 -0
  35. data/lib/open_api_sdk/models/operations/rejectbountysubmission_responsebody.rb +81 -0
  36. data/lib/open_api_sdk/models/operations/rejectbountysubmission_responsebody.rbi +37 -0
  37. data/lib/open_api_sdk/models/operations/rejectbountysubmission_status.rb +24 -0
  38. data/lib/open_api_sdk/models/operations/rejectbountysubmission_status.rbi +11 -0
  39. data/lib/open_api_sdk/models/operations/rejectionreason.rb +25 -0
  40. data/lib/open_api_sdk/models/operations/rejectionreason.rbi +11 -0
  41. data/lib/open_api_sdk/models/operations/upsertpartnerlink_requestbody.rb +6 -6
  42. data/lib/open_api_sdk/models/operations/upsertpartnerlink_requestbody.rbi +2 -2
  43. data/lib/open_api_sdk/models/operations.rb +18 -0
  44. data/lib/open_api_sdk/models/shared/commissioncreatedevent_data.rb +6 -2
  45. data/lib/open_api_sdk/models/shared/commissioncreatedevent_data.rbi +2 -0
  46. data/lib/open_api_sdk/models/shared/commissioncreatedevent_link.rb +45 -0
  47. data/lib/open_api_sdk/models/shared/commissioncreatedevent_link.rbi +19 -0
  48. data/lib/open_api_sdk/models/shared.rb +1 -0
  49. data/lib/open_api_sdk/sdkconfiguration.rb +2 -2
  50. metadata +41 -2
@@ -16,7 +16,7 @@ module OpenApiSDK
16
16
  class Dub
17
17
  extend T::Sig
18
18
 
19
- attr_accessor :links, :analytics, :events, :tags, :folders, :domains, :track, :customers, :partners, :commissions, :workspaces, :embed_tokens, :qr_codes
19
+ attr_accessor :links, :analytics, :events, :tags, :folders, :domains, :track, :customers, :partners, :commissions, :workspaces, :embed_tokens, :qr_codes, :bounties
20
20
 
21
21
  sig do
22
22
  params(
@@ -90,6 +90,7 @@ module OpenApiSDK
90
90
  @workspaces = Workspaces.new(@sdk_configuration)
91
91
  @embed_tokens = EmbedTokens.new(@sdk_configuration)
92
92
  @qr_codes = QRCodes.new(@sdk_configuration)
93
+ @bounties = Bounties.new(@sdk_configuration)
93
94
  end
94
95
 
95
96
  sig { params(base_url: String, url_variables: T.nilable(T::Hash[Symbol, T.any(String, T::Enum)])).returns(String) }
@@ -0,0 +1,41 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class ApproveBountySubmissionFiles
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url'), required: true } }
18
+
19
+ field :file_name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('fileName'), required: true } }
20
+
21
+ field :size, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('size'), required: true } }
22
+
23
+ sig { params(url: ::String, file_name: ::String, size: ::Float).void }
24
+ def initialize(url:, file_name:, size:)
25
+ @url = url
26
+ @file_name = file_name
27
+ @size = size
28
+ end
29
+
30
+ sig { params(other: T.untyped).returns(T::Boolean) }
31
+ def ==(other)
32
+ return false unless other.is_a? self.class
33
+ return false unless @url == other.url
34
+ return false unless @file_name == other.file_name
35
+ return false unless @size == other.size
36
+ true
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::ApproveBountySubmissionFiles
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ApproveBountySubmissionFiles
11
+ def url(); end
12
+ def url=(str_); end
13
+ def file_name(); end
14
+ def file_name=(str_); end
15
+ def size(); end
16
+ def size=(str_); end
17
+ end
@@ -0,0 +1,41 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class ApproveBountySubmissionRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :bounty_id, ::String, { 'path_param': { 'field_name': 'bountyId', 'style': 'simple', 'explode': false } }
18
+
19
+ field :submission_id, ::String, { 'path_param': { 'field_name': 'submissionId', 'style': 'simple', 'explode': false } }
20
+
21
+ field :request_body, Crystalline::Nilable.new(Models::Operations::ApproveBountySubmissionRequestBody), { 'request': { 'media_type': 'application/json' } }
22
+
23
+ sig { params(bounty_id: ::String, submission_id: ::String, request_body: T.nilable(Models::Operations::ApproveBountySubmissionRequestBody)).void }
24
+ def initialize(bounty_id:, submission_id:, request_body: nil)
25
+ @bounty_id = bounty_id
26
+ @submission_id = submission_id
27
+ @request_body = request_body
28
+ end
29
+
30
+ sig { params(other: T.untyped).returns(T::Boolean) }
31
+ def ==(other)
32
+ return false unless other.is_a? self.class
33
+ return false unless @bounty_id == other.bounty_id
34
+ return false unless @submission_id == other.submission_id
35
+ return false unless @request_body == other.request_body
36
+ true
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::ApproveBountySubmissionRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ApproveBountySubmissionRequest
11
+ def bounty_id(); end
12
+ def bounty_id=(str_); end
13
+ def submission_id(); end
14
+ def submission_id=(str_); end
15
+ def request_body(); end
16
+ def request_body=(str_); end
17
+ 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 OpenApiSDK
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class ApproveBountySubmissionRequestBody
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :reward_amount, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rewardAmount') } }
18
+
19
+ sig { params(reward_amount: T.nilable(::Float)).void }
20
+ def initialize(reward_amount: nil)
21
+ @reward_amount = reward_amount
22
+ end
23
+
24
+ sig { params(other: T.untyped).returns(T::Boolean) }
25
+ def ==(other)
26
+ return false unless other.is_a? self.class
27
+ return false unless @reward_amount == other.reward_amount
28
+ true
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,13 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::ApproveBountySubmissionRequestBody
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ApproveBountySubmissionRequestBody
11
+ def reward_amount(); end
12
+ def reward_amount=(str_); end
13
+ end
@@ -0,0 +1,81 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Models
9
+ module Operations
10
+
11
+ # The approved bounty submission.
12
+ class ApproveBountySubmissionResponseBody
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id'), required: true } }
18
+
19
+ field :bounty_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('bountyId'), required: true } }
20
+
21
+ field :partner_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('partnerId'), required: true } }
22
+
23
+ field :status, Models::Operations::ApproveBountySubmissionStatus, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('status'), required: true, 'decoder': Utils.enum_from_string(Models::Operations::ApproveBountySubmissionStatus, false) } }
24
+
25
+ field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt'), required: true } }
26
+
27
+ field :description, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('description'), required: true } }
28
+
29
+ field :urls, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('urls'), required: true } }
30
+
31
+ field :files, Crystalline::Nilable.new(Crystalline::Array.new(Models::Operations::ApproveBountySubmissionFiles)), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('files'), required: true } }
32
+
33
+ field :performance_count, Crystalline::Nilable.new(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('performanceCount'), required: true } }
34
+
35
+ field :completed_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('completedAt'), required: true } }
36
+
37
+ field :reviewed_at, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('reviewedAt'), required: true } }
38
+
39
+ field :rejection_reason, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rejectionReason'), required: true } }
40
+
41
+ field :rejection_note, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('rejectionNote'), required: true } }
42
+
43
+ sig { params(id: ::String, bounty_id: ::String, partner_id: ::String, status: Models::Operations::ApproveBountySubmissionStatus, created_at: ::String, description: T.nilable(::String), urls: T.nilable(T::Array[::String]), files: T.nilable(T::Array[Models::Operations::ApproveBountySubmissionFiles]), performance_count: T.nilable(::Float), completed_at: T.nilable(::String), reviewed_at: T.nilable(::String), rejection_reason: T.nilable(::String), rejection_note: T.nilable(::String)).void }
44
+ def initialize(id:, bounty_id:, partner_id:, status:, created_at:, description: nil, urls: nil, files: nil, performance_count: nil, completed_at: nil, reviewed_at: nil, rejection_reason: nil, rejection_note: nil)
45
+ @id = id
46
+ @bounty_id = bounty_id
47
+ @partner_id = partner_id
48
+ @status = status
49
+ @created_at = created_at
50
+ @description = description
51
+ @urls = urls
52
+ @files = files
53
+ @performance_count = performance_count
54
+ @completed_at = completed_at
55
+ @reviewed_at = reviewed_at
56
+ @rejection_reason = rejection_reason
57
+ @rejection_note = rejection_note
58
+ end
59
+
60
+ sig { params(other: T.untyped).returns(T::Boolean) }
61
+ def ==(other)
62
+ return false unless other.is_a? self.class
63
+ return false unless @id == other.id
64
+ return false unless @bounty_id == other.bounty_id
65
+ return false unless @partner_id == other.partner_id
66
+ return false unless @status == other.status
67
+ return false unless @created_at == other.created_at
68
+ return false unless @description == other.description
69
+ return false unless @urls == other.urls
70
+ return false unless @files == other.files
71
+ return false unless @performance_count == other.performance_count
72
+ return false unless @completed_at == other.completed_at
73
+ return false unless @reviewed_at == other.reviewed_at
74
+ return false unless @rejection_reason == other.rejection_reason
75
+ return false unless @rejection_note == other.rejection_note
76
+ true
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,37 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::ApproveBountySubmissionResponseBody
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ApproveBountySubmissionResponseBody
11
+ def id(); end
12
+ def id=(str_); end
13
+ def bounty_id(); end
14
+ def bounty_id=(str_); end
15
+ def partner_id(); end
16
+ def partner_id=(str_); end
17
+ def status(); end
18
+ def status=(str_); end
19
+ def created_at(); end
20
+ def created_at=(str_); end
21
+ def description(); end
22
+ def description=(str_); end
23
+ def urls(); end
24
+ def urls=(str_); end
25
+ def files(); end
26
+ def files=(str_); end
27
+ def performance_count(); end
28
+ def performance_count=(str_); end
29
+ def completed_at(); end
30
+ def completed_at=(str_); end
31
+ def reviewed_at(); end
32
+ def reviewed_at=(str_); end
33
+ def rejection_reason(); end
34
+ def rejection_reason=(str_); end
35
+ def rejection_note(); end
36
+ def rejection_note=(str_); end
37
+ end
@@ -0,0 +1,24 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class ApproveBountySubmissionStatus < T::Enum
13
+
14
+
15
+ enums do
16
+ DRAFT = new('draft')
17
+ SUBMITTED = new('submitted')
18
+ APPROVED = new('approved')
19
+ REJECTED = new('rejected')
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::ApproveBountySubmissionStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ApproveBountySubmissionStatus
11
+ end
@@ -0,0 +1,41 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class Files
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url'), required: true } }
18
+
19
+ field :file_name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('fileName'), required: true } }
20
+
21
+ field :size, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('size'), required: true } }
22
+
23
+ sig { params(url: ::String, file_name: ::String, size: ::Float).void }
24
+ def initialize(url:, file_name:, size:)
25
+ @url = url
26
+ @file_name = file_name
27
+ @size = size
28
+ end
29
+
30
+ sig { params(other: T.untyped).returns(T::Boolean) }
31
+ def ==(other)
32
+ return false unless other.is_a? self.class
33
+ return false unless @url == other.url
34
+ return false unless @file_name == other.file_name
35
+ return false unless @size == other.size
36
+ true
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::Files
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::Files
11
+ def url(); end
12
+ def url=(str_); end
13
+ def file_name(); end
14
+ def file_name=(str_); end
15
+ def size(); end
16
+ def size=(str_); end
17
+ end
@@ -0,0 +1,22 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Models
9
+ module Operations
10
+
11
+ # ListBountySubmissionsQueryParamSortBy - The field to sort the submissions by.
12
+ class ListBountySubmissionsQueryParamSortBy < T::Enum
13
+
14
+
15
+ enums do
16
+ COMPLETED_AT = new('completedAt')
17
+ PERFORMANCE_COUNT = new('performanceCount')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::ListBountySubmissionsQueryParamSortBy
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ListBountySubmissionsQueryParamSortBy
11
+ end
@@ -0,0 +1,22 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Models
9
+ module Operations
10
+
11
+ # ListBountySubmissionsQueryParamSortOrder - The order to sort the submissions by.
12
+ class ListBountySubmissionsQueryParamSortOrder < T::Enum
13
+
14
+
15
+ enums do
16
+ ASC = new('asc')
17
+ DESC = new('desc')
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::ListBountySubmissionsQueryParamSortOrder
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ListBountySubmissionsQueryParamSortOrder
11
+ end
@@ -0,0 +1,24 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Models
9
+ module Operations
10
+
11
+ # ListBountySubmissionsQueryParamStatus - The status of the submissions to list.
12
+ class ListBountySubmissionsQueryParamStatus < T::Enum
13
+
14
+
15
+ enums do
16
+ DRAFT = new('draft')
17
+ SUBMITTED = new('submitted')
18
+ APPROVED = new('approved')
19
+ REJECTED = new('rejected')
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::ListBountySubmissionsQueryParamStatus
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ListBountySubmissionsQueryParamStatus
11
+ end
@@ -0,0 +1,61 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class ListBountySubmissionsRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :bounty_id, ::String, { 'path_param': { 'field_name': 'bountyId', 'style': 'simple', 'explode': false } }
18
+ # The status of the submissions to list.
19
+ field :status, Crystalline::Nilable.new(Models::Operations::ListBountySubmissionsQueryParamStatus), { 'query_param': { 'field_name': 'status', 'style': 'form', 'explode': true } }
20
+ # The ID of the group to list submissions for.
21
+ field :group_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'groupId', 'style': 'form', 'explode': true } }
22
+ # The ID of the partner to list submissions for.
23
+ field :partner_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'partnerId', 'style': 'form', 'explode': true } }
24
+ # The field to sort the submissions by.
25
+ field :sort_by, Crystalline::Nilable.new(Models::Operations::ListBountySubmissionsQueryParamSortBy), { 'query_param': { 'field_name': 'sortBy', 'style': 'form', 'explode': true } }
26
+ # The order to sort the submissions by.
27
+ field :sort_order, Crystalline::Nilable.new(Models::Operations::ListBountySubmissionsQueryParamSortOrder), { 'query_param': { 'field_name': 'sortOrder', 'style': 'form', 'explode': true } }
28
+ # The page number for pagination.
29
+ field :page, Crystalline::Nilable.new(::Float), { 'query_param': { 'field_name': 'page', 'style': 'form', 'explode': true } }
30
+ # The number of items per page.
31
+ field :page_size, Crystalline::Nilable.new(::Float), { 'query_param': { 'field_name': 'pageSize', 'style': 'form', 'explode': true } }
32
+
33
+ sig { params(bounty_id: ::String, status: T.nilable(Models::Operations::ListBountySubmissionsQueryParamStatus), group_id: T.nilable(::String), partner_id: T.nilable(::String), sort_by: T.nilable(Models::Operations::ListBountySubmissionsQueryParamSortBy), sort_order: T.nilable(Models::Operations::ListBountySubmissionsQueryParamSortOrder), page: T.nilable(::Float), page_size: T.nilable(::Float)).void }
34
+ def initialize(bounty_id:, status: nil, group_id: nil, partner_id: nil, sort_by: Models::Operations::ListBountySubmissionsQueryParamSortBy::COMPLETED_AT, sort_order: Models::Operations::ListBountySubmissionsQueryParamSortOrder::ASC, page: 1.0, page_size: 100.0)
35
+ @bounty_id = bounty_id
36
+ @status = status
37
+ @group_id = group_id
38
+ @partner_id = partner_id
39
+ @sort_by = sort_by
40
+ @sort_order = sort_order
41
+ @page = page
42
+ @page_size = page_size
43
+ end
44
+
45
+ sig { params(other: T.untyped).returns(T::Boolean) }
46
+ def ==(other)
47
+ return false unless other.is_a? self.class
48
+ return false unless @bounty_id == other.bounty_id
49
+ return false unless @status == other.status
50
+ return false unless @group_id == other.group_id
51
+ return false unless @partner_id == other.partner_id
52
+ return false unless @sort_by == other.sort_by
53
+ return false unless @sort_order == other.sort_order
54
+ return false unless @page == other.page
55
+ return false unless @page_size == other.page_size
56
+ true
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,27 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class OpenApiSDK::Models::Operations::ListBountySubmissionsRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class OpenApiSDK::Models::Operations::ListBountySubmissionsRequest
11
+ def bounty_id(); end
12
+ def bounty_id=(str_); end
13
+ def status(); end
14
+ def status=(str_); end
15
+ def group_id(); end
16
+ def group_id=(str_); end
17
+ def partner_id(); end
18
+ def partner_id=(str_); end
19
+ def sort_by(); end
20
+ def sort_by=(str_); end
21
+ def sort_order(); end
22
+ def sort_order=(str_); end
23
+ def page(); end
24
+ def page=(str_); end
25
+ def page_size(); end
26
+ def page_size=(str_); end
27
+ end