aboutsummaryrefslogtreecommitdiff
path: root/cmd/_old/tourian/ent/conversation_create.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/_old/tourian/ent/conversation_create.go')
-rw-r--r--cmd/_old/tourian/ent/conversation_create.go204
1 files changed, 204 insertions, 0 deletions
diff --git a/cmd/_old/tourian/ent/conversation_create.go b/cmd/_old/tourian/ent/conversation_create.go
new file mode 100644
index 0000000..f65962c
--- /dev/null
+++ b/cmd/_old/tourian/ent/conversation_create.go
@@ -0,0 +1,204 @@
+// Code generated by ent, DO NOT EDIT.
+
+package ent
+
+import (
+ "context"
+ "errors"
+ "fmt"
+
+ "entgo.io/ent/dialect/sql/sqlgraph"
+ "entgo.io/ent/schema/field"
+ "within.website/x/cmd/tourian/ent/conversation"
+)
+
+// ConversationCreate is the builder for creating a Conversation entity.
+type ConversationCreate struct {
+ config
+ mutation *ConversationMutation
+ hooks []Hook
+}
+
+// SetPageURL sets the "page_url" field.
+func (cc *ConversationCreate) SetPageURL(s string) *ConversationCreate {
+ cc.mutation.SetPageURL(s)
+ return cc
+}
+
+// SetID sets the "id" field.
+func (cc *ConversationCreate) SetID(s string) *ConversationCreate {
+ cc.mutation.SetID(s)
+ return cc
+}
+
+// Mutation returns the ConversationMutation object of the builder.
+func (cc *ConversationCreate) Mutation() *ConversationMutation {
+ return cc.mutation
+}
+
+// Save creates the Conversation in the database.
+func (cc *ConversationCreate) Save(ctx context.Context) (*Conversation, error) {
+ return withHooks(ctx, cc.sqlSave, cc.mutation, cc.hooks)
+}
+
+// SaveX calls Save and panics if Save returns an error.
+func (cc *ConversationCreate) SaveX(ctx context.Context) *Conversation {
+ v, err := cc.Save(ctx)
+ if err != nil {
+ panic(err)
+ }
+ return v
+}
+
+// Exec executes the query.
+func (cc *ConversationCreate) Exec(ctx context.Context) error {
+ _, err := cc.Save(ctx)
+ return err
+}
+
+// ExecX is like Exec, but panics if an error occurs.
+func (cc *ConversationCreate) ExecX(ctx context.Context) {
+ if err := cc.Exec(ctx); err != nil {
+ panic(err)
+ }
+}
+
+// check runs all checks and user-defined validators on the builder.
+func (cc *ConversationCreate) check() error {
+ if _, ok := cc.mutation.PageURL(); !ok {
+ return &ValidationError{Name: "page_url", err: errors.New(`ent: missing required field "Conversation.page_url"`)}
+ }
+ if v, ok := cc.mutation.PageURL(); ok {
+ if err := conversation.PageURLValidator(v); err != nil {
+ return &ValidationError{Name: "page_url", err: fmt.Errorf(`ent: validator failed for field "Conversation.page_url": %w`, err)}
+ }
+ }
+ if v, ok := cc.mutation.ID(); ok {
+ if err := conversation.IDValidator(v); err != nil {
+ return &ValidationError{Name: "id", err: fmt.Errorf(`ent: validator failed for field "Conversation.id": %w`, err)}
+ }
+ }
+ return nil
+}
+
+func (cc *ConversationCreate) sqlSave(ctx context.Context) (*Conversation, error) {
+ if err := cc.check(); err != nil {
+ return nil, err
+ }
+ _node, _spec := cc.createSpec()
+ if err := sqlgraph.CreateNode(ctx, cc.driver, _spec); err != nil {
+ if sqlgraph.IsConstraintError(err) {
+ err = &ConstraintError{msg: err.Error(), wrap: err}
+ }
+ return nil, err
+ }
+ if _spec.ID.Value != nil {
+ if id, ok := _spec.ID.Value.(string); ok {
+ _node.ID = id
+ } else {
+ return nil, fmt.Errorf("unexpected Conversation.ID type: %T", _spec.ID.Value)
+ }
+ }
+ cc.mutation.id = &_node.ID
+ cc.mutation.done = true
+ return _node, nil
+}
+
+func (cc *ConversationCreate) createSpec() (*Conversation, *sqlgraph.CreateSpec) {
+ var (
+ _node = &Conversation{config: cc.config}
+ _spec = sqlgraph.NewCreateSpec(conversation.Table, sqlgraph.NewFieldSpec(conversation.FieldID, field.TypeString))
+ )
+ if id, ok := cc.mutation.ID(); ok {
+ _node.ID = id
+ _spec.ID.Value = id
+ }
+ if value, ok := cc.mutation.PageURL(); ok {
+ _spec.SetField(conversation.FieldPageURL, field.TypeString, value)
+ _node.PageURL = value
+ }
+ return _node, _spec
+}
+
+// ConversationCreateBulk is the builder for creating many Conversation entities in bulk.
+type ConversationCreateBulk struct {
+ config
+ err error
+ builders []*ConversationCreate
+}
+
+// Save creates the Conversation entities in the database.
+func (ccb *ConversationCreateBulk) Save(ctx context.Context) ([]*Conversation, error) {
+ if ccb.err != nil {
+ return nil, ccb.err
+ }
+ specs := make([]*sqlgraph.CreateSpec, len(ccb.builders))
+ nodes := make([]*Conversation, len(ccb.builders))
+ mutators := make([]Mutator, len(ccb.builders))
+ for i := range ccb.builders {
+ func(i int, root context.Context) {
+ builder := ccb.builders[i]
+ var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
+ mutation, ok := m.(*ConversationMutation)
+ if !ok {
+ return nil, fmt.Errorf("unexpected mutation type %T", m)
+ }
+ if err := builder.check(); err != nil {
+ return nil, err
+ }
+ builder.mutation = mutation
+ var err error
+ nodes[i], specs[i] = builder.createSpec()
+ if i < len(mutators)-1 {
+ _, err = mutators[i+1].Mutate(root, ccb.builders[i+1].mutation)
+ } else {
+ spec := &sqlgraph.BatchCreateSpec{Nodes: specs}
+ // Invoke the actual operation on the latest mutation in the chain.
+ if err = sqlgraph.BatchCreate(ctx, ccb.driver, spec); err != nil {
+ if sqlgraph.IsConstraintError(err) {
+ err = &ConstraintError{msg: err.Error(), wrap: err}
+ }
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ mutation.id = &nodes[i].ID
+ mutation.done = true
+ return nodes[i], nil
+ })
+ for i := len(builder.hooks) - 1; i >= 0; i-- {
+ mut = builder.hooks[i](mut)
+ }
+ mutators[i] = mut
+ }(i, ctx)
+ }
+ if len(mutators) > 0 {
+ if _, err := mutators[0].Mutate(ctx, ccb.builders[0].mutation); err != nil {
+ return nil, err
+ }
+ }
+ return nodes, nil
+}
+
+// SaveX is like Save, but panics if an error occurs.
+func (ccb *ConversationCreateBulk) SaveX(ctx context.Context) []*Conversation {
+ v, err := ccb.Save(ctx)
+ if err != nil {
+ panic(err)
+ }
+ return v
+}
+
+// Exec executes the query.
+func (ccb *ConversationCreateBulk) Exec(ctx context.Context) error {
+ _, err := ccb.Save(ctx)
+ return err
+}
+
+// ExecX is like Exec, but panics if an error occurs.
+func (ccb *ConversationCreateBulk) ExecX(ctx context.Context) {
+ if err := ccb.Exec(ctx); err != nil {
+ panic(err)
+ }
+}