From 46547b6743738e1087ce75f3352100a582d15478 Mon Sep 17 00:00:00 2001 From: saeid_01 Date: Fri, 17 Nov 2023 23:50:29 +0330 Subject: [PATCH] fix --- command/generateCrud/generate_crud.go | 22 +++++++++++++++++++ command/generateCrud/schema.text | 31 +++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 command/generateCrud/schema.text diff --git a/command/generateCrud/generate_crud.go b/command/generateCrud/generate_crud.go index 7b90d19..ee09e04 100644 --- a/command/generateCrud/generate_crud.go +++ b/command/generateCrud/generate_crud.go @@ -10,6 +10,7 @@ import ( func main() { name := "order" + createSchemaEnt(name) createDomain(name) createEntity(name) createHandler(name) @@ -18,6 +19,27 @@ func main() { createRouter(name) } +func createSchemaEnt(name string) { + fileName := "../../ent/schema/" + name + ".go" + + file, err := os.Create(fileName) + if err != nil { + fmt.Println("error in create file on schema:", err) + return + } + defer file.Close() + + replaced := replace(getFile("schema.text"), name) + + _, err = file.WriteString(replaced) + if err != nil { + fmt.Println("error in write file content on schema:", err) + return + } + + fmt.Printf("%s file created.\n", fileName) +} + func createRouter(name string) { fileName := "../../api/handlers/" + name + "s/router.go" diff --git a/command/generateCrud/schema.text b/command/generateCrud/schema.text new file mode 100644 index 0000000..5dac465 --- /dev/null +++ b/command/generateCrud/schema.text @@ -0,0 +1,31 @@ +package schema + +import ( + "entgo.io/ent" + "entgo.io/ent/schema/edge" + "entgo.io/ent/schema/field" + "time" +) + +// {Name} holds the schema definition for the {Name} entity. +type {Name} struct { + ent.Schema +} + +// Fields of the {Name}. +func ({Name}) Fields() []ent.Field { + return []ent.Field{ + field.Int("business_id").Optional().Nillable(), + field.Int("user_id").Optional().Nillable(), + field.Time("created_at").Default(time.Now()), + field.Time("updated_at").Default(time.Now()).UpdateDefault(time.Now), + } +} + +// Edges of the {Name}. +func ({Name}) Edges() []ent.Edge { + return []ent.Edge{ + edge.From("businesses", Business.Type).Ref("{name}s").Unique().Field("business_id"), + edge.From("users", User.Type).Ref("{name}s").Unique().Field("user_id"), + } +}