dub 0.0.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 (131) hide show
  1. checksums.yaml +7 -0
  2. data/lib/dub.rb +23 -0
  3. data/lib/open_api_sdk/analytics.rb +99 -0
  4. data/lib/open_api_sdk/domains.rb +577 -0
  5. data/lib/open_api_sdk/dub.rb +107 -0
  6. data/lib/open_api_sdk/links.rb +724 -0
  7. data/lib/open_api_sdk/metatags.rb +58 -0
  8. data/lib/open_api_sdk/models/operations/adddomain_request.rb +30 -0
  9. data/lib/open_api_sdk/models/operations/adddomain_requestbody.rb +42 -0
  10. data/lib/open_api_sdk/models/operations/adddomain_response.rb +60 -0
  11. data/lib/open_api_sdk/models/operations/bulkcreatelinks_request.rb +30 -0
  12. data/lib/open_api_sdk/models/operations/bulkcreatelinks_response.rb +60 -0
  13. data/lib/open_api_sdk/models/operations/color.rb +24 -0
  14. data/lib/open_api_sdk/models/operations/createlink_request.rb +30 -0
  15. data/lib/open_api_sdk/models/operations/createlink_requestbody.rb +92 -0
  16. data/lib/open_api_sdk/models/operations/createlink_response.rb +60 -0
  17. data/lib/open_api_sdk/models/operations/createtag_request.rb +30 -0
  18. data/lib/open_api_sdk/models/operations/createtag_requestbody.rb +27 -0
  19. data/lib/open_api_sdk/models/operations/createtag_response.rb +60 -0
  20. data/lib/open_api_sdk/models/operations/createworkspace_requestbody.rb +30 -0
  21. data/lib/open_api_sdk/models/operations/createworkspace_response.rb +60 -0
  22. data/lib/open_api_sdk/models/operations/deletedomain_request.rb +30 -0
  23. data/lib/open_api_sdk/models/operations/deletedomain_response.rb +60 -0
  24. data/lib/open_api_sdk/models/operations/deletedomain_responsebody.rb +24 -0
  25. data/lib/open_api_sdk/models/operations/deletelink_request.rb +30 -0
  26. data/lib/open_api_sdk/models/operations/deletelink_response.rb +60 -0
  27. data/lib/open_api_sdk/models/operations/deletelink_responsebody.rb +24 -0
  28. data/lib/open_api_sdk/models/operations/event.rb +21 -0
  29. data/lib/open_api_sdk/models/operations/getlinkinfo_request.rb +39 -0
  30. data/lib/open_api_sdk/models/operations/getlinkinfo_response.rb +60 -0
  31. data/lib/open_api_sdk/models/operations/getlinks_request.rb +57 -0
  32. data/lib/open_api_sdk/models/operations/getlinks_response.rb +60 -0
  33. data/lib/open_api_sdk/models/operations/getlinkscount_request.rb +54 -0
  34. data/lib/open_api_sdk/models/operations/getlinkscount_response.rb +60 -0
  35. data/lib/open_api_sdk/models/operations/getmetatags_request.rb +24 -0
  36. data/lib/open_api_sdk/models/operations/getmetatags_response.rb +33 -0
  37. data/lib/open_api_sdk/models/operations/getmetatags_responsebody.rb +30 -0
  38. data/lib/open_api_sdk/models/operations/getqrcode_request.rb +39 -0
  39. data/lib/open_api_sdk/models/operations/getqrcode_response.rb +60 -0
  40. data/lib/open_api_sdk/models/operations/gettags_request.rb +27 -0
  41. data/lib/open_api_sdk/models/operations/gettags_response.rb +60 -0
  42. data/lib/open_api_sdk/models/operations/getworkspace_request.rb +24 -0
  43. data/lib/open_api_sdk/models/operations/getworkspace_response.rb +60 -0
  44. data/lib/open_api_sdk/models/operations/getworkspaces_response.rb +60 -0
  45. data/lib/open_api_sdk/models/operations/groupby.rb +28 -0
  46. data/lib/open_api_sdk/models/operations/interval.rb +25 -0
  47. data/lib/open_api_sdk/models/operations/level.rb +21 -0
  48. data/lib/open_api_sdk/models/operations/listdomains_request.rb +27 -0
  49. data/lib/open_api_sdk/models/operations/listdomains_response.rb +60 -0
  50. data/lib/open_api_sdk/models/operations/paymentprocessor.rb +20 -0
  51. data/lib/open_api_sdk/models/operations/requestbody.rb +92 -0
  52. data/lib/open_api_sdk/models/operations/retrieveanalytics_request.rb +87 -0
  53. data/lib/open_api_sdk/models/operations/retrieveanalytics_response.rb +60 -0
  54. data/lib/open_api_sdk/models/operations/setprimarydomain_request.rb +30 -0
  55. data/lib/open_api_sdk/models/operations/setprimarydomain_response.rb +60 -0
  56. data/lib/open_api_sdk/models/operations/sort.rb +20 -0
  57. data/lib/open_api_sdk/models/operations/trackcustomer_requestbody.rb +33 -0
  58. data/lib/open_api_sdk/models/operations/trackcustomer_response.rb +60 -0
  59. data/lib/open_api_sdk/models/operations/trackcustomer_responsebody.rb +33 -0
  60. data/lib/open_api_sdk/models/operations/tracklead_requestbody.rb +42 -0
  61. data/lib/open_api_sdk/models/operations/tracklead_response.rb +60 -0
  62. data/lib/open_api_sdk/models/operations/tracklead_responsebody.rb +42 -0
  63. data/lib/open_api_sdk/models/operations/tracksale_requestbody.rb +39 -0
  64. data/lib/open_api_sdk/models/operations/tracksale_response.rb +60 -0
  65. data/lib/open_api_sdk/models/operations/tracksale_responsebody.rb +39 -0
  66. data/lib/open_api_sdk/models/operations/transferdomain_request.rb +33 -0
  67. data/lib/open_api_sdk/models/operations/transferdomain_requestbody.rb +24 -0
  68. data/lib/open_api_sdk/models/operations/transferdomain_response.rb +60 -0
  69. data/lib/open_api_sdk/models/operations/type.rb +19 -0
  70. data/lib/open_api_sdk/models/operations/updatedomain_request.rb +33 -0
  71. data/lib/open_api_sdk/models/operations/updatedomain_requestbody.rb +42 -0
  72. data/lib/open_api_sdk/models/operations/updatedomain_response.rb +60 -0
  73. data/lib/open_api_sdk/models/operations/updatedomain_type.rb +19 -0
  74. data/lib/open_api_sdk/models/operations/updatelink_request.rb +33 -0
  75. data/lib/open_api_sdk/models/operations/updatelink_requestbody.rb +92 -0
  76. data/lib/open_api_sdk/models/operations/updatelink_response.rb +60 -0
  77. data/lib/open_api_sdk/models/operations/upsertlink_request.rb +30 -0
  78. data/lib/open_api_sdk/models/operations/upsertlink_requestbody.rb +92 -0
  79. data/lib/open_api_sdk/models/operations/upsertlink_response.rb +60 -0
  80. data/lib/open_api_sdk/models/operations.rb +81 -0
  81. data/lib/open_api_sdk/models/shared/badrequest.rb +24 -0
  82. data/lib/open_api_sdk/models/shared/code.rb +18 -0
  83. data/lib/open_api_sdk/models/shared/color.rb +24 -0
  84. data/lib/open_api_sdk/models/shared/conflict.rb +24 -0
  85. data/lib/open_api_sdk/models/shared/conflict_code.rb +18 -0
  86. data/lib/open_api_sdk/models/shared/conflict_error.rb +30 -0
  87. data/lib/open_api_sdk/models/shared/countrycode.rb +267 -0
  88. data/lib/open_api_sdk/models/shared/domains.rb +27 -0
  89. data/lib/open_api_sdk/models/shared/domainschema.rb +54 -0
  90. data/lib/open_api_sdk/models/shared/error.rb +30 -0
  91. data/lib/open_api_sdk/models/shared/forbidden.rb +24 -0
  92. data/lib/open_api_sdk/models/shared/forbidden_code.rb +18 -0
  93. data/lib/open_api_sdk/models/shared/forbidden_error.rb +30 -0
  94. data/lib/open_api_sdk/models/shared/geo.rb +771 -0
  95. data/lib/open_api_sdk/models/shared/internalservererror.rb +24 -0
  96. data/lib/open_api_sdk/models/shared/internalservererror_code.rb +18 -0
  97. data/lib/open_api_sdk/models/shared/internalservererror_error.rb +30 -0
  98. data/lib/open_api_sdk/models/shared/inviteexpired.rb +24 -0
  99. data/lib/open_api_sdk/models/shared/inviteexpired_code.rb +18 -0
  100. data/lib/open_api_sdk/models/shared/inviteexpired_error.rb +30 -0
  101. data/lib/open_api_sdk/models/shared/linkgeotargeting.rb +771 -0
  102. data/lib/open_api_sdk/models/shared/linkschema.rb +139 -0
  103. data/lib/open_api_sdk/models/shared/notfound.rb +24 -0
  104. data/lib/open_api_sdk/models/shared/notfound_code.rb +18 -0
  105. data/lib/open_api_sdk/models/shared/notfound_error.rb +30 -0
  106. data/lib/open_api_sdk/models/shared/plan.rb +24 -0
  107. data/lib/open_api_sdk/models/shared/ratelimitexceeded.rb +24 -0
  108. data/lib/open_api_sdk/models/shared/ratelimitexceeded_code.rb +18 -0
  109. data/lib/open_api_sdk/models/shared/ratelimitexceeded_error.rb +30 -0
  110. data/lib/open_api_sdk/models/shared/role.rb +19 -0
  111. data/lib/open_api_sdk/models/shared/security.rb +24 -0
  112. data/lib/open_api_sdk/models/shared/tagschema.rb +30 -0
  113. data/lib/open_api_sdk/models/shared/type.rb +19 -0
  114. data/lib/open_api_sdk/models/shared/unauthorized.rb +24 -0
  115. data/lib/open_api_sdk/models/shared/unauthorized_code.rb +18 -0
  116. data/lib/open_api_sdk/models/shared/unauthorized_error.rb +30 -0
  117. data/lib/open_api_sdk/models/shared/unprocessableentity.rb +24 -0
  118. data/lib/open_api_sdk/models/shared/unprocessableentity_code.rb +18 -0
  119. data/lib/open_api_sdk/models/shared/unprocessableentity_error.rb +30 -0
  120. data/lib/open_api_sdk/models/shared/users.rb +24 -0
  121. data/lib/open_api_sdk/models/shared/workspaceschema.rb +81 -0
  122. data/lib/open_api_sdk/models/shared.rb +50 -0
  123. data/lib/open_api_sdk/qr_codes.rb +97 -0
  124. data/lib/open_api_sdk/sdkconfiguration.rb +54 -0
  125. data/lib/open_api_sdk/tags.rb +197 -0
  126. data/lib/open_api_sdk/track.rb +276 -0
  127. data/lib/open_api_sdk/utils/metadata_fields.rb +150 -0
  128. data/lib/open_api_sdk/utils/t.rb +59 -0
  129. data/lib/open_api_sdk/utils/utils.rb +772 -0
  130. data/lib/open_api_sdk/workspaces.rb +268 -0
  131. metadata +300 -0
