Class: Knievel::OrgsApi
- Inherits:
-
Object
- Object
- Knievel::OrgsApi
- Defined in:
- lib/knievel/api/orgs_api.rb
Instance Attribute Summary collapse
-
#api_client ⇒ Object
Returns the value of attribute api_client.
Instance Method Summary collapse
-
#create_project(org_id, create_project_request, opts = {}) ⇒ ProjectResponse
Create a project under an org.
-
#create_project_with_http_info(org_id, create_project_request, opts = {}) ⇒ Array<(ProjectResponse, Integer, Hash)>
Create a project under an org.
-
#get_org(org_id, opts = {}) ⇒ OrgResponse
Org metadata (Phase 7.5).
-
#get_org_with_http_info(org_id, opts = {}) ⇒ Array<(OrgResponse, Integer, Hash)>
Org metadata (Phase 7.5).
-
#get_project(org_id, project_id, opts = {}) ⇒ ProjectResponse
Read a single project by id (path).
-
#get_project_with_http_info(org_id, project_id, opts = {}) ⇒ Array<(ProjectResponse, Integer, Hash)>
Read a single project by id (path).
-
#initialize(api_client = ApiClient.default) ⇒ OrgsApi
constructor
A new instance of OrgsApi.
-
#list_projects(org_id, opts = {}) ⇒ ProjectList
List projects under an org (Phase 7.5).
-
#list_projects_with_http_info(org_id, opts = {}) ⇒ Array<(ProjectList, Integer, Hash)>
List projects under an org (Phase 7.5).
Constructor Details
Instance Attribute Details
#api_client ⇒ Object
Returns the value of attribute api_client.
17 18 19 |
# File 'lib/knievel/api/orgs_api.rb', line 17 def api_client @api_client end |
Instance Method Details
#create_project(org_id, create_project_request, opts = {}) ⇒ ProjectResponse
Create a project under an org. Honors ‘Idempotency-Key` (24 h replay window per `API.md` "Idempotency"); `409 idempotency_conflict` if the same key is reused with a different body. Returns `409 external_id_conflict` if the `externalId` is already taken in this org.
28 29 30 31 |
# File 'lib/knievel/api/orgs_api.rb', line 28 def create_project(org_id, create_project_request, opts = {}) data, _status_code, _headers = create_project_with_http_info(org_id, create_project_request, opts) data end |
#create_project_with_http_info(org_id, create_project_request, opts = {}) ⇒ Array<(ProjectResponse, Integer, Hash)>
Create a project under an org. Honors `Idempotency-Key` (24 h replay window per `API.md` "Idempotency"); `409 idempotency_conflict` if the same key is reused with a different body. Returns `409 external_id_conflict` if the `externalId` is already taken in this org.
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/knievel/api/orgs_api.rb', line 39 def create_project_with_http_info(org_id, create_project_request, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: OrgsApi.create_project ...' end # verify the required parameter 'org_id' is set if @api_client.config.client_side_validation && org_id.nil? fail ArgumentError, "Missing the required parameter 'org_id' when calling OrgsApi.create_project" end # verify the required parameter 'create_project_request' is set if @api_client.config.client_side_validation && create_project_request.nil? fail ArgumentError, "Missing the required parameter 'create_project_request' when calling OrgsApi.create_project" end # resource path local_var_path = '/v1/orgs/{org_id}/projects'.sub('{org_id}', CGI.escape(org_id.to_s)) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json; charset=utf-8']) unless header_params['Accept'] # HTTP header 'Content-Type' content_type = @api_client.select_header_content_type(['application/json; charset=utf-8']) if !content_type.nil? header_params['Content-Type'] = content_type end header_params[:'Idempotency-Key'] = opts[:'idempotency_key'] if !opts[:'idempotency_key'].nil? # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] || @api_client.object_to_http_body(create_project_request) # return_type return_type = opts[:debug_return_type] || 'ProjectResponse' # auth_names auth_names = opts[:debug_auth_names] || ['BearerAuth'] = opts.merge( :operation => :"OrgsApi.create_project", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:POST, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: OrgsApi#create_project\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |
#get_org(org_id, opts = {}) ⇒ OrgResponse
Org metadata (Phase 7.5). Powers the admin SPA’s org-dashboard breadcrumbs + project-list page header. Multi-org access isn’t a real feature yet; the auth check rejects when the principal’s ‘org_id` doesn’t match the path, so this is effectively "fetch my org."
101 102 103 104 |
# File 'lib/knievel/api/orgs_api.rb', line 101 def get_org(org_id, opts = {}) data, _status_code, _headers = get_org_with_http_info(org_id, opts) data end |
#get_org_with_http_info(org_id, opts = {}) ⇒ Array<(OrgResponse, Integer, Hash)>
Org metadata (Phase 7.5). Powers the admin SPA's org-dashboard breadcrumbs + project-list page header. Multi-org access isn't a real feature yet; the auth check rejects when the principal's `org_id` doesn't match the path, so this is effectively "fetch my org."
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 |
# File 'lib/knievel/api/orgs_api.rb', line 110 def get_org_with_http_info(org_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: OrgsApi.get_org ...' end # verify the required parameter 'org_id' is set if @api_client.config.client_side_validation && org_id.nil? fail ArgumentError, "Missing the required parameter 'org_id' when calling OrgsApi.get_org" end # resource path local_var_path = '/v1/orgs/{org_id}'.sub('{org_id}', CGI.escape(org_id.to_s)) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json; charset=utf-8']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'OrgResponse' # auth_names auth_names = opts[:debug_auth_names] || ['BearerAuth'] = opts.merge( :operation => :"OrgsApi.get_org", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: OrgsApi#get_org\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |
#get_project(org_id, project_id, opts = {}) ⇒ ProjectResponse
Read a single project by id (path).
163 164 165 166 |
# File 'lib/knievel/api/orgs_api.rb', line 163 def get_project(org_id, project_id, opts = {}) data, _status_code, _headers = get_project_with_http_info(org_id, project_id, opts) data end |
#get_project_with_http_info(org_id, project_id, opts = {}) ⇒ Array<(ProjectResponse, Integer, Hash)>
Read a single project by id (path).
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 |
# File 'lib/knievel/api/orgs_api.rb', line 173 def get_project_with_http_info(org_id, project_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: OrgsApi.get_project ...' end # verify the required parameter 'org_id' is set if @api_client.config.client_side_validation && org_id.nil? fail ArgumentError, "Missing the required parameter 'org_id' when calling OrgsApi.get_project" end # verify the required parameter 'project_id' is set if @api_client.config.client_side_validation && project_id.nil? fail ArgumentError, "Missing the required parameter 'project_id' when calling OrgsApi.get_project" end # resource path local_var_path = '/v1/orgs/{org_id}/projects/{project_id}'.sub('{org_id}', CGI.escape(org_id.to_s)).sub('{project_id}', CGI.escape(project_id.to_s)) # query parameters query_params = opts[:query_params] || {} # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json; charset=utf-8']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'ProjectResponse' # auth_names auth_names = opts[:debug_auth_names] || ['BearerAuth'] = opts.merge( :operation => :"OrgsApi.get_project", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: OrgsApi#get_project\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |
#list_projects(org_id, opts = {}) ⇒ ProjectList
List projects under an org (Phase 7.5). The cursor envelope is wired so the SPA’s pagination plumbing is real, but ‘next_cursor` is always `null` today — the `(created_at, id)` tuple-cursor that TEXT-id endpoints need is deferred to Phase 6.5 (per CLAUDE.md "Open known gaps"). For now an org’s full project set comes back in one page; orgs typically host single-digit project counts, so this is fine. The optional ‘external_id` query parameter resolves a caller-assigned external id back to the knievel project id (`UNIQUE (org_id, external_id)` makes this at-most-one row). Lets consumers like rx — which only persist the external id at write time — recover the internal id without listing the org’s full project set. See ‘MIGRATION_RX.md` "Project bootstrap" and issue #2 § 5.
232 233 234 235 |
# File 'lib/knievel/api/orgs_api.rb', line 232 def list_projects(org_id, opts = {}) data, _status_code, _headers = list_projects_with_http_info(org_id, opts) data end |
#list_projects_with_http_info(org_id, opts = {}) ⇒ Array<(ProjectList, Integer, Hash)>
List projects under an org (Phase 7.5). The cursor envelope is wired so the SPA's pagination plumbing is real, but `next_cursor` is always `null` today — the `(created_at, id)` tuple-cursor that TEXT-id endpoints need is deferred to Phase 6.5 (per CLAUDE.md "Open known gaps"). For now an org's full project set comes back in one page; orgs typically host single-digit project counts, so this is fine. The optional `external_id` query parameter resolves a caller-assigned external id back to the knievel project id (`UNIQUE (org_id, external_id)` makes this at-most-one row). Lets consumers like rx — which only persist the external id at write time — recover the internal id without listing the org's full project set. See `MIGRATION_RX.md` "Project bootstrap" and issue #2 § 5.
244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 |
# File 'lib/knievel/api/orgs_api.rb', line 244 def list_projects_with_http_info(org_id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: OrgsApi.list_projects ...' end # verify the required parameter 'org_id' is set if @api_client.config.client_side_validation && org_id.nil? fail ArgumentError, "Missing the required parameter 'org_id' when calling OrgsApi.list_projects" end # resource path local_var_path = '/v1/orgs/{org_id}/projects'.sub('{org_id}', CGI.escape(org_id.to_s)) # query parameters query_params = opts[:query_params] || {} query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil? query_params[:'external_id'] = opts[:'external_id'] if !opts[:'external_id'].nil? # header parameters header_params = opts[:header_params] || {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json; charset=utf-8']) unless header_params['Accept'] # form parameters form_params = opts[:form_params] || {} # http body (model) post_body = opts[:debug_body] # return_type return_type = opts[:debug_return_type] || 'ProjectList' # auth_names auth_names = opts[:debug_auth_names] || ['BearerAuth'] = opts.merge( :operation => :"OrgsApi.list_projects", :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => return_type ) data, status_code, headers = @api_client.call_api(:GET, local_var_path, ) if @api_client.config.debugging @api_client.config.logger.debug "API called: OrgsApi#list_projects\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end |