Files
ent/entc/integration/gremlin/ent/task.go
2022-08-13 20:12:28 +03:00

125 lines
3.6 KiB
Go

// Copyright 2019-present Facebook Inc. All rights reserved.
// This source code is licensed under the Apache 2.0 license found
// in the LICENSE file in the root directory of this source tree.
// Code generated by ent, DO NOT EDIT.
package ent
import (
"fmt"
"strings"
"time"
"entgo.io/ent/dialect/gremlin"
"entgo.io/ent/entc/integration/ent/schema/task"
)
// Task is the model entity for the Task schema.
type Task struct {
config `json:"-"`
// ID of the ent.
ID string `json:"id,omitempty"`
// Priority holds the value of the "priority" field.
Priority task.Priority `json:"priority,omitempty"`
// Priorities holds the value of the "priorities" field.
Priorities map[string]task.Priority `json:"priorities,omitempty"`
// CreatedAt holds the value of the "created_at" field.
CreatedAt *time.Time `json:"created_at,omitempty"`
}
// FromResponse scans the gremlin response data into Task.
func (t *Task) FromResponse(res *gremlin.Response) error {
vmap, err := res.ReadValueMap()
if err != nil {
return err
}
var scant struct {
ID string `json:"id,omitempty"`
Priority task.Priority `json:"priority,omitempty"`
Priorities map[string]task.Priority `json:"priorities,omitempty"`
CreatedAt int64 `json:"created_at,omitempty"`
}
if err := vmap.Decode(&scant); err != nil {
return err
}
t.ID = scant.ID
t.Priority = scant.Priority
t.Priorities = scant.Priorities
v2 := time.Unix(0, scant.CreatedAt)
t.CreatedAt = &v2
return nil
}
// Update returns a builder for updating this Task.
// Note that you need to call Task.Unwrap() before calling this method if this Task
// was returned from a transaction, and the transaction was committed or rolled back.
func (t *Task) Update() *TaskUpdateOne {
return (&TaskClient{config: t.config}).UpdateOne(t)
}
// Unwrap unwraps the Task entity that was returned from a transaction after it was closed,
// so that all future queries will be executed through the driver which created the transaction.
func (t *Task) Unwrap() *Task {
_tx, ok := t.config.driver.(*txDriver)
if !ok {
panic("ent: Task is not a transactional entity")
}
t.config.driver = _tx.drv
return t
}
// String implements the fmt.Stringer.
func (t *Task) String() string {
var builder strings.Builder
builder.WriteString("Task(")
builder.WriteString(fmt.Sprintf("id=%v, ", t.ID))
builder.WriteString("priority=")
builder.WriteString(fmt.Sprintf("%v", t.Priority))
builder.WriteString(", ")
builder.WriteString("priorities=")
builder.WriteString(fmt.Sprintf("%v", t.Priorities))
builder.WriteString(", ")
if v := t.CreatedAt; v != nil {
builder.WriteString("created_at=")
builder.WriteString(v.Format(time.ANSIC))
}
builder.WriteByte(')')
return builder.String()
}
// Tasks is a parsable slice of Task.
type Tasks []*Task
// FromResponse scans the gremlin response data into Tasks.
func (t *Tasks) FromResponse(res *gremlin.Response) error {
vmap, err := res.ReadValueMap()
if err != nil {
return err
}
var scant []struct {
ID string `json:"id,omitempty"`
Priority task.Priority `json:"priority,omitempty"`
Priorities map[string]task.Priority `json:"priorities,omitempty"`
CreatedAt int64 `json:"created_at,omitempty"`
}
if err := vmap.Decode(&scant); err != nil {
return err
}
for _, v := range scant {
node := &Task{ID: v.ID}
node.Priority = v.Priority
node.Priorities = v.Priorities
v2 := time.Unix(0, v.CreatedAt)
node.CreatedAt = &v2
*t = append(*t, node)
}
return nil
}
func (t Tasks) config(cfg config) {
for _i := range t {
t[_i].config = cfg
}
}