@@ -0,0 +1,81 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module OpenApiSDK
8
+ module Shared
9
+
10
+
11
+ class WorkspaceSchema < ::OpenApiSDK::Utils::FieldAugmented
12
+ extend T::Sig
13
+
14
+ # The date and time when the billing cycle starts for the workspace.
15
+ field :billing_cycle_start, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('billingCycleStart') } }
16
+ # The date and time when the workspace was created.
17
+ field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt') } }
18
+ # The domains of the workspace.
19
+ field :domains, T::Array[::OpenApiSDK::Shared::Domains], { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('domains') } }
20
+ # The domains limit of the workspace.
21
+ field :domains_limit, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('domainsLimit') } }
22
+ # The unique ID of the workspace.
23
+ field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }
24
+ # The invite code of the workspace.
25
+ field :invite_code, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('inviteCode') } }
26
+ # The links limit of the workspace.
27
+ field :links_limit, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linksLimit') } }
28
+ # The links usage of the workspace.
29
+ field :links_usage, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('linksUsage') } }
30
+ # The logo of the workspace.
31
+ field :logo, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('logo') } }
32
+ # The name of the workspace.
33
+ field :name, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('name') } }
34
+ # The plan of the workspace.
35
+ field :plan, ::OpenApiSDK::Shared::Plan, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('plan'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Shared::Plan, false) } }
36
+ # The slug of the workspace.
37
+ field :slug, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('slug') } }
38
+ # [BETA]: The Stripe Connect ID of the workspace.
39
+ field :stripe_connect_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('stripeConnectId') } }
40
+ # The Stripe ID of the workspace.
41
+ field :stripe_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('stripeId') } }
42
+ # The tags limit of the workspace.
43
+ field :tags_limit, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('tagsLimit') } }
44
+ # The usage of the workspace.
45
+ field :usage, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('usage') } }
46
+ # The usage limit of the workspace.
47
+ field :usage_limit, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('usageLimit') } }
48
+ # The role of the authenticated user in the workspace.
49
+ field :users, T::Array[::OpenApiSDK::Shared::Users], { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('users') } }
50
+ # The users limit of the workspace.
51
+ field :users_limit, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('usersLimit') } }
52
+ # Whether the workspace is enrolled in the beta testing program.
53
+ field :beta_tester, T.nilable(T::Boolean), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('betaTester') } }
54
+
55
+
56
+ sig { params(billing_cycle_start: ::Float, created_at: ::String, domains: T::Array[::OpenApiSDK::Shared::Domains], domains_limit: ::Float, id: ::String, invite_code: ::String, links_limit: ::Float, links_usage: ::Float, logo: ::String, name: ::String, plan: ::OpenApiSDK::Shared::Plan, slug: ::String, stripe_connect_id: ::String, stripe_id: ::String, tags_limit: ::Float, usage: ::Float, usage_limit: ::Float, users: T::Array[::OpenApiSDK::Shared::Users], users_limit: ::Float, beta_tester: T.nilable(T::Boolean)).void }
57
+ def initialize(billing_cycle_start: nil, created_at: nil, domains: nil, domains_limit: nil, id: nil, invite_code: nil, links_limit: nil, links_usage: nil, logo: nil, name: nil, plan: nil, slug: nil, stripe_connect_id: nil, stripe_id: nil, tags_limit: nil, usage: nil, usage_limit: nil, users: nil, users_limit: nil, beta_tester: nil)
58
+ @billing_cycle_start = billing_cycle_start
59
+ @created_at = created_at
60
+ @domains = domains
61
+ @domains_limit = domains_limit
62
+ @id = id
63
+ @invite_code = invite_code
64
+ @links_limit = links_limit
65
+ @links_usage = links_usage
66
+ @logo = logo
67
+ @name = name
68
+ @plan = plan
69
+ @slug = slug
70
+ @stripe_connect_id = stripe_connect_id
71
+ @stripe_id = stripe_id
72
+ @tags_limit = tags_limit
73
+ @usage = usage
74
+ @usage_limit = usage_limit
75
+ @users = users
76
+ @users_limit = users_limit
77
+ @beta_tester = beta_tester
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,50 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ module OpenApiSDK
7
+ module Shared
8
+ autoload :InternalServerErrorCode, 'open_api_sdk/models/shared/internalservererror_code.rb'
9
+ autoload :InternalServerErrorError, 'open_api_sdk/models/shared/internalservererror_error.rb'
10
+ autoload :InternalServerError, 'open_api_sdk/models/shared/internalservererror.rb'
11
+ autoload :RateLimitExceededCode, 'open_api_sdk/models/shared/ratelimitexceeded_code.rb'
12
+ autoload :RateLimitExceededError, 'open_api_sdk/models/shared/ratelimitexceeded_error.rb'
13
+ autoload :RateLimitExceeded, 'open_api_sdk/models/shared/ratelimitexceeded.rb'
14
+ autoload :UnprocessableEntityCode, 'open_api_sdk/models/shared/unprocessableentity_code.rb'
15
+ autoload :UnprocessableEntityError, 'open_api_sdk/models/shared/unprocessableentity_error.rb'
16
+ autoload :UnprocessableEntity, 'open_api_sdk/models/shared/unprocessableentity.rb'
17
+ autoload :InviteExpiredCode, 'open_api_sdk/models/shared/inviteexpired_code.rb'
18
+ autoload :InviteExpiredError, 'open_api_sdk/models/shared/inviteexpired_error.rb'
19
+ autoload :InviteExpired, 'open_api_sdk/models/shared/inviteexpired.rb'
20
+ autoload :ConflictCode, 'open_api_sdk/models/shared/conflict_code.rb'
21
+ autoload :ConflictError, 'open_api_sdk/models/shared/conflict_error.rb'
22
+ autoload :Conflict, 'open_api_sdk/models/shared/conflict.rb'
23
+ autoload :NotFoundCode, 'open_api_sdk/models/shared/notfound_code.rb'
24
+ autoload :NotFoundError, 'open_api_sdk/models/shared/notfound_error.rb'
25
+ autoload :NotFound, 'open_api_sdk/models/shared/notfound.rb'
26
+ autoload :ForbiddenCode, 'open_api_sdk/models/shared/forbidden_code.rb'
27
+ autoload :ForbiddenError, 'open_api_sdk/models/shared/forbidden_error.rb'
28
+ autoload :Forbidden, 'open_api_sdk/models/shared/forbidden.rb'
29
+ autoload :UnauthorizedCode, 'open_api_sdk/models/shared/unauthorized_code.rb'
30
+ autoload :UnauthorizedError, 'open_api_sdk/models/shared/unauthorized_error.rb'
31
+ autoload :Unauthorized, 'open_api_sdk/models/shared/unauthorized.rb'
32
+ autoload :Code, 'open_api_sdk/models/shared/code.rb'
33
+ autoload :Error, 'open_api_sdk/models/shared/error.rb'
34
+ autoload :BadRequest, 'open_api_sdk/models/shared/badrequest.rb'
35
+ autoload :Geo, 'open_api_sdk/models/shared/geo.rb'
36
+ autoload :LinkSchema, 'open_api_sdk/models/shared/linkschema.rb'
37
+ autoload :Color, 'open_api_sdk/models/shared/color.rb'
38
+ autoload :TagSchema, 'open_api_sdk/models/shared/tagschema.rb'
39
+ autoload :LinkGeoTargeting, 'open_api_sdk/models/shared/linkgeotargeting.rb'
40
+ autoload :CountryCode, 'open_api_sdk/models/shared/countrycode.rb'
41
+ autoload :Plan, 'open_api_sdk/models/shared/plan.rb'
42
+ autoload :Role, 'open_api_sdk/models/shared/role.rb'
43
+ autoload :Users, 'open_api_sdk/models/shared/users.rb'
44
+ autoload :Domains, 'open_api_sdk/models/shared/domains.rb'
45
+ autoload :WorkspaceSchema, 'open_api_sdk/models/shared/workspaceschema.rb'
46
+ autoload :Type, 'open_api_sdk/models/shared/type.rb'
47
+ autoload :DomainSchema, 'open_api_sdk/models/shared/domainschema.rb'
48
+ autoload :Security, 'open_api_sdk/models/shared/security.rb'
49
+ end
50
+ end
@@ -0,0 +1,97 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'sorbet-runtime'
9
+
10
+ module OpenApiSDK
11
+ extend T::Sig
12
+ class QRCodes
13
+ extend T::Sig
14
+
15
+
16
+ sig { params(sdk_config: SDKConfiguration).void }
17
+ def initialize(sdk_config)
18
+ @sdk_configuration = sdk_config
19
+ end
20
+
21
+
22
+ sig { params(request: T.nilable(::OpenApiSDK::Operations::GetQRCodeRequest)).returns(::OpenApiSDK::Operations::GetQRCodeResponse) }
23
+ def get(request)
24
+ # get - Retrieve a QR code
25
+ # Retrieve a QR code for a link.
26
+ url, params = @sdk_configuration.get_server_details
27
+ base_url = Utils.template_url(url, params)
28
+ url = "#{base_url}/qr"
29
+ headers = {}
30
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::GetQRCodeRequest, request, @sdk_configuration.globals)
31
+ headers['Accept'] = 'application/json;q=1, image/png;q=0'
32
+ headers['user-agent'] = @sdk_configuration.user_agent
33
+
34
+ r = @sdk_configuration.client.get(url) do |req|
35
+ req.headers = headers
36
+ req.params = query_params
37
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
38
+ end
39
+
40
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
41
+
42
+ res = ::OpenApiSDK::Operations::GetQRCodeResponse.new(
43
+ status_code: r.status, content_type: content_type, raw_response: r
44
+ )
45
+ if r.status == 200
46
+ res.res = r.env.response_body if Utils.match_content_type(content_type, 'image/png')
47
+
48
+ elsif r.status == 400
49
+ if Utils.match_content_type(content_type, 'application/json')
50
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
51
+ res.bad_request = out
52
+ end
53
+ elsif r.status == 401
54
+ if Utils.match_content_type(content_type, 'application/json')
55
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
56
+ res.unauthorized = out
57
+ end
58
+ elsif r.status == 403
59
+ if Utils.match_content_type(content_type, 'application/json')
60
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
61
+ res.forbidden = out
62
+ end
63
+ elsif r.status == 404
64
+ if Utils.match_content_type(content_type, 'application/json')
65
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
66
+ res.not_found = out
67
+ end
68
+ elsif r.status == 409
69
+ if Utils.match_content_type(content_type, 'application/json')
70
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
71
+ res.conflict = out
72
+ end
73
+ elsif r.status == 410
74
+ if Utils.match_content_type(content_type, 'application/json')
75
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
76
+ res.invite_expired = out
77
+ end
78
+ elsif r.status == 422
79
+ if Utils.match_content_type(content_type, 'application/json')
80
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
81
+ res.unprocessable_entity = out
82
+ end
83
+ elsif r.status == 429
84
+ if Utils.match_content_type(content_type, 'application/json')
85
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
86
+ res.rate_limit_exceeded = out
87
+ end
88
+ elsif r.status == 500
89
+ if Utils.match_content_type(content_type, 'application/json')
90
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
91
+ res.internal_server_error = out
92
+ end
93
+ end
94
+ res
95
+ end
96
+ end
97
+ end
@@ -0,0 +1,54 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'sorbet-runtime'
9
+
10
+ module OpenApiSDK
11
+ extend T::Sig
12
+
13
+ SERVERS = [
14
+ 'https://api.dub.co', # 1 - Production API
15
+ ].freeze
16
+ # Contains the list of servers available to the SDK
17
+
18
+ class SDKConfiguration < ::OpenApiSDK::Utils::FieldAugmented
19
+ extend T::Sig
20
+
21
+ field :client, T.nilable(Faraday::Connection)
22
+ field :security, T.nilable(::OpenApiSDK::Shared::Security)
23
+ field :server_url, T.nilable(String)
24
+ field :server_idx, T.nilable(Integer)
25
+ field :globals, Hash[Symbol, Hash[Symbol, Hash[Symbol, Object]]]
26
+ field :language, String
27
+ field :openapi_doc_version, String
28
+ field :sdk_version, String
29
+ field :gen_version, String
30
+ field :user_agent, String
31
+
32
+
33
+ sig { params(client: Faraday::Connection, security: T.nilable(::OpenApiSDK::Shared::Security), server_url: T.nilable(String), server_idx: T.nilable(Integer), globals: T::Hash[Symbol, T::Hash[Symbol, T::Hash[Symbol, Object]]]).void }
34
+ def initialize(client, security, server_url, server_idx, globals)
35
+ @client = client
36
+ @server_url = server_url
37
+ @server_idx = server_idx.nil? ? 0 : server_idx
38
+ raise StandardError, "Invalid server index #{server_idx}" if @server_idx.negative? || @server_idx >= SERVERS.length
39
+ @security = security
40
+ @globals = globals.nil? ? {} : globals
41
+ @language = 'ruby'
42
+ @openapi_doc_version = '0.0.1'
43
+ @sdk_version = '0.0.2'
44
+ @gen_version = '2.338.7'
45
+ @user_agent = 'speakeasy-sdk/ruby 0.0.2 2.338.7 0.0.1 dub'
46
+ end
47
+
48
+ sig { returns([String, T::Hash[Symbol, String]]) }
49
+ def get_server_details
50
+ return [@server_url.delete_suffix('/'), {}] if !@server_url.nil?
51
+ [SERVERS[@server_idx], {}]
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,197 @@
1
+ # Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+ require 'faraday'
7
+ require 'faraday/multipart'
8
+ require 'sorbet-runtime'
9
+
10
+ module OpenApiSDK
11
+ extend T::Sig
12
+ class Tags
13
+ extend T::Sig
14
+
15
+
16
+ sig { params(sdk_config: SDKConfiguration).void }
17
+ def initialize(sdk_config)
18
+ @sdk_configuration = sdk_config
19
+ end
20
+
21
+
22
+ sig { params(workspace_id: T.nilable(::String), project_slug: T.nilable(::String)).returns(::OpenApiSDK::Operations::GetTagsResponse) }
23
+ def list(workspace_id = nil, project_slug = nil)
24
+ # list - Retrieve a list of tags
25
+ # Retrieve a list of tags for the authenticated workspace.
26
+ request = ::OpenApiSDK::Operations::GetTagsRequest.new(
27
+
28
+ workspace_id: workspace_id,
29
+ project_slug: project_slug
30
+ )
31
+ url, params = @sdk_configuration.get_server_details
32
+ base_url = Utils.template_url(url, params)
33
+ url = "#{base_url}/tags"
34
+ headers = {}
35
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::GetTagsRequest, request, @sdk_configuration.globals)
36
+ headers['Accept'] = 'application/json'
37
+ headers['user-agent'] = @sdk_configuration.user_agent
38
+
39
+ r = @sdk_configuration.client.get(url) do |req|
40
+ req.headers = headers
41
+ req.params = query_params
42
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
43
+ end
44
+
45
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
46
+
47
+ res = ::OpenApiSDK::Operations::GetTagsResponse.new(
48
+ status_code: r.status, content_type: content_type, raw_response: r
49
+ )
50
+ if r.status == 200
51
+ if Utils.match_content_type(content_type, 'application/json')
52
+ out = Utils.unmarshal_complex(r.env.response_body, T::Array[::OpenApiSDK::Shared::TagSchema])
53
+ res.tag_schemas = out
54
+ end
55
+ elsif r.status == 400
56
+ if Utils.match_content_type(content_type, 'application/json')
57
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
58
+ res.bad_request = out
59
+ end
60
+ elsif r.status == 401
61
+ if Utils.match_content_type(content_type, 'application/json')
62
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
63
+ res.unauthorized = out
64
+ end
65
+ elsif r.status == 403
66
+ if Utils.match_content_type(content_type, 'application/json')
67
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
68
+ res.forbidden = out
69
+ end
70
+ elsif r.status == 404
71
+ if Utils.match_content_type(content_type, 'application/json')
72
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
73
+ res.not_found = out
74
+ end
75
+ elsif r.status == 409
76
+ if Utils.match_content_type(content_type, 'application/json')
77
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
78
+ res.conflict = out
79
+ end
80
+ elsif r.status == 410
81
+ if Utils.match_content_type(content_type, 'application/json')
82
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
83
+ res.invite_expired = out
84
+ end
85
+ elsif r.status == 422
86
+ if Utils.match_content_type(content_type, 'application/json')
87
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
88
+ res.unprocessable_entity = out
89
+ end
90
+ elsif r.status == 429
91
+ if Utils.match_content_type(content_type, 'application/json')
92
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
93
+ res.rate_limit_exceeded = out
94
+ end
95
+ elsif r.status == 500
96
+ if Utils.match_content_type(content_type, 'application/json')
97
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
98
+ res.internal_server_error = out
99
+ end
100
+ end
101
+ res
102
+ end
103
+
104
+
105
+ sig { params(workspace_id: T.nilable(::String), project_slug: T.nilable(::String), request_body: T.nilable(::OpenApiSDK::Operations::CreateTagRequestBody)).returns(::OpenApiSDK::Operations::CreateTagResponse) }
106
+ def create(workspace_id = nil, project_slug = nil, request_body = nil)
107
+ # create - Create a new tag
108
+ # Create a new tag for the authenticated workspace.
109
+ request = ::OpenApiSDK::Operations::CreateTagRequest.new(
110
+
111
+ workspace_id: workspace_id,
112
+ project_slug: project_slug,
113
+ request_body: request_body
114
+ )
115
+ url, params = @sdk_configuration.get_server_details
116
+ base_url = Utils.template_url(url, params)
117
+ url = "#{base_url}/tags"
118
+ headers = {}
119
+ req_content_type, data, form = Utils.serialize_request_body(request, :request_body, :json)
120
+ headers['content-type'] = req_content_type
121
+ query_params = Utils.get_query_params(::OpenApiSDK::Operations::CreateTagRequest, request, @sdk_configuration.globals)
122
+ headers['Accept'] = 'application/json'
123
+ headers['user-agent'] = @sdk_configuration.user_agent
124
+
125
+ r = @sdk_configuration.client.post(url) do |req|
126
+ req.headers = headers
127
+ req.params = query_params
128
+ Utils.configure_request_security(req, @sdk_configuration.security) if !@sdk_configuration.nil? && !@sdk_configuration.security.nil?
129
+ if form
130
+ req.body = Utils.encode_form(form)
131
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
132
+ req.body = URI.encode_www_form(data)
133
+ else
134
+ req.body = data
135
+ end
136
+ end
137
+
138
+ content_type = r.headers.fetch('Content-Type', 'application/octet-stream')
139
+
140
+ res = ::OpenApiSDK::Operations::CreateTagResponse.new(
141
+ status_code: r.status, content_type: content_type, raw_response: r
142
+ )
143
+ if r.status == 201
144
+ if Utils.match_content_type(content_type, 'application/json')
145
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::TagSchema)
146
+ res.tag_schema = out
147
+ end
148
+ elsif r.status == 400
149
+ if Utils.match_content_type(content_type, 'application/json')
150
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::BadRequest)
151
+ res.bad_request = out
152
+ end
153
+ elsif r.status == 401
154
+ if Utils.match_content_type(content_type, 'application/json')
155
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Unauthorized)
156
+ res.unauthorized = out
157
+ end
158
+ elsif r.status == 403
159
+ if Utils.match_content_type(content_type, 'application/json')
160
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Forbidden)
161
+ res.forbidden = out
162
+ end
163
+ elsif r.status == 404
164
+ if Utils.match_content_type(content_type, 'application/json')
165
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::NotFound)
166
+ res.not_found = out
167
+ end
168
+ elsif r.status == 409
169
+ if Utils.match_content_type(content_type, 'application/json')
170
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::Conflict)
171
+ res.conflict = out
172
+ end
173
+ elsif r.status == 410
174
+ if Utils.match_content_type(content_type, 'application/json')
175
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InviteExpired)
176
+ res.invite_expired = out
177
+ end
178
+ elsif r.status == 422
179
+ if Utils.match_content_type(content_type, 'application/json')
180
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::UnprocessableEntity)
181
+ res.unprocessable_entity = out
182
+ end
183
+ elsif r.status == 429
184
+ if Utils.match_content_type(content_type, 'application/json')
185
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::RateLimitExceeded)
186
+ res.rate_limit_exceeded = out
187
+ end
188
+ elsif r.status == 500
189
+ if Utils.match_content_type(content_type, 'application/json')
190
+ out = Utils.unmarshal_complex(r.env.response_body, ::OpenApiSDK::Shared::InternalServerError)
191
+ res.internal_server_error = out
192
+ end
193
+ end
194
+ res
195
+ end
196
+ end
197
+ end