diff --git a/doc/md/getting-started.md b/doc/md/getting-started.md index 8f3c1569c..dfffc4877 100755 --- a/doc/md/getting-started.md +++ b/doc/md/getting-started.md @@ -452,47 +452,47 @@ func CreateGraph(ctx context.Context, client *ent.Client) error { return err } // Then, create the cars, and attach them to the users in the creation. - _, err = client.Car. + err = client.Car. Create(). SetModel("Tesla"). SetRegisteredAt(time.Now()). // ignore the time in the graph. SetOwner(a8m). // attach this graph to Ariel. - Save(ctx) + Exec(ctx) if err != nil { return err } - _, err = client.Car. + err = client.Car. Create(). SetModel("Mazda"). SetRegisteredAt(time.Now()). // ignore the time in the graph. SetOwner(a8m). // attach this graph to Ariel. - Save(ctx) + Exec(ctx) if err != nil { return err } - _, err = client.Car. + err = client.Car. Create(). SetModel("Ford"). SetRegisteredAt(time.Now()). // ignore the time in the graph. SetOwner(neta). // attach this graph to Neta. - Save(ctx) + Exec(ctx) if err != nil { return err } // Create the groups, and add their users in the creation. - _, err = client.Group. + err = client.Group. Create(). SetName("GitLab"). AddUsers(neta, a8m). - Save(ctx) + Exec(ctx) if err != nil { return err } - _, err = client.Group. + err = client.Group. Create(). SetName("GitHub"). AddUsers(a8m). - Save(ctx) + Exec(ctx) if err != nil { return err } diff --git a/doc/md/privacy.md b/doc/md/privacy.md index 36ab8b5d2..9f5247325 100644 --- a/doc/md/privacy.md +++ b/doc/md/privacy.md @@ -227,17 +227,17 @@ After adding the rules above and running the code-generation, we expect the priv func Do(ctx context.Context, client *ent.Client) error { // Expect operation to fail, because viewer-context // is missing (first mutation rule check). - if _, err := client.User.Create().Save(ctx); !errors.Is(err, privacy.Deny) { + if err := client.User.Create().Exec(ctx); !errors.Is(err, privacy.Deny) { return fmt.Errorf("expect operation to fail, but got %w", err) } // Apply the same operation with "Admin" role. admin := viewer.NewContext(ctx, viewer.UserViewer{Role: viewer.Admin}) - if _, err := client.User.Create().Save(admin); err != nil { + if err := client.User.Create().Exec(admin); err != nil { return fmt.Errorf("expect operation to pass, but got %w", err) } // Apply the same operation with "ViewOnly" role. viewOnly := viewer.NewContext(ctx, viewer.UserViewer{Role: viewer.View}) - if _, err := client.User.Create().Save(viewOnly); !errors.Is(err, privacy.Deny) { + if err := client.User.Create().Exec(viewOnly); !errors.Is(err, privacy.Deny) { return fmt.Errorf("expect operation to fail, but got %w", err) } // Allow all viewers to query users. @@ -259,7 +259,7 @@ can use the `privacy.DecisionContext` function to create a new context with a pr func Do(ctx context.Context, client *ent.Client) error { // Bind a privacy decision to the context (bypass all other rules). allow := privacy.DecisionContext(ctx, privacy.Allow) - if _, err := client.User.Create().Save(allow); err != nil { + if err := client.User.Create().Exec(allow); err != nil { return fmt.Errorf("expect operation to pass, but got %w", err) } return nil @@ -332,12 +332,12 @@ Then, we expect the following code to run successfully: func Do(ctx context.Context, client *ent.Client) error { // Expect operation to fail, because viewer-context // is missing (first mutation rule check). - if _, err := client.Tenant.Create().Save(ctx); !errors.Is(err, privacy.Deny) { + if err := client.Tenant.Create().Exec(ctx); !errors.Is(err, privacy.Deny) { return fmt.Errorf("expect operation to fail, but got %w", err) } // Deny tenant creation if the viewer is not admin. viewCtx := viewer.NewContext(ctx, viewer.UserViewer{Role: viewer.View}) - if _, err := client.Tenant.Create().Save(viewCtx); !errors.Is(err, privacy.Deny) { + if err := client.Tenant.Create().Exec(viewCtx); !errors.Is(err, privacy.Deny) { return fmt.Errorf("expect operation to fail, but got %w", err) } // Apply the same operation with "Admin" role, expect it to pass. @@ -512,11 +512,11 @@ func Do(ctx context.Context, client *ent.Client) error { // Expect operation to fail because the DenyMismatchedTenants rule // makes sure the group and the users are connected to the same tenant. - _, err = client.Group.Create().SetName("entgo.io").SetTenant(hub).AddUsers(labUser).Save(adminCtx) + err = client.Group.Create().SetName("entgo.io").SetTenant(hub).AddUsers(labUser).Exec(adminCtx) if !errors.Is(err, privacy.Deny) { return fmt.Errorf("expect operation to fail, since user (nati) is not connected to the same tenant") } - _, err = client.Group.Create().SetName("entgo.io").SetTenant(hub).AddUsers(labUser, hubUser).Save(adminCtx) + err = client.Group.Create().SetName("entgo.io").SetTenant(hub).AddUsers(labUser, hubUser).Exec(adminCtx) if !errors.Is(err, privacy.Deny) { return fmt.Errorf("expect operation to fail, since some users (nati) are not connected to the same tenant") } diff --git a/doc/md/schema-indexes.md b/doc/md/schema-indexes.md index 2490498c3..8a85ff65d 100755 --- a/doc/md/schema-indexes.md +++ b/doc/md/schema-indexes.md @@ -127,14 +127,13 @@ func Do(ctx context.Context, client *ent.Client) error { SetName("ST"). SetCity(tlv). SaveX(ctx) - // This operation will fail because "ST" - // is already created under "TLV". - _, err := client.Street. + // This operation fails because "ST" + // was already created under "TLV". + if err := client.Street. Create(). SetName("ST"). SetCity(tlv). - Save(ctx) - if err == nil { + Exec(ctx); err == nil { return fmt.Errorf("expecting creation to fail") } // Add a street "ST" to "NYC". diff --git a/examples/README.md b/examples/README.md index bdeb6e8dc..1f2ee3d70 100644 --- a/examples/README.md +++ b/examples/README.md @@ -1000,14 +1000,13 @@ func Do(ctx context.Context, client *ent.Client) error { SetName("ST"). SetCity(tlv). SaveX(ctx) - // This operation will fail because "ST" - // is already created under "TLV". - _, err := client.Street. + // This operation fails because "ST" + // was already created under "TLV". + if err := client.Street. Create(). SetName("ST"). SetCity(tlv). - Save(ctx) - if err == nil { + Exec(ctx); err == nil { return fmt.Errorf("expecting creation to fail") } // Add a street "ST" to "NYC". diff --git a/examples/edgeindex/example_test.go b/examples/edgeindex/example_test.go index 6671a748d..31e30dd1b 100644 --- a/examples/edgeindex/example_test.go +++ b/examples/edgeindex/example_test.go @@ -47,14 +47,13 @@ func Do(ctx context.Context, client *ent.Client) error { SetName("ST"). SetCity(tlv). SaveX(ctx) - // This operation will fail because "ST" - // is already created under "TLV". - _, err := client.Street. + // This operation fails because "ST" + // was already created under "TLV". + if err := client.Street. Create(). SetName("ST"). SetCity(tlv). - Save(ctx) - if err == nil { + Exec(ctx); err == nil { return fmt.Errorf("expecting creation to fail") } // Add a street "ST" to "NYC". diff --git a/examples/privacyadmin/example_test.go b/examples/privacyadmin/example_test.go index 7b7ae8bfd..a886a6fba 100644 --- a/examples/privacyadmin/example_test.go +++ b/examples/privacyadmin/example_test.go @@ -42,17 +42,17 @@ func Example_PrivacyAdmin() { func Do(ctx context.Context, client *ent.Client) error { // Expect operation to fail, because viewer-context // is missing (first mutation rule check). - if _, err := client.User.Create().Save(ctx); !errors.Is(err, privacy.Deny) { + if err := client.User.Create().Exec(ctx); !errors.Is(err, privacy.Deny) { return fmt.Errorf("expect operation to fail, but got %w", err) } // Apply the same operation with "Admin" role. admin := viewer.NewContext(ctx, viewer.UserViewer{Role: viewer.Admin}) - if _, err := client.User.Create().Save(admin); err != nil { + if err := client.User.Create().Exec(admin); err != nil { return fmt.Errorf("expect operation to pass, but got %w", err) } // Apply the same operation with "ViewOnly" role. viewOnly := viewer.NewContext(ctx, viewer.UserViewer{Role: viewer.View}) - if _, err := client.User.Create().Save(viewOnly); !errors.Is(err, privacy.Deny) { + if err := client.User.Create().Exec(viewOnly); !errors.Is(err, privacy.Deny) { return fmt.Errorf("expect operation to fail, but got %w", err) } // Allow all viewers to query users. @@ -63,7 +63,7 @@ func Do(ctx context.Context, client *ent.Client) error { } // Bind a privacy decision to the context (bypass all other rules). allow := privacy.DecisionContext(ctx, privacy.Allow) - if _, err := client.User.Create().Save(allow); err != nil { + if err := client.User.Create().Exec(allow); err != nil { return fmt.Errorf("expect operation to pass, but got %w", err) } return nil diff --git a/examples/privacytenant/example_test.go b/examples/privacytenant/example_test.go index d38b01f12..971d5019b 100644 --- a/examples/privacytenant/example_test.go +++ b/examples/privacytenant/example_test.go @@ -44,12 +44,12 @@ func Example_PrivacyTenant() { func Do(ctx context.Context, client *ent.Client) error { // Expect operation to fail, because viewer-context // is missing (first mutation rule check). - if _, err := client.Tenant.Create().Save(ctx); !errors.Is(err, privacy.Deny) { + if err := client.Tenant.Create().Exec(ctx); !errors.Is(err, privacy.Deny) { return fmt.Errorf("expect operation to fail, but got %w", err) } // Deny tenant creation if the viewer is not admin. viewCtx := viewer.NewContext(ctx, viewer.UserViewer{Role: viewer.View}) - if _, err := client.Tenant.Create().Save(viewCtx); !errors.Is(err, privacy.Deny) { + if err := client.Tenant.Create().Exec(viewCtx); !errors.Is(err, privacy.Deny) { return fmt.Errorf("expect operation to fail, but got %w", err) } // Apply the same operation with "Admin" role, expect it to pass. @@ -87,11 +87,11 @@ func Do(ctx context.Context, client *ent.Client) error { // Expect operation to fail, because the DenyMismatchedTenants rule makes sure // the group and the users are connected to the same tenant. - _, err = client.Group.Create().SetName("entgo.io").SetTenant(hub).AddUsers(labUser).Save(adminCtx) + err = client.Group.Create().SetName("entgo.io").SetTenant(hub).AddUsers(labUser).Exec(adminCtx) if !errors.Is(err, privacy.Deny) { return fmt.Errorf("expect operation to fail, since user (nati) is not connected to the same tenant") } - _, err = client.Group.Create().SetName("entgo.io").SetTenant(hub).AddUsers(labUser, hubUser).Save(adminCtx) + err = client.Group.Create().SetName("entgo.io").SetTenant(hub).AddUsers(labUser, hubUser).Exec(adminCtx) if !errors.Is(err, privacy.Deny) { return fmt.Errorf("expect operation to fail, since some users (nati) are not connected to the same tenant") } diff --git a/examples/start/start.go b/examples/start/start.go index 80324b831..62d7938bf 100644 --- a/examples/start/start.go +++ b/examples/start/start.go @@ -158,7 +158,7 @@ func QueryCarUsers(ctx context.Context, a8m *ent.User) error { } func CreateGraph(ctx context.Context, client *ent.Client) error { - // first, create the users. + // First, create the users. a8m, err := client.User. Create(). SetAge(30). @@ -175,48 +175,48 @@ func CreateGraph(ctx context.Context, client *ent.Client) error { if err != nil { return err } - // then, create the cars, and attach them to the users in the creation. - _, err = client.Car. + // Then, create the cars, and attach them to the users in the creation. + err = client.Car. Create(). SetModel("Tesla"). SetRegisteredAt(time.Now()). // ignore the time in the graph. SetOwner(a8m). // attach this graph to Ariel. - Save(ctx) + Exec(ctx) if err != nil { return err } - _, err = client.Car. + err = client.Car. Create(). SetModel("Mazda"). SetRegisteredAt(time.Now()). // ignore the time in the graph. SetOwner(a8m). // attach this graph to Ariel. - Save(ctx) + Exec(ctx) if err != nil { return err } - _, err = client.Car. + err = client.Car. Create(). SetModel("Ford"). SetRegisteredAt(time.Now()). // ignore the time in the graph. SetOwner(neta). // attach this graph to Neta. - Save(ctx) + Exec(ctx) if err != nil { return err } - // create the groups, and add their users in the creation. - _, err = client.Group. + // Create the groups, and add their users in the creation. + err = client.Group. Create(). SetName("GitLab"). AddUsers(neta, a8m). - Save(ctx) + Exec(ctx) if err != nil { return err } - _, err = client.Group. + err = client.Group. Create(). SetName("GitHub"). AddUsers(a8m). - Save(ctx) + Exec(ctx) if err != nil { return err }