permify 0.0.1 → 1.5.4

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 (309) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +6 -1
  3. data/README.md +241 -16
  4. data/Rakefile +7 -7
  5. data/generator/generate-sdk.sh +157 -0
  6. data/generator/openapi-generator-cli.jar +0 -0
  7. data/generator/openapi.json +3699 -0
  8. data/lib/permify/api/bundle_api.rb +238 -0
  9. data/lib/permify/api/data_api.rb +526 -0
  10. data/lib/permify/api/permission_api.rb +528 -0
  11. data/lib/permify/api/schema_api.rb +310 -0
  12. data/lib/permify/api/tenancy_api.rb +215 -0
  13. data/lib/permify/api/watch_api.rb +94 -0
  14. data/lib/permify/api_client.rb +394 -0
  15. data/lib/permify/api_error.rb +58 -0
  16. data/lib/permify/configuration.rb +298 -0
  17. data/lib/permify/models/abstract_type.rb +228 -0
  18. data/lib/permify/models/any.rb +216 -0
  19. data/lib/permify/models/argument.rb +215 -0
  20. data/lib/permify/models/attribute.rb +233 -0
  21. data/lib/permify/models/attribute_definition.rb +247 -0
  22. data/lib/permify/models/attribute_filter.rb +226 -0
  23. data/lib/permify/models/attribute_read_request_metadata.rb +216 -0
  24. data/lib/permify/models/attribute_read_response.rb +228 -0
  25. data/lib/permify/models/attribute_type.rb +46 -0
  26. data/lib/permify/models/bulk_check_body.rb +248 -0
  27. data/lib/permify/models/bundle_delete_body.rb +216 -0
  28. data/lib/permify/models/bundle_delete_response.rb +214 -0
  29. data/lib/permify/models/bundle_read_body.rb +214 -0
  30. data/lib/permify/models/bundle_read_response.rb +214 -0
  31. data/lib/permify/models/bundle_run_response.rb +216 -0
  32. data/lib/permify/models/bundle_write_body.rb +218 -0
  33. data/lib/permify/models/bundle_write_response.rb +218 -0
  34. data/lib/permify/models/check_body.rb +264 -0
  35. data/lib/permify/models/check_result.rb +40 -0
  36. data/lib/permify/models/checked_expr.rb +258 -0
  37. data/lib/permify/models/child.rb +224 -0
  38. data/lib/permify/models/component.rb +41 -0
  39. data/lib/permify/models/comprehension.rb +281 -0
  40. data/lib/permify/models/computed_attribute.rb +215 -0
  41. data/lib/permify/models/computed_user_set.rb +215 -0
  42. data/lib/permify/models/constant.rb +317 -0
  43. data/lib/permify/models/context.rb +240 -0
  44. data/lib/permify/models/create_list.rb +230 -0
  45. data/lib/permify/models/create_struct.rb +228 -0
  46. data/lib/permify/models/data_bundle.rb +240 -0
  47. data/lib/permify/models/data_change.rb +255 -0
  48. data/lib/permify/models/data_change_operation.rb +40 -0
  49. data/lib/permify/models/data_changes.rb +228 -0
  50. data/lib/permify/models/data_delete_body.rb +224 -0
  51. data/lib/permify/models/data_delete_response.rb +216 -0
  52. data/lib/permify/models/data_write_body.rb +239 -0
  53. data/lib/permify/models/data_write_request_metadata.rb +216 -0
  54. data/lib/permify/models/data_write_response.rb +216 -0
  55. data/lib/permify/models/delete_relationships_body.rb +214 -0
  56. data/lib/permify/models/entity.rb +224 -0
  57. data/lib/permify/models/entity_definition.rb +264 -0
  58. data/lib/permify/models/entity_definition_reference.rb +41 -0
  59. data/lib/permify/models/entity_filter.rb +226 -0
  60. data/lib/permify/models/entry.rb +254 -0
  61. data/lib/permify/models/expand_leaf.rb +233 -0
  62. data/lib/permify/models/expand_tree_node.rb +248 -0
  63. data/lib/permify/models/expand_tree_node_operation.rb +41 -0
  64. data/lib/permify/models/expr.rb +279 -0
  65. data/lib/permify/models/expr_call.rb +237 -0
  66. data/lib/permify/models/extension.rb +236 -0
  67. data/lib/permify/models/function_type.rb +227 -0
  68. data/lib/permify/models/ident.rb +216 -0
  69. data/lib/permify/models/leaf.rb +242 -0
  70. data/lib/permify/models/list_type.rb +215 -0
  71. data/lib/permify/models/lookup_entity_body.rb +285 -0
  72. data/lib/permify/models/lookup_entity_stream_body.rb +285 -0
  73. data/lib/permify/models/lookup_subject_body.rb +284 -0
  74. data/lib/permify/models/map_type.rb +224 -0
  75. data/lib/permify/models/partial_write_body.rb +225 -0
  76. data/lib/permify/models/partials.rb +238 -0
  77. data/lib/permify/models/permission_bulk_check_request_item.rb +233 -0
  78. data/lib/permify/models/permission_bulk_check_response.rb +218 -0
  79. data/lib/permify/models/permission_check_request_metadata.rb +236 -0
  80. data/lib/permify/models/permission_check_response.rb +246 -0
  81. data/lib/permify/models/permission_check_response_metadata.rb +216 -0
  82. data/lib/permify/models/permission_definition.rb +225 -0
  83. data/lib/permify/models/permission_expand_body.rb +255 -0
  84. data/lib/permify/models/permission_expand_request_metadata.rb +226 -0
  85. data/lib/permify/models/permission_expand_response.rb +215 -0
  86. data/lib/permify/models/permission_lookup_entity_request_metadata.rb +236 -0
  87. data/lib/permify/models/permission_lookup_entity_response.rb +228 -0
  88. data/lib/permify/models/permission_lookup_entity_stream_response.rb +226 -0
  89. data/lib/permify/models/permission_lookup_subject_request_metadata.rb +236 -0
  90. data/lib/permify/models/permission_lookup_subject_response.rb +228 -0
  91. data/lib/permify/models/permission_subject_permission_request_metadata.rb +246 -0
  92. data/lib/permify/models/permission_subject_permission_response.rb +218 -0
  93. data/lib/permify/models/primitive_type.rb +44 -0
  94. data/lib/permify/models/read_attributes_body.rb +244 -0
  95. data/lib/permify/models/read_relationships_body.rb +244 -0
  96. data/lib/permify/models/relation_definition.rb +228 -0
  97. data/lib/permify/models/relation_reference.rb +226 -0
  98. data/lib/permify/models/relationship_delete_response.rb +215 -0
  99. data/lib/permify/models/relationship_read_request_metadata.rb +216 -0
  100. data/lib/permify/models/relationship_read_response.rb +228 -0
  101. data/lib/permify/models/relationship_write_request_metadata.rb +214 -0
  102. data/lib/permify/models/relationship_write_response.rb +215 -0
  103. data/lib/permify/models/rewrite.rb +249 -0
  104. data/lib/permify/models/rewrite_operation.rb +41 -0
  105. data/lib/permify/models/rule_definition.rb +237 -0
  106. data/lib/permify/models/run_bundle_body.rb +228 -0
  107. data/lib/permify/models/schema_definition.rb +242 -0
  108. data/lib/permify/models/schema_definition_reference.rb +40 -0
  109. data/lib/permify/models/schema_list.rb +223 -0
  110. data/lib/permify/models/schema_list_body.rb +226 -0
  111. data/lib/permify/models/schema_list_response.rb +235 -0
  112. data/lib/permify/models/schema_partial_write_request_metadata.rb +216 -0
  113. data/lib/permify/models/schema_partial_write_response.rb +216 -0
  114. data/lib/permify/models/schema_read_body.rb +215 -0
  115. data/lib/permify/models/schema_read_request_metadata.rb +216 -0
  116. data/lib/permify/models/schema_read_response.rb +215 -0
  117. data/lib/permify/models/schema_write_body.rb +216 -0
  118. data/lib/permify/models/schema_write_response.rb +216 -0
  119. data/lib/permify/models/select.rb +235 -0
  120. data/lib/permify/models/source_info.rb +274 -0
  121. data/lib/permify/models/status.rb +234 -0
  122. data/lib/permify/models/stream_result_of_permission_lookup_entity_stream_response.rb +223 -0
  123. data/lib/permify/models/stream_result_of_watch_response.rb +223 -0
  124. data/lib/permify/models/string_array_value.rb +218 -0
  125. data/lib/permify/models/subject.rb +233 -0
  126. data/lib/permify/models/subject_filter.rb +235 -0
  127. data/lib/permify/models/subject_permission_body.rb +242 -0
  128. data/lib/permify/models/subjects.rb +218 -0
  129. data/lib/permify/models/tenant.rb +236 -0
  130. data/lib/permify/models/tenant_create_request.rb +226 -0
  131. data/lib/permify/models/tenant_create_response.rb +215 -0
  132. data/lib/permify/models/tenant_delete_response.rb +216 -0
  133. data/lib/permify/models/tenant_list_request.rb +226 -0
  134. data/lib/permify/models/tenant_list_response.rb +228 -0
  135. data/lib/permify/models/tuple.rb +233 -0
  136. data/lib/permify/models/tuple_filter.rb +233 -0
  137. data/lib/permify/models/tuple_set.rb +215 -0
  138. data/lib/permify/models/tuple_to_user_set.rb +224 -0
  139. data/lib/permify/models/v1_call.rb +226 -0
  140. data/lib/permify/models/v1_expand.rb +255 -0
  141. data/lib/permify/models/v1_operation.rb +254 -0
  142. data/lib/permify/models/v1alpha1_reference.rb +237 -0
  143. data/lib/permify/models/v1alpha1_type.rb +350 -0
  144. data/lib/permify/models/values.rb +216 -0
  145. data/lib/permify/models/version.rb +225 -0
  146. data/lib/permify/models/watch_body.rb +216 -0
  147. data/lib/permify/models/watch_response.rb +215 -0
  148. data/lib/permify/models/well_known_type.rb +41 -0
  149. data/lib/permify/models/write_relationships_body.rb +227 -0
  150. data/lib/permify/version.rb +13 -1
  151. data/lib/permify.rb +175 -15
  152. data/permify-ruby.gemspec +39 -0
  153. data/permify.gemspec +38 -27
  154. data/spec/api/bundle_api_spec.rb +71 -0
  155. data/spec/api/data_api_spec.rb +119 -0
  156. data/spec/api/permission_api_spec.rb +120 -0
  157. data/spec/api/schema_api_spec.rb +83 -0
  158. data/spec/api/tenancy_api_spec.rb +68 -0
  159. data/spec/api/watch_api_spec.rb +47 -0
  160. data/spec/models/abstract_type_spec.rb +42 -0
  161. data/spec/models/any_spec.rb +36 -0
  162. data/spec/models/argument_spec.rb +36 -0
  163. data/spec/models/attribute_definition_spec.rb +42 -0
  164. data/spec/models/attribute_filter_spec.rb +42 -0
  165. data/spec/models/attribute_read_request_metadata_spec.rb +36 -0
  166. data/spec/models/attribute_read_response_spec.rb +42 -0
  167. data/spec/models/attribute_spec.rb +48 -0
  168. data/spec/models/attribute_type_spec.rb +30 -0
  169. data/spec/models/bulk_check_body_spec.rb +54 -0
  170. data/spec/models/bundle_delete_body_spec.rb +36 -0
  171. data/spec/models/bundle_delete_response_spec.rb +36 -0
  172. data/spec/models/bundle_read_body_spec.rb +36 -0
  173. data/spec/models/bundle_read_response_spec.rb +36 -0
  174. data/spec/models/bundle_run_response_spec.rb +36 -0
  175. data/spec/models/bundle_write_body_spec.rb +36 -0
  176. data/spec/models/bundle_write_response_spec.rb +36 -0
  177. data/spec/models/check_body_spec.rb +66 -0
  178. data/spec/models/check_result_spec.rb +30 -0
  179. data/spec/models/checked_expr_spec.rb +60 -0
  180. data/spec/models/child_spec.rb +42 -0
  181. data/spec/models/component_spec.rb +30 -0
  182. data/spec/models/comprehension_spec.rb +78 -0
  183. data/spec/models/computed_attribute_spec.rb +36 -0
  184. data/spec/models/computed_user_set_spec.rb +36 -0
  185. data/spec/models/constant_spec.rb +84 -0
  186. data/spec/models/context_spec.rb +48 -0
  187. data/spec/models/create_list_spec.rb +42 -0
  188. data/spec/models/create_struct_spec.rb +42 -0
  189. data/spec/models/data_bundle_spec.rb +48 -0
  190. data/spec/models/data_change_operation_spec.rb +30 -0
  191. data/spec/models/data_change_spec.rb +48 -0
  192. data/spec/models/data_changes_spec.rb +42 -0
  193. data/spec/models/data_delete_body_spec.rb +42 -0
  194. data/spec/models/data_delete_response_spec.rb +36 -0
  195. data/spec/models/data_write_body_spec.rb +48 -0
  196. data/spec/models/data_write_request_metadata_spec.rb +36 -0
  197. data/spec/models/data_write_response_spec.rb +36 -0
  198. data/spec/models/delete_relationships_body_spec.rb +36 -0
  199. data/spec/models/entity_definition_reference_spec.rb +30 -0
  200. data/spec/models/entity_definition_spec.rb +60 -0
  201. data/spec/models/entity_filter_spec.rb +42 -0
  202. data/spec/models/entity_spec.rb +42 -0
  203. data/spec/models/entry_spec.rb +60 -0
  204. data/spec/models/expand_leaf_spec.rb +48 -0
  205. data/spec/models/expand_tree_node_operation_spec.rb +30 -0
  206. data/spec/models/expand_tree_node_spec.rb +42 -0
  207. data/spec/models/expr_call_spec.rb +48 -0
  208. data/spec/models/expr_spec.rb +78 -0
  209. data/spec/models/extension_spec.rb +48 -0
  210. data/spec/models/function_type_spec.rb +42 -0
  211. data/spec/models/ident_spec.rb +36 -0
  212. data/spec/models/leaf_spec.rb +54 -0
  213. data/spec/models/list_type_spec.rb +36 -0
  214. data/spec/models/lookup_entity_body_spec.rb +78 -0
  215. data/spec/models/lookup_entity_stream_body_spec.rb +78 -0
  216. data/spec/models/lookup_subject_body_spec.rb +78 -0
  217. data/spec/models/map_type_spec.rb +42 -0
  218. data/spec/models/partial_write_body_spec.rb +42 -0
  219. data/spec/models/partials_spec.rb +48 -0
  220. data/spec/models/permission_bulk_check_request_item_spec.rb +48 -0
  221. data/spec/models/permission_bulk_check_response_spec.rb +36 -0
  222. data/spec/models/permission_check_request_metadata_spec.rb +48 -0
  223. data/spec/models/permission_check_response_metadata_spec.rb +36 -0
  224. data/spec/models/permission_check_response_spec.rb +42 -0
  225. data/spec/models/permission_definition_spec.rb +42 -0
  226. data/spec/models/permission_expand_body_spec.rb +60 -0
  227. data/spec/models/permission_expand_request_metadata_spec.rb +42 -0
  228. data/spec/models/permission_expand_response_spec.rb +36 -0
  229. data/spec/models/permission_lookup_entity_request_metadata_spec.rb +48 -0
  230. data/spec/models/permission_lookup_entity_response_spec.rb +42 -0
  231. data/spec/models/permission_lookup_entity_stream_response_spec.rb +42 -0
  232. data/spec/models/permission_lookup_subject_request_metadata_spec.rb +48 -0
  233. data/spec/models/permission_lookup_subject_response_spec.rb +42 -0
  234. data/spec/models/permission_subject_permission_request_metadata_spec.rb +54 -0
  235. data/spec/models/permission_subject_permission_response_spec.rb +36 -0
  236. data/spec/models/primitive_type_spec.rb +30 -0
  237. data/spec/models/read_attributes_body_spec.rb +54 -0
  238. data/spec/models/read_relationships_body_spec.rb +54 -0
  239. data/spec/models/relation_definition_spec.rb +42 -0
  240. data/spec/models/relation_reference_spec.rb +42 -0
  241. data/spec/models/relationship_delete_response_spec.rb +36 -0
  242. data/spec/models/relationship_read_request_metadata_spec.rb +36 -0
  243. data/spec/models/relationship_read_response_spec.rb +42 -0
  244. data/spec/models/relationship_write_request_metadata_spec.rb +36 -0
  245. data/spec/models/relationship_write_response_spec.rb +36 -0
  246. data/spec/models/rewrite_operation_spec.rb +30 -0
  247. data/spec/models/rewrite_spec.rb +42 -0
  248. data/spec/models/rule_definition_spec.rb +48 -0
  249. data/spec/models/run_bundle_body_spec.rb +42 -0
  250. data/spec/models/schema_definition_reference_spec.rb +30 -0
  251. data/spec/models/schema_definition_spec.rb +48 -0
  252. data/spec/models/schema_list_body_spec.rb +42 -0
  253. data/spec/models/schema_list_response_spec.rb +48 -0
  254. data/spec/models/schema_list_spec.rb +42 -0
  255. data/spec/models/schema_partial_write_request_metadata_spec.rb +36 -0
  256. data/spec/models/schema_partial_write_response_spec.rb +36 -0
  257. data/spec/models/schema_read_body_spec.rb +36 -0
  258. data/spec/models/schema_read_request_metadata_spec.rb +36 -0
  259. data/spec/models/schema_read_response_spec.rb +36 -0
  260. data/spec/models/schema_write_body_spec.rb +36 -0
  261. data/spec/models/schema_write_response_spec.rb +36 -0
  262. data/spec/models/select_spec.rb +48 -0
  263. data/spec/models/source_info_spec.rb +66 -0
  264. data/spec/models/status_spec.rb +48 -0
  265. data/spec/models/stream_result_of_permission_lookup_entity_stream_response_spec.rb +42 -0
  266. data/spec/models/stream_result_of_watch_response_spec.rb +42 -0
  267. data/spec/models/string_array_value_spec.rb +36 -0
  268. data/spec/models/subject_filter_spec.rb +48 -0
  269. data/spec/models/subject_permission_body_spec.rb +54 -0
  270. data/spec/models/subject_spec.rb +48 -0
  271. data/spec/models/subjects_spec.rb +36 -0
  272. data/spec/models/tenant_create_request_spec.rb +42 -0
  273. data/spec/models/tenant_create_response_spec.rb +36 -0
  274. data/spec/models/tenant_delete_response_spec.rb +36 -0
  275. data/spec/models/tenant_list_request_spec.rb +42 -0
  276. data/spec/models/tenant_list_response_spec.rb +42 -0
  277. data/spec/models/tenant_spec.rb +48 -0
  278. data/spec/models/tuple_filter_spec.rb +48 -0
  279. data/spec/models/tuple_set_spec.rb +36 -0
  280. data/spec/models/tuple_spec.rb +48 -0
  281. data/spec/models/tuple_to_user_set_spec.rb +42 -0
  282. data/spec/models/v1_call_spec.rb +42 -0
  283. data/spec/models/v1_expand_spec.rb +60 -0
  284. data/spec/models/v1_operation_spec.rb +54 -0
  285. data/spec/models/v1alpha1_reference_spec.rb +48 -0
  286. data/spec/models/v1alpha1_type_spec.rb +108 -0
  287. data/spec/models/values_spec.rb +36 -0
  288. data/spec/models/version_spec.rb +42 -0
  289. data/spec/models/watch_body_spec.rb +36 -0
  290. data/spec/models/watch_response_spec.rb +36 -0
  291. data/spec/models/well_known_type_spec.rb +30 -0
  292. data/spec/models/write_relationships_body_spec.rb +42 -0
  293. data/spec/spec_helper.rb +101 -3
  294. metadata +449 -85
  295. data/.gitignore +0 -17
  296. data/.rspec +0 -2
  297. data/LICENSE.txt +0 -22
  298. data/lib/permify/authorization.rb +0 -17
  299. data/lib/permify/clearance.rb +0 -29
  300. data/lib/permify/permission/combination/any.rb +0 -13
  301. data/lib/permify/permission/combination.rb +0 -4
  302. data/lib/permify/permission/combination_map.rb +0 -23
  303. data/lib/permify/permission/dynamic.rb +0 -13
  304. data/lib/permify/permission/null.rb +0 -7
  305. data/lib/permify/permission/static.rb +0 -7
  306. data/lib/permify/permission.rb +0 -10
  307. data/lib/permify/permission_map.rb +0 -32
  308. data/lib/permify/repository.rb +0 -68
  309. data/spec/integration_spec.rb +0 -114
