diff --git a/Pipfile b/Pipfile index af1ea7b3f..77a77ea08 100644 --- a/Pipfile +++ b/Pipfile @@ -8,7 +8,7 @@ django-environ = "==0.10.0" djangorestframework = "==3.15.2" gunicorn = "==22.0.0" whitenoise = "==6.4.0" -django = "==4.2.16" +django = "==4.2.17" django-filter = "==22.1" requests = "==2.32.3" django-tenants = "==3.5.0" diff --git a/Pipfile.lock b/Pipfile.lock index 668d3fb18..4644d9bd8 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "db74fec14810b8b103db5f5f7ab83af0e4fee9effda16a30bf6f38b2a24cfb11" + "sha256": "465ff6ef8c8f69d8e778bb16af0f9e9c56a43c2fae9292b19a14cc62824cfd3e" }, "pipfile-spec": 6, "requires": { @@ -349,12 +349,12 @@ }, "django": { "hashes": [ - "sha256:1ddc333a16fc139fd253035a1606bb24261951bbc3a6ca256717fa06cc41a898", - "sha256:6f1616c2786c408ce86ab7e10f792b8f15742f7b7b7460243929cb371e7f1dad" + "sha256:3a93350214ba25f178d4045c0786c61573e7dbfa3c509b3551374f1e11ba8de0", + "sha256:6b56d834cc94c8b21a8f4e775064896be3b4a4ca387f2612d4406a5927cd2fdc" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==4.2.16" + "version": "==4.2.17" }, "django-cors-headers": { "hashes": [ @@ -725,20 +725,20 @@ }, "protobuf": { "hashes": [ - "sha256:0cd67a1e5c2d88930aa767f702773b2d054e29957432d7c6a18f8be02a07719a", - "sha256:0d10091d6d03537c3f902279fcf11e95372bdd36a79556311da0487455791b20", - "sha256:17d128eebbd5d8aee80300aed7a43a48a25170af3337f6f1333d1fac2c6839ac", - "sha256:34a90cf30c908f47f40ebea7811f743d360e202b6f10d40c02529ebd84afc069", - "sha256:445a0c02483869ed8513a585d80020d012c6dc60075f96fa0563a724987b1001", - "sha256:6c3009e22717c6cc9e6594bb11ef9f15f669b19957ad4087214d69e08a213368", - "sha256:85286a47caf63b34fa92fdc1fd98b649a8895db595cfa746c5286eeae890a0b1", - "sha256:88c4af76a73183e21061881360240c0cdd3c39d263b4e8fb570aaf83348d608f", - "sha256:c931c61d0cc143a2e756b1e7f8197a508de5365efd40f83c907a9febf36e6b43", - "sha256:e467f81fdd12ded9655cea3e9b83dc319d93b394ce810b556fb0f421d8613e86", - "sha256:ea7fb379b257911c8c020688d455e8f74efd2f734b72dc1ea4b4d7e9fd1326f2" + "sha256:012ce28d862ff417fd629285aca5d9772807f15ceb1a0dbd15b88f58c776c98c", + "sha256:027fbcc48cea65a6b17028510fdd054147057fa78f4772eb547b9274e5219331", + "sha256:1fc55267f086dd4050d18ef839d7bd69300d0d08c2a53ca7df3920cc271a3c34", + "sha256:22c1f539024241ee545cbcb00ee160ad1877975690b16656ff87dde107b5f110", + "sha256:32600ddb9c2a53dedc25b8581ea0f1fd8ea04956373c0c07577ce58d312522e0", + "sha256:50879eb0eb1246e3a5eabbbe566b44b10348939b7cc1b267567e8c3d07213853", + "sha256:5a41deccfa5e745cef5c65a560c76ec0ed8e70908a67cc8f4da5fce588b50d57", + "sha256:683be02ca21a6ffe80db6dd02c0b5b2892322c59ca57fd6c872d652cb80549cb", + "sha256:8ee1461b3af56145aca2800e6a3e2f928108c749ba8feccc6f5dd0062c410c0d", + "sha256:b5ba1d0e4c8a40ae0496d0e2ecfdbb82e1776928a205106d14ad6985a09ec155", + "sha256:d473655e29c0c4bbf8b69e9a8fb54645bc289dead6d753b952e7aa660254ae18" ], "markers": "python_version >= '3.8'", - "version": "==5.29.0" + "version": "==5.29.1" }, "protoc-gen-validate": { "hashes": [ @@ -926,11 +926,11 @@ }, "six": { "hashes": [ - "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", - "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" + "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", + "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.16.0" + "version": "==1.17.0" }, "sqlparse": { "hashes": [ @@ -1848,11 +1848,11 @@ }, "six": { "hashes": [ - "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", - "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" + "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", + "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81" ], "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.16.0" + "version": "==1.17.0" }, "snowballstemmer": { "hashes": [ diff --git a/docs/source/specs/relations-openapi.yml b/docs/source/specs/relations-openapi.yml index 1926baf28..f9c5dbcb2 100644 --- a/docs/source/specs/relations-openapi.yml +++ b/docs/source/specs/relations-openapi.yml @@ -35,11 +35,11 @@ paths: ] } ``` - + Schema in SpiceDB ``` definition user {} - + definition group { relation member: user | group#member } @@ -76,7 +76,7 @@ paths: format: uuid description: | Example of request body from platform RBAC API - + Request ``` POST /groups/0ff698d7-3972-4385-9a15-0fe9cd49f740/roles/ @@ -89,22 +89,22 @@ paths: ] } ``` - + Schema in SpiceDB ``` definition rbac/v1role { relation role: role relation binding: role_binding } - + definition user {} - + definition role { } definition group { relation member: user | group#member } - + definition role_binding { relation subject : user | group#member } @@ -113,23 +113,23 @@ paths: Prerequisites: ``` role_binding:ROLE-UUID#granted@role:ROLE-UUID - + rbac/v1role:ROLE-UUID#role@role:ROLE-UUID - + // NOTE at this relation has to be checked before we add relation in example section rbac/v1role:ROLE-UUID#binding@role_binding:ROLE-UUID ``` - + zed command to check: ``` role_binding:ROLE-UUID#subject@group:94846f2f-cced-474f-b7f3-47e2ec51dd1#member ``` - + Example of relations in SpiceDB to add a role to a group (in zed format) ``` role_binding:ROLE-UUID#subject@group:0ff698d7-3972-4385-9a15-0fe9cd49f740#member ``` - + [Authzed playground](https://play.authzed.com/s/NEIiBuig1-Bg/schema) requestBody: content: @@ -171,14 +171,14 @@ paths: ] } ``` - + Schema in SpiceDB ``` definition rbac/v1role { relation role: role relation binding: role_binding } - + definition user {} definition role { diff --git a/docs/source/specs/typespec/compile_tsp_spec b/docs/source/specs/typespec/compile_tsp_spec index fa56ef46d..549cbbc01 100755 --- a/docs/source/specs/typespec/compile_tsp_spec +++ b/docs/source/specs/typespec/compile_tsp_spec @@ -9,4 +9,3 @@ #tsp install tsp compile main.tsp cp tsp-output/@typespec/openapi3/openapi.v2.yaml ../v2 - diff --git a/rbac/internal/specs/openapi.json b/rbac/internal/specs/openapi.json index 18908cf97..2e0ea1a3f 100644 --- a/rbac/internal/specs/openapi.json +++ b/rbac/internal/specs/openapi.json @@ -1993,4 +1993,4 @@ } } } -} \ No newline at end of file +} diff --git a/requirements.txt b/requirements.txt index 758ae8655..751c859a6 100644 --- a/requirements.txt +++ b/requirements.txt @@ -16,7 +16,7 @@ click-didyoumean==0.3.1; python_full_version >= '3.6.2' click-plugins==1.1.1 click-repl==0.3.0; python_version >= '3.6' cryptography==44.0.0; python_version >= '3.7' and python_full_version not in '3.9.0, 3.9.1' -django==4.2.16; python_version >= '3.8' +django==4.2.17; python_version >= '3.8' django-cors-headers==3.13.0; python_version >= '3.7' django-environ==0.10.0; python_version >= '3.5' and python_version < '4' django-extensions==3.2.3; python_version >= '3.6' @@ -41,7 +41,7 @@ markupsafe==3.0.2; python_version >= '3.9' packaging==24.2; python_version >= '3.8' prometheus-client==0.15.0; python_version >= '3.6' prompt-toolkit==3.0.48; python_full_version >= '3.7.0' -protobuf==5.29.0; python_version >= '3.8' +protobuf==5.29.1; python_version >= '3.8' protoc-gen-validate==1.0.4; python_version >= '3.6' psycopg2==2.9.5; python_version >= '3.6' psycopg2-binary==2.9.5; python_version >= '3.6' @@ -54,7 +54,7 @@ requests==2.32.3; python_version >= '3.8' s3transfer==0.6.2; python_version >= '3.7' sentry-sdk==2.8.0; python_version >= '3.6' setuptools==75.6.0; python_version >= '3.9' -six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' +six==1.17.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3' sqlparse==0.5.0; python_version >= '3.8' stompest==2.3.0 typing-extensions==4.12.2; python_version < '3.11'