// 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" "entgo.io/ent/dialect/gremlin" "entgo.io/ent/entc/integration/ent/schema" ) // Document is the model entity for the Document schema. type Document struct { config `json:"-"` // ID of the ent. ID string `json:"id,omitempty"` // Name holds the value of the "name" field. Name string `json:"name,omitempty"` // Attachment holds the value of the "attachment" field. Attachment []byte `json:"attachment,omitempty"` // Metadata holds the value of the "metadata" field. Metadata []byte `json:"metadata,omitempty"` // Payload holds the value of the "payload" field. Payload *schema.DocPayload `json:"payload,omitempty"` // Description holds the value of the "description" field. Description string `json:"description,omitempty"` } // FromResponse scans the gremlin response data into Document. func (_m *Document) FromResponse(res *gremlin.Response) error { vmap, err := res.ReadValueMap() if err != nil { return err } var scan_m struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` } if err := vmap.Decode(&scan_m); err != nil { return err } _m.ID = scan_m.ID _m.Name = scan_m.Name return nil } // Update returns a builder for updating this Document. // Note that you need to call Document.Unwrap() before calling this method if this Document // was returned from a transaction, and the transaction was committed or rolled back. func (_m *Document) Update() *DocumentUpdateOne { return NewDocumentClient(_m.config).UpdateOne(_m) } // Unwrap unwraps the Document 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 (_m *Document) Unwrap() *Document { _tx, ok := _m.config.driver.(*txDriver) if !ok { panic("ent: Document is not a transactional entity") } _m.config.driver = _tx.drv return _m } // String implements the fmt.Stringer. func (_m *Document) String() string { var builder strings.Builder builder.WriteString("Document(") builder.WriteString(fmt.Sprintf("id=%v, ", _m.ID)) builder.WriteString("name=") builder.WriteString(_m.Name) builder.WriteString(", ") builder.WriteString("attachment=") builder.WriteString(fmt.Sprintf("%v", _m.Attachment)) builder.WriteString(", ") builder.WriteString("metadata=") builder.WriteString(fmt.Sprintf("%v", _m.Metadata)) builder.WriteString(", ") builder.WriteString("payload=") builder.WriteString(fmt.Sprintf("%v", _m.Payload)) builder.WriteString(", ") builder.WriteString("description=") builder.WriteString(fmt.Sprintf("%v", _m.Description)) builder.WriteByte(')') return builder.String() } // Documents is a parsable slice of Document. type Documents []*Document // FromResponse scans the gremlin response data into Documents. func (_m *Documents) FromResponse(res *gremlin.Response) error { vmap, err := res.ReadValueMap() if err != nil { return err } var scan_m []struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` } if err := vmap.Decode(&scan_m); err != nil { return err } for _, v := range scan_m { node := &Document{ID: v.ID} node.Name = v.Name *_m = append(*_m, node) } return nil }