From 49a926ee64d614193966803783458b804d59785e Mon Sep 17 00:00:00 2001 From: Tanner Stirrat Date: Mon, 3 Feb 2025 10:58:47 -0700 Subject: [PATCH] Update to spicedb head --- .gitignore | 6 ------ go.mod | 2 +- go.sum | 4 ++-- internal/cmd/preview.go | 18 ++++++++---------- temp/blah.zed | 6 ------ temp/folder/four.yaml | 15 --------------- temp/folder/one.zed | 6 ------ temp/folder/subfolder/five.yaml | 7 ------- temp/folder/three.yaml | 7 ------- temp/folder/two.yaml | 7 ------- temp/schemas/blah.zed | 13 ------------- temp/schemas/folder/root.zed | 6 ------ temp/schemas/folder/user.zed | 1 - temp/schemas/out.zed | 11 ----------- temp/schemas/root.zed | 7 ------- temp/schemas/somethingelse.zed | 11 ----------- temp/schemas/subjects.zed | 6 ------ temp/schemas/user.zed | 1 - 18 files changed, 11 insertions(+), 123 deletions(-) delete mode 100644 temp/blah.zed delete mode 100644 temp/folder/four.yaml delete mode 100644 temp/folder/one.zed delete mode 100644 temp/folder/subfolder/five.yaml delete mode 100644 temp/folder/three.yaml delete mode 100644 temp/folder/two.yaml delete mode 100644 temp/schemas/blah.zed delete mode 100644 temp/schemas/folder/root.zed delete mode 100644 temp/schemas/folder/user.zed delete mode 100644 temp/schemas/out.zed delete mode 100644 temp/schemas/root.zed delete mode 100644 temp/schemas/somethingelse.zed delete mode 100644 temp/schemas/subjects.zed delete mode 100644 temp/schemas/user.zed diff --git a/.gitignore b/.gitignore index 08b0257..3305c51 100644 --- a/.gitignore +++ b/.gitignore @@ -4,9 +4,3 @@ temp/ # Local-only files go.work go.work.sum - -go.work -go.work.sum - -go.work -go.work.sum diff --git a/go.mod b/go.mod index 0d54b88..e1cd917 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( github.com/TylerBrock/colorjson v0.0.0-20200706003622-8a50f05110d2 github.com/authzed/authzed-go v1.3.0 github.com/authzed/grpcutil v0.0.0-20240123194739-2ea1e3d2d98b - github.com/authzed/spicedb v1.40.0 + github.com/authzed/spicedb v1.40.1-0.20250203174657-98e88a128ae5 github.com/brianvoe/gofakeit/v6 v6.28.0 github.com/ccoveille/go-safecast v1.5.0 github.com/cenkalti/backoff/v4 v4.3.0 diff --git a/go.sum b/go.sum index b988cf7..09e3ffa 100644 --- a/go.sum +++ b/go.sum @@ -678,8 +678,8 @@ github.com/authzed/consistent v0.1.0 h1:tlh1wvKoRbjRhMm2P+X5WQQyR54SRoS4MyjLOg17 github.com/authzed/consistent v0.1.0/go.mod h1:plwHlrN/EJUCwQ+Bca0MhM1KnisPs7HEkZI5giCXrcc= github.com/authzed/grpcutil v0.0.0-20240123194739-2ea1e3d2d98b h1:wbh8IK+aMLTCey9sZasO7b6BWLAJnHHvb79fvWCXwxw= github.com/authzed/grpcutil v0.0.0-20240123194739-2ea1e3d2d98b/go.mod h1:s3qC7V7XIbiNWERv7Lfljy/Lx25/V1Qlexb0WJuA8uQ= -github.com/authzed/spicedb v1.40.0 h1:VcYmSZEHNjZXmEI+VIn1qDP8SgeFTFbZuW7UilYj3ns= -github.com/authzed/spicedb v1.40.0/go.mod h1:/UVC4ZJkMUZFN4MVjjOLAU7m/fqitkBP57ZPffyicOs= +github.com/authzed/spicedb v1.40.1-0.20250203174657-98e88a128ae5 h1:3BcKukzgDYDwyUKiYn8b6nxgSZBrDfd4eHvfz15+Sos= +github.com/authzed/spicedb v1.40.1-0.20250203174657-98e88a128ae5/go.mod h1:/UVC4ZJkMUZFN4MVjjOLAU7m/fqitkBP57ZPffyicOs= github.com/aws/aws-sdk-go-v2 v1.32.7 h1:ky5o35oENWi0JYWUZkB7WYvVPP+bcRF5/Iq7JWSb5Rw= github.com/aws/aws-sdk-go-v2 v1.32.7/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U= github.com/aws/aws-sdk-go-v2/config v1.28.7 h1:GduUnoTXlhkgnxTD93g1nv4tVPILbdNQOzav+Wpg7AE= diff --git a/internal/cmd/preview.go b/internal/cmd/preview.go index e1d8a7e..90367d3 100644 --- a/internal/cmd/preview.go +++ b/internal/cmd/preview.go @@ -4,7 +4,6 @@ import ( "errors" "fmt" "os" - "path" "path/filepath" newcompiler "github.com/authzed/spicedb/pkg/composableschemadsl/compiler" @@ -26,6 +25,7 @@ func registerPreviewCmd(rootCmd *cobra.Command) { previewCmd.AddCommand(schemaCmd) schemaCmd.AddCommand(schemaCompileCmd) + schemaCompileCmd.Flags().String("out", "", "output filepath; omitting writes to stdout") } var previewCmd = &cobra.Command{ @@ -42,8 +42,12 @@ var schemaCompileCmd = &cobra.Command{ Use: "compile ", Args: cobra.ExactArgs(1), Short: "Compile a schema that uses extended syntax into one that can be written to SpiceDB", - // TODO: add longer example - // TODO: is this correct? + Example: ` + Write to stdout: + zed preview schema compile root.zed + Write to an output file: + zed preview schema compile --out compiled.zed + `, ValidArgsFunction: commands.FileExtensionCompletions("zed"), RunE: schemaCompileCmdFunc, } @@ -51,7 +55,6 @@ var schemaCompileCmd = &cobra.Command{ // Compiles an input schema written in the new composable schema syntax // and produces it as a fully-realized schema func schemaCompileCmdFunc(cmd *cobra.Command, args []string) error { - // TODO: should we maintain the validate semantics where you can provide any URL? stdOutFd, err := safecast.ToInt(uint(os.Stdout.Fd())) if err != nil { return err @@ -61,12 +64,7 @@ func schemaCompileCmdFunc(cmd *cobra.Command, args []string) error { return fmt.Errorf("must provide stdout or output file path") } - relativeInputFilepath := args[0] - cwd, err := os.Getwd() - if err != nil { - return err - } - inputFilepath := path.Join(cwd, relativeInputFilepath) + inputFilepath := args[0] inputSourceFolder := filepath.Dir(inputFilepath) var schemaBytes []byte schemaBytes, err = os.ReadFile(inputFilepath) diff --git a/temp/blah.zed b/temp/blah.zed deleted file mode 100644 index ee42cb5..0000000 --- a/temp/blah.zed +++ /dev/null @@ -1,6 +0,0 @@ -use expiration - -definition user { - relation parent: user with expiration - permission view = parent -} diff --git a/temp/folder/four.yaml b/temp/folder/four.yaml deleted file mode 100644 index 3a136c1..0000000 --- a/temp/folder/four.yaml +++ /dev/null @@ -1,15 +0,0 @@ ---- -schema: >- - definition user {} - - definition resource { - relation user: user - permission view = user - } -relationships: >- - resource:1#user@user:1 -assertions: - assertTrue: - - "resource:1#user@user:1" - assertFalse: - - "resource:1#user@user:2" diff --git a/temp/folder/one.zed b/temp/folder/one.zed deleted file mode 100644 index bbbac7f..0000000 --- a/temp/folder/one.zed +++ /dev/null @@ -1,6 +0,0 @@ -definition user {} - -definition resource { - relation user: user - permission view: user -} diff --git a/temp/folder/subfolder/five.yaml b/temp/folder/subfolder/five.yaml deleted file mode 100644 index ae1f517..0000000 --- a/temp/folder/subfolder/five.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -schemaFile: "../one.zed" -relationships: >- - resource:1#user@user:2 -assertions: - assertFalse: - - "resource:1#user@user:1" diff --git a/temp/folder/three.yaml b/temp/folder/three.yaml deleted file mode 100644 index 7f129f4..0000000 --- a/temp/folder/three.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -schemaFile: "one.zed" -relationships: >- - resource:1#user@user:1 -assertions: - assertTrue: - - "resource:1#user@user:1" diff --git a/temp/folder/two.yaml b/temp/folder/two.yaml deleted file mode 100644 index ccd8665..0000000 --- a/temp/folder/two.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -schemaFile: "one.zed" -relationships: >- - resource:1#user@user:2 -assertions: - assertFalse: - - "resource:1#user@user:1" diff --git a/temp/schemas/blah.zed b/temp/schemas/blah.zed deleted file mode 100644 index e323f38..0000000 --- a/temp/schemas/blah.zed +++ /dev/null @@ -1,13 +0,0 @@ -definition user {} - -definition group { - relation user: user - - permission view = user -} - -definition thing { - relation group: group - - permission view = group.all(view) -} diff --git a/temp/schemas/folder/root.zed b/temp/schemas/folder/root.zed deleted file mode 100644 index 321bccb..0000000 --- a/temp/schemas/folder/root.zed +++ /dev/null @@ -1,6 +0,0 @@ -from .user import user - -definition resource { - relation viewer: user - permission view = viewer -} diff --git a/temp/schemas/folder/user.zed b/temp/schemas/folder/user.zed deleted file mode 100644 index 16fbd00..0000000 --- a/temp/schemas/folder/user.zed +++ /dev/null @@ -1 +0,0 @@ -definition user {} diff --git a/temp/schemas/out.zed b/temp/schemas/out.zed deleted file mode 100644 index d7cc33c..0000000 --- a/temp/schemas/out.zed +++ /dev/null @@ -1,11 +0,0 @@ -definition user {} - -definition group { - relation user: user - permission view = user -} - -definition thing { - relation group: group - permission view = group.all(view) -} diff --git a/temp/schemas/root.zed b/temp/schemas/root.zed deleted file mode 100644 index 85c704d..0000000 --- a/temp/schemas/root.zed +++ /dev/null @@ -1,7 +0,0 @@ -from .subjects import user, group - -definition resource { - relation user: user - relation group: group - permission view = user + group->member -} diff --git a/temp/schemas/somethingelse.zed b/temp/schemas/somethingelse.zed deleted file mode 100644 index 63a287e..0000000 --- a/temp/schemas/somethingelse.zed +++ /dev/null @@ -1,11 +0,0 @@ -definition user {} - -definition group { - relation user: user - permission view = user -} - -definition thing { - relation group: group - permission view = group.all(view) -} \ No newline at end of file diff --git a/temp/schemas/subjects.zed b/temp/schemas/subjects.zed deleted file mode 100644 index b94e016..0000000 --- a/temp/schemas/subjects.zed +++ /dev/null @@ -1,6 +0,0 @@ -from .user import user - -definition group { - relation user: user - permission member = user -} diff --git a/temp/schemas/user.zed b/temp/schemas/user.zed deleted file mode 100644 index 16fbd00..0000000 --- a/temp/schemas/user.zed +++ /dev/null @@ -1 +0,0 @@ -definition user {}