@@ -0,0 +1,310 @@
1
+ =begin
2
+ #Permify API
3
+
4
+ #Permify is an open source authorization service for creating fine-grained and scalable authorization systems.
5
+
6
+ The version of the OpenAPI document: v1.5.4
7
+ Contact: hello@permify.co
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.2.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Permify
16
+ class SchemaApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # list schema
23
+ # @param tenant_id [String] Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.
24
+ # @param body [SchemaListBody]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [SchemaListResponse]
27
+ def schemas_list(tenant_id, body, opts = {})
28
+ data, _status_code, _headers = schemas_list_with_http_info(tenant_id, body, opts)
29
+ data
30
+ end
31
+
32
+ # list schema
33
+ # @param tenant_id [String] Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant <code>t1</code> for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.
34
+ # @param body [SchemaListBody]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(SchemaListResponse, Integer, Hash)>] SchemaListResponse data, response status code and response headers
37
+ def schemas_list_with_http_info(tenant_id, body, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: SchemaApi.schemas_list ...'
40
+ end
41
+ # verify the required parameter 'tenant_id' is set
42
+ if @api_client.config.client_side_validation && tenant_id.nil?
43
+ fail ArgumentError, "Missing the required parameter 'tenant_id' when calling SchemaApi.schemas_list"
44
+ end
45
+ # verify the required parameter 'body' is set
46
+ if @api_client.config.client_side_validation && body.nil?
47
+ fail ArgumentError, "Missing the required parameter 'body' when calling SchemaApi.schemas_list"
48
+ end
49
+ # resource path
50
+ local_var_path = '/v1/tenants/{tenant_id}/schemas/list'.sub('{' + 'tenant_id' + '}', CGI.escape(tenant_id.to_s))
51
+
52
+ # query parameters
53
+ query_params = opts[:query_params] || {}
54
+
55
+ # header parameters
56
+ header_params = opts[:header_params] || {}
57
+ # HTTP header 'Accept' (if needed)
58
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
59
+ # HTTP header 'Content-Type'
60
+ content_type = @api_client.select_header_content_type(['application/json'])
61
+ if !content_type.nil?
62
+ header_params['Content-Type'] = content_type
63
+ end
64
+
65
+ # form parameters
66
+ form_params = opts[:form_params] || {}
67
+
68
+ # http body (model)
69
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
70
+
71
+ # return_type
72
+ return_type = opts[:debug_return_type] || 'SchemaListResponse'
73
+
74
+ # auth_names
75
+ auth_names = opts[:debug_auth_names] || []
76
+
77
+ new_options = opts.merge(
78
+ :operation => :"SchemaApi.schemas_list",
79
+ :header_params => header_params,
80
+ :query_params => query_params,
81
+ :form_params => form_params,
82
+ :body => post_body,
83
+ :auth_names => auth_names,
84
+ :return_type => return_type
85
+ )
86
+
87
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
88
+ if @api_client.config.debugging
89
+ @api_client.config.logger.debug "API called: SchemaApi#schemas_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
90
+ end
91
+ return data, status_code, headers
92
+ end
93
+
94
+ # partially update your authorization model
95
+ # @param tenant_id [String] tenant_id is a string that identifies the tenant. It must match the pattern \&quot;[a-zA-Z0-9-,]+\&quot;, be a maximum of 64 bytes, and must not be empty.
96
+ # @param body [PartialWriteBody]
97
+ # @param [Hash] opts the optional parameters
98
+ # @return [SchemaPartialWriteResponse]
99
+ def schemas_partial_write(tenant_id, body, opts = {})
100
+ data, _status_code, _headers = schemas_partial_write_with_http_info(tenant_id, body, opts)
101
+ data
102
+ end
103
+
104
+ # partially update your authorization model
105
+ # @param tenant_id [String] tenant_id is a string that identifies the tenant. It must match the pattern \&quot;[a-zA-Z0-9-,]+\&quot;, be a maximum of 64 bytes, and must not be empty.
106
+ # @param body [PartialWriteBody]
107
+ # @param [Hash] opts the optional parameters
108
+ # @return [Array<(SchemaPartialWriteResponse, Integer, Hash)>] SchemaPartialWriteResponse data, response status code and response headers
109
+ def schemas_partial_write_with_http_info(tenant_id, body, opts = {})
110
+ if @api_client.config.debugging
111
+ @api_client.config.logger.debug 'Calling API: SchemaApi.schemas_partial_write ...'
112
+ end
113
+ # verify the required parameter 'tenant_id' is set
114
+ if @api_client.config.client_side_validation && tenant_id.nil?
115
+ fail ArgumentError, "Missing the required parameter 'tenant_id' when calling SchemaApi.schemas_partial_write"
116
+ end
117
+ # verify the required parameter 'body' is set
118
+ if @api_client.config.client_side_validation && body.nil?
119
+ fail ArgumentError, "Missing the required parameter 'body' when calling SchemaApi.schemas_partial_write"
120
+ end
121
+ # resource path
122
+ local_var_path = '/v1/tenants/{tenant_id}/schemas/partial-write'.sub('{' + 'tenant_id' + '}', CGI.escape(tenant_id.to_s))
123
+
124
+ # query parameters
125
+ query_params = opts[:query_params] || {}
126
+
127
+ # header parameters
128
+ header_params = opts[:header_params] || {}
129
+ # HTTP header 'Accept' (if needed)
130
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
131
+ # HTTP header 'Content-Type'
132
+ content_type = @api_client.select_header_content_type(['application/json'])
133
+ if !content_type.nil?
134
+ header_params['Content-Type'] = content_type
135
+ end
136
+
137
+ # form parameters
138
+ form_params = opts[:form_params] || {}
139
+
140
+ # http body (model)
141
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
142
+
143
+ # return_type
144
+ return_type = opts[:debug_return_type] || 'SchemaPartialWriteResponse'
145
+
146
+ # auth_names
147
+ auth_names = opts[:debug_auth_names] || []
148
+
149
+ new_options = opts.merge(
150
+ :operation => :"SchemaApi.schemas_partial_write",
151
+ :header_params => header_params,
152
+ :query_params => query_params,
153
+ :form_params => form_params,
154
+ :body => post_body,
155
+ :auth_names => auth_names,
156
+ :return_type => return_type
157
+ )
158
+
159
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
160
+ if @api_client.config.debugging
161
+ @api_client.config.logger.debug "API called: SchemaApi#schemas_partial_write\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
162
+ end
163
+ return data, status_code, headers
164
+ end
165
+
166
+ # read schema
167
+ # @param tenant_id [String] Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant &lt;code&gt;t1&lt;/code&gt; for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.
168
+ # @param body [SchemaReadBody]
169
+ # @param [Hash] opts the optional parameters
170
+ # @return [SchemaReadResponse]
171
+ def schemas_read(tenant_id, body, opts = {})
172
+ data, _status_code, _headers = schemas_read_with_http_info(tenant_id, body, opts)
173
+ data
174
+ end
175
+
176
+ # read schema
177
+ # @param tenant_id [String] Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant &lt;code&gt;t1&lt;/code&gt; for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.
178
+ # @param body [SchemaReadBody]
179
+ # @param [Hash] opts the optional parameters
180
+ # @return [Array<(SchemaReadResponse, Integer, Hash)>] SchemaReadResponse data, response status code and response headers
181
+ def schemas_read_with_http_info(tenant_id, body, opts = {})
182
+ if @api_client.config.debugging
183
+ @api_client.config.logger.debug 'Calling API: SchemaApi.schemas_read ...'
184
+ end
185
+ # verify the required parameter 'tenant_id' is set
186
+ if @api_client.config.client_side_validation && tenant_id.nil?
187
+ fail ArgumentError, "Missing the required parameter 'tenant_id' when calling SchemaApi.schemas_read"
188
+ end
189
+ # verify the required parameter 'body' is set
190
+ if @api_client.config.client_side_validation && body.nil?
191
+ fail ArgumentError, "Missing the required parameter 'body' when calling SchemaApi.schemas_read"
192
+ end
193
+ # resource path
194
+ local_var_path = '/v1/tenants/{tenant_id}/schemas/read'.sub('{' + 'tenant_id' + '}', CGI.escape(tenant_id.to_s))
195
+
196
+ # query parameters
197
+ query_params = opts[:query_params] || {}
198
+
199
+ # header parameters
200
+ header_params = opts[:header_params] || {}
201
+ # HTTP header 'Accept' (if needed)
202
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
203
+ # HTTP header 'Content-Type'
204
+ content_type = @api_client.select_header_content_type(['application/json'])
205
+ if !content_type.nil?
206
+ header_params['Content-Type'] = content_type
207
+ end
208
+
209
+ # form parameters
210
+ form_params = opts[:form_params] || {}
211
+
212
+ # http body (model)
213
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
214
+
215
+ # return_type
216
+ return_type = opts[:debug_return_type] || 'SchemaReadResponse'
217
+
218
+ # auth_names
219
+ auth_names = opts[:debug_auth_names] || []
220
+
221
+ new_options = opts.merge(
222
+ :operation => :"SchemaApi.schemas_read",
223
+ :header_params => header_params,
224
+ :query_params => query_params,
225
+ :form_params => form_params,
226
+ :body => post_body,
227
+ :auth_names => auth_names,
228
+ :return_type => return_type
229
+ )
230
+
231
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
232
+ if @api_client.config.debugging
233
+ @api_client.config.logger.debug "API called: SchemaApi#schemas_read\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
234
+ end
235
+ return data, status_code, headers
236
+ end
237
+
238
+ # write schema
239
+ # @param tenant_id [String] Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant &lt;code&gt;t1&lt;/code&gt; for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.
240
+ # @param body [SchemaWriteBody]
241
+ # @param [Hash] opts the optional parameters
242
+ # @return [SchemaWriteResponse]
243
+ def schemas_write(tenant_id, body, opts = {})
244
+ data, _status_code, _headers = schemas_write_with_http_info(tenant_id, body, opts)
245
+ data
246
+ end
247
+
248
+ # write schema
249
+ # @param tenant_id [String] Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant &lt;code&gt;t1&lt;/code&gt; for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.
250
+ # @param body [SchemaWriteBody]
251
+ # @param [Hash] opts the optional parameters
252
+ # @return [Array<(SchemaWriteResponse, Integer, Hash)>] SchemaWriteResponse data, response status code and response headers
253
+ def schemas_write_with_http_info(tenant_id, body, opts = {})
254
+ if @api_client.config.debugging
255
+ @api_client.config.logger.debug 'Calling API: SchemaApi.schemas_write ...'
256
+ end
257
+ # verify the required parameter 'tenant_id' is set
258
+ if @api_client.config.client_side_validation && tenant_id.nil?
259
+ fail ArgumentError, "Missing the required parameter 'tenant_id' when calling SchemaApi.schemas_write"
260
+ end
261
+ # verify the required parameter 'body' is set
262
+ if @api_client.config.client_side_validation && body.nil?
263
+ fail ArgumentError, "Missing the required parameter 'body' when calling SchemaApi.schemas_write"
264
+ end
265
+ # resource path
266
+ local_var_path = '/v1/tenants/{tenant_id}/schemas/write'.sub('{' + 'tenant_id' + '}', CGI.escape(tenant_id.to_s))
267
+
268
+ # query parameters
269
+ query_params = opts[:query_params] || {}
270
+
271
+ # header parameters
272
+ header_params = opts[:header_params] || {}
273
+ # HTTP header 'Accept' (if needed)
274
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
275
+ # HTTP header 'Content-Type'
276
+ content_type = @api_client.select_header_content_type(['application/json'])
277
+ if !content_type.nil?
278
+ header_params['Content-Type'] = content_type
279
+ end
280
+
281
+ # form parameters
282
+ form_params = opts[:form_params] || {}
283
+
284
+ # http body (model)
285
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
286
+
287
+ # return_type
288
+ return_type = opts[:debug_return_type] || 'SchemaWriteResponse'
289
+
290
+ # auth_names
291
+ auth_names = opts[:debug_auth_names] || []
292
+
293
+ new_options = opts.merge(
294
+ :operation => :"SchemaApi.schemas_write",
295
+ :header_params => header_params,
296
+ :query_params => query_params,
297
+ :form_params => form_params,
298
+ :body => post_body,
299
+ :auth_names => auth_names,
300
+ :return_type => return_type
301
+ )
302
+
303
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
304
+ if @api_client.config.debugging
305
+ @api_client.config.logger.debug "API called: SchemaApi#schemas_write\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
306
+ end
307
+ return data, status_code, headers
308
+ end
309
+ end
310
+ end
@@ -0,0 +1,215 @@
1
+ =begin
2
+ #Permify API
3
+
4
+ #Permify is an open source authorization service for creating fine-grained and scalable authorization systems.
5
+
6
+ The version of the OpenAPI document: v1.5.4
7
+ Contact: hello@permify.co
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.2.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Permify
16
+ class TenancyApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # create tenant
23
+ # @param body [TenantCreateRequest] TenantCreateRequest is the message used for the request to create a tenant.
24
+ # @param [Hash] opts the optional parameters
25
+ # @return [TenantCreateResponse]
26
+ def tenants_create(body, opts = {})
27
+ data, _status_code, _headers = tenants_create_with_http_info(body, opts)
28
+ data
29
+ end
30
+
31
+ # create tenant
32
+ # @param body [TenantCreateRequest] TenantCreateRequest is the message used for the request to create a tenant.
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [Array<(TenantCreateResponse, Integer, Hash)>] TenantCreateResponse data, response status code and response headers
35
+ def tenants_create_with_http_info(body, opts = {})
36
+ if @api_client.config.debugging
37
+ @api_client.config.logger.debug 'Calling API: TenancyApi.tenants_create ...'
38
+ end
39
+ # verify the required parameter 'body' is set
40
+ if @api_client.config.client_side_validation && body.nil?
41
+ fail ArgumentError, "Missing the required parameter 'body' when calling TenancyApi.tenants_create"
42
+ end
43
+ # resource path
44
+ local_var_path = '/v1/tenants/create'
45
+
46
+ # query parameters
47
+ query_params = opts[:query_params] || {}
48
+
49
+ # header parameters
50
+ header_params = opts[:header_params] || {}
51
+ # HTTP header 'Accept' (if needed)
52
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
53
+ # HTTP header 'Content-Type'
54
+ content_type = @api_client.select_header_content_type(['application/json'])
55
+ if !content_type.nil?
56
+ header_params['Content-Type'] = content_type
57
+ end
58
+
59
+ # form parameters
60
+ form_params = opts[:form_params] || {}
61
+
62
+ # http body (model)
63
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
64
+
65
+ # return_type
66
+ return_type = opts[:debug_return_type] || 'TenantCreateResponse'
67
+
68
+ # auth_names
69
+ auth_names = opts[:debug_auth_names] || []
70
+
71
+ new_options = opts.merge(
72
+ :operation => :"TenancyApi.tenants_create",
73
+ :header_params => header_params,
74
+ :query_params => query_params,
75
+ :form_params => form_params,
76
+ :body => post_body,
77
+ :auth_names => auth_names,
78
+ :return_type => return_type
79
+ )
80
+
81
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
82
+ if @api_client.config.debugging
83
+ @api_client.config.logger.debug "API called: TenancyApi#tenants_create\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
84
+ end
85
+ return data, status_code, headers
86
+ end
87
+
88
+ # delete tenant
89
+ # @param id [String] id is the unique identifier of the tenant to be deleted.
90
+ # @param [Hash] opts the optional parameters
91
+ # @return [TenantDeleteResponse]
92
+ def tenants_delete(id, opts = {})
93
+ data, _status_code, _headers = tenants_delete_with_http_info(id, opts)
94
+ data
95
+ end
96
+
97
+ # delete tenant
98
+ # @param id [String] id is the unique identifier of the tenant to be deleted.
99
+ # @param [Hash] opts the optional parameters
100
+ # @return [Array<(TenantDeleteResponse, Integer, Hash)>] TenantDeleteResponse data, response status code and response headers
101
+ def tenants_delete_with_http_info(id, opts = {})
102
+ if @api_client.config.debugging
103
+ @api_client.config.logger.debug 'Calling API: TenancyApi.tenants_delete ...'
104
+ end
105
+ # verify the required parameter 'id' is set
106
+ if @api_client.config.client_side_validation && id.nil?
107
+ fail ArgumentError, "Missing the required parameter 'id' when calling TenancyApi.tenants_delete"
108
+ end
109
+ # resource path
110
+ local_var_path = '/v1/tenants/{id}'.sub('{' + 'id' + '}', CGI.escape(id.to_s))
111
+
112
+ # query parameters
113
+ query_params = opts[:query_params] || {}
114
+
115
+ # header parameters
116
+ header_params = opts[:header_params] || {}
117
+ # HTTP header 'Accept' (if needed)
118
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
119
+
120
+ # form parameters
121
+ form_params = opts[:form_params] || {}
122
+
123
+ # http body (model)
124
+ post_body = opts[:debug_body]
125
+
126
+ # return_type
127
+ return_type = opts[:debug_return_type] || 'TenantDeleteResponse'
128
+
129
+ # auth_names
130
+ auth_names = opts[:debug_auth_names] || []
131
+
132
+ new_options = opts.merge(
133
+ :operation => :"TenancyApi.tenants_delete",
134
+ :header_params => header_params,
135
+ :query_params => query_params,
136
+ :form_params => form_params,
137
+ :body => post_body,
138
+ :auth_names => auth_names,
139
+ :return_type => return_type
140
+ )
141
+
142
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
143
+ if @api_client.config.debugging
144
+ @api_client.config.logger.debug "API called: TenancyApi#tenants_delete\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
145
+ end
146
+ return data, status_code, headers
147
+ end
148
+
149
+ # list tenants
150
+ # @param body [TenantListRequest] TenantListRequest is the message used for the request to list all tenants.
151
+ # @param [Hash] opts the optional parameters
152
+ # @return [TenantListResponse]
153
+ def tenants_list(body, opts = {})
154
+ data, _status_code, _headers = tenants_list_with_http_info(body, opts)
155
+ data
156
+ end
157
+
158
+ # list tenants
159
+ # @param body [TenantListRequest] TenantListRequest is the message used for the request to list all tenants.
160
+ # @param [Hash] opts the optional parameters
161
+ # @return [Array<(TenantListResponse, Integer, Hash)>] TenantListResponse data, response status code and response headers
162
+ def tenants_list_with_http_info(body, opts = {})
163
+ if @api_client.config.debugging
164
+ @api_client.config.logger.debug 'Calling API: TenancyApi.tenants_list ...'
165
+ end
166
+ # verify the required parameter 'body' is set
167
+ if @api_client.config.client_side_validation && body.nil?
168
+ fail ArgumentError, "Missing the required parameter 'body' when calling TenancyApi.tenants_list"
169
+ end
170
+ # resource path
171
+ local_var_path = '/v1/tenants/list'
172
+
173
+ # query parameters
174
+ query_params = opts[:query_params] || {}
175
+
176
+ # header parameters
177
+ header_params = opts[:header_params] || {}
178
+ # HTTP header 'Accept' (if needed)
179
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
180
+ # HTTP header 'Content-Type'
181
+ content_type = @api_client.select_header_content_type(['application/json'])
182
+ if !content_type.nil?
183
+ header_params['Content-Type'] = content_type
184
+ end
185
+
186
+ # form parameters
187
+ form_params = opts[:form_params] || {}
188
+
189
+ # http body (model)
190
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
191
+
192
+ # return_type
193
+ return_type = opts[:debug_return_type] || 'TenantListResponse'
194
+
195
+ # auth_names
196
+ auth_names = opts[:debug_auth_names] || []
197
+
198
+ new_options = opts.merge(
199
+ :operation => :"TenancyApi.tenants_list",
200
+ :header_params => header_params,
201
+ :query_params => query_params,
202
+ :form_params => form_params,
203
+ :body => post_body,
204
+ :auth_names => auth_names,
205
+ :return_type => return_type
206
+ )
207
+
208
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
209
+ if @api_client.config.debugging
210
+ @api_client.config.logger.debug "API called: TenancyApi#tenants_list\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
211
+ end
212
+ return data, status_code, headers
213
+ end
214
+ end
215
+ end
@@ -0,0 +1,94 @@
1
+ =begin
2
+ #Permify API
3
+
4
+ #Permify is an open source authorization service for creating fine-grained and scalable authorization systems.
5
+
6
+ The version of the OpenAPI document: v1.5.4
7
+ Contact: hello@permify.co
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.2.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Permify
16
+ class WatchApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # watch changes
23
+ # @param tenant_id [String] Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant &lt;code&gt;t1&lt;/code&gt; for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.
24
+ # @param body [WatchBody]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [StreamResultOfWatchResponse]
27
+ def watch_watch(tenant_id, body, opts = {})
28
+ data, _status_code, _headers = watch_watch_with_http_info(tenant_id, body, opts)
29
+ data
30
+ end
31
+
32
+ # watch changes
33
+ # @param tenant_id [String] Identifier of the tenant, if you are not using multi-tenancy (have only one tenant) use pre-inserted tenant &lt;code&gt;t1&lt;/code&gt; for this field. Required, and must match the pattern \\“[a-zA-Z0-9-,]+\\“, max 64 bytes.
34
+ # @param body [WatchBody]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(StreamResultOfWatchResponse, Integer, Hash)>] StreamResultOfWatchResponse data, response status code and response headers
37
+ def watch_watch_with_http_info(tenant_id, body, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: WatchApi.watch_watch ...'
40
+ end
41
+ # verify the required parameter 'tenant_id' is set
42
+ if @api_client.config.client_side_validation && tenant_id.nil?
43
+ fail ArgumentError, "Missing the required parameter 'tenant_id' when calling WatchApi.watch_watch"
44
+ end
45
+ # verify the required parameter 'body' is set
46
+ if @api_client.config.client_side_validation && body.nil?
47
+ fail ArgumentError, "Missing the required parameter 'body' when calling WatchApi.watch_watch"
48
+ end
49
+ # resource path
50
+ local_var_path = '/v1/tenants/{tenant_id}/watch'.sub('{' + 'tenant_id' + '}', CGI.escape(tenant_id.to_s))
51
+
52
+ # query parameters
53
+ query_params = opts[:query_params] || {}
54
+
55
+ # header parameters
56
+ header_params = opts[:header_params] || {}
57
+ # HTTP header 'Accept' (if needed)
58
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
59
+ # HTTP header 'Content-Type'
60
+ content_type = @api_client.select_header_content_type(['application/json'])
61
+ if !content_type.nil?
62
+ header_params['Content-Type'] = content_type
63
+ end
64
+
65
+ # form parameters
66
+ form_params = opts[:form_params] || {}
67
+
68
+ # http body (model)
69
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
70
+
71
+ # return_type
72
+ return_type = opts[:debug_return_type] || 'StreamResultOfWatchResponse'
73
+
74
+ # auth_names
75
+ auth_names = opts[:debug_auth_names] || []
76
+
77
+ new_options = opts.merge(
78
+ :operation => :"WatchApi.watch_watch",
79
+ :header_params => header_params,
80
+ :query_params => query_params,
81
+ :form_params => form_params,
82
+ :body => post_body,
83
+ :auth_names => auth_names,
84
+ :return_type => return_type
85
+ )
86
+
87
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
88
+ if @api_client.config.debugging
89
+ @api_client.config.logger.debug "API called: WatchApi#watch_watch\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
90
+ end
91
+ return data, status_code, headers
92
+ end
93
+ end
94
+ end