github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/cmd/vpm/ormtemplates/methods.gotmpl (about)

     1  {{define "methods"}}
     2  
     3  {{if (eq .Type "WDoc")}}
     4  func (v {{.Type}}_{{.Package.Name}}_{{.Name}}) NewIntent(id ID) Intent_{{.Type}}_{{.Package.Name}}_{{.Name}} {
     5  	kb := exttinygo.KeyBuilder(exttinygo.StorageRecord, v.qname)
     6  	kb.PutInt64(FieldNameSysID, int64(id))
     7  	return Intent_{{.Type}}_{{.Package.Name}}_{{.Name}}{intent: exttinygo.NewValue(kb)}
     8  }
     9  
    10  func (v {{.Type}}_{{.Package.Name}}_{{.Name}}) Get(id ID) (Value_{{.Type}}_{{.Package.Name}}_{{.Name}}, bool) {
    11  	kb := exttinygo.KeyBuilder(exttinygo.StorageRecord, v.qname)
    12  	kb.PutInt64(FieldNameSysID, int64(id))
    13  	tv, exists := exttinygo.QueryValue(kb)
    14  	return Value_{{.Type}}_{{.Package.Name}}_{{.Name}}{tv: tv, kb: kb}, exists
    15  }
    16  
    17  func (v {{.Type}}_{{.Package.Name}}_{{.Name}}) MustGet(id ID) Value_{{.Type}}_{{.Package.Name}}_{{.Name}} {
    18  	kb := exttinygo.KeyBuilder(exttinygo.StorageRecord, v.qname)
    19  	kb.PutInt64(FieldNameSysID, int64(id))
    20  	tv := exttinygo.MustGetValue(kb)
    21  	return Value_{{.Type}}_{{.Package.Name}}_{{.Name}}{tv: tv, kb: kb}
    22  }
    23  
    24  func (v Value_{{.Type}}_{{.Package.Name}}_{{.Name}}) NewIntent() Intent_{{.Type}}_{{.Package.Name}}_{{.Name}} {
    25  	return Intent_{{.Type}}_{{.Package.Name}}_{{.Name}}{intent: exttinygo.NewValue(v.kb)}
    26  }
    27  {{end}}
    28  
    29  {{if (eq .Type "WSingleton")}}
    30  func (v {{.Type}}_{{.Package.Name}}_{{.Name}}) NewIntent() Intent_{{.Type}}_{{.Package.Name}}_{{.Name}} {
    31  	kb := exttinygo.KeyBuilder(exttinygo.StorageRecord, v.qname)
    32  	return Intent_{{.Type}}_{{.Package.Name}}_{{.Name}}{intent: exttinygo.NewValue(kb)}
    33  }
    34  
    35  func (v {{.Type}}_{{.Package.Name}}_{{.Name}}) Get() (Value_{{.Type}}_{{.Package.Name}}_{{.Name}}, bool) {
    36  	kb := exttinygo.KeyBuilder(exttinygo.StorageRecord, v.qname)
    37  	tv, exists := exttinygo.QueryValue(kb)
    38  	if !exists {
    39  		return Value_{{.Type}}_{{.Package.Name}}_{{.Name}}{}, false
    40  	}
    41  	kb.PutInt64(FieldNameSysID, tv.AsInt64(FieldNameSysID))
    42  	return Value_{{.Type}}_{{.Package.Name}}_{{.Name}}{tv: tv, kb: kb}, true
    43  }
    44  
    45  func (v {{.Type}}_{{.Package.Name}}_{{.Name}}) MustGet() Value_{{.Type}}_{{.Package.Name}}_{{.Name}} {
    46  	kb := exttinygo.KeyBuilder(exttinygo.StorageRecord, v.qname)
    47  	tv := exttinygo.MustGetValue(kb)
    48  	return Value_{{.Type}}_{{.Package.Name}}_{{.Name}}{tv: tv, kb: kb}
    49  }
    50  
    51  func (v Value_{{.Type}}_{{.Package.Name}}_{{.Name}}) NewIntent() Intent_{{.Type}}_{{.Package.Name}}_{{.Name}} {
    52  	return Intent_{{.Type}}_{{.Package.Name}}_{{.Name}}{intent: exttinygo.NewValue(v.kb)}
    53  }
    54  {{end}}
    55  
    56  {{if (eq .Type "CDoc")}}
    57  func (v {{.Type}}_{{.Package.Name}}_{{.Name}}) MustGet(id ID) Value_{{.Type}}_{{.Package.Name}}_{{.Name}} {
    58  	kb := exttinygo.KeyBuilder(exttinygo.StorageRecord, v.qname)
    59  	kb.PutInt64(FieldNameSysID, int64(id))
    60  	return Value_{{.Type}}_{{.Package.Name}}_{{.Name}}{tv: exttinygo.MustGetValue(kb)}
    61  }
    62  
    63  func (v {{.Type}}_{{.Package.Name}}_{{.Name}}) Get(id ID) (Value_{{.Type}}_{{.Package.Name}}_{{.Name}}, bool) {
    64  	kb := exttinygo.KeyBuilder(exttinygo.StorageRecord, v.qname)
    65  	kb.PutInt64(FieldNameSysID, int64(id))
    66  	tv, exists := exttinygo.QueryValue(kb)
    67  	return Value_{{.Type}}_{{.Package.Name}}_{{.Name}}{tv: tv}, exists
    68  }
    69  {{end}}
    70  
    71  {{if (eq .Type "View")}}
    72  func (v {{.Type}}_{{.Package.Name}}_{{.Name}}) NewIntent({{range .Keys}}{{lower .Name}} {{.Type}}, {{end}}) Intent_{{.Type}}_{{.Package.Name}}_{{.Name}} {
    73  	kb := exttinygo.KeyBuilder(exttinygo.StorageRecord, v.qname){{range .Keys}}
    74  	{{if eq .Type "Ref"}}kb.PutInt64("{{.Name}}", int64({{lower .Name}})){{else}}kb.Put{{capitalize .Type}}("{{.Name}}", {{lower .Name}}){{end}}{{end}}
    75  	return Intent_{{.Type}}_{{.Package.Name}}_{{.Name}}{intent: exttinygo.NewValue(kb)}
    76  }
    77  
    78  func (v {{.Type}}_{{.Package.Name}}_{{.Name}}) Get({{range .Keys}}{{lower .Name}} {{.Type}}, {{end}}) (Value_{{.Type}}_{{.Package.Name}}_{{.Name}}, bool) {
    79  	kb := exttinygo.KeyBuilder(exttinygo.StorageRecord, v.qname){{range .Keys}}
    80  	{{if eq .Type "Ref"}}kb.PutInt64("{{.Name}}", int64({{lower .Name}})){{else}}kb.Put{{capitalize .Type}}("{{.Name}}", {{lower .Name}}){{end}}{{end}}
    81  	tv, exists := exttinygo.QueryValue(kb)
    82  	if !exists {
    83  		return Value_{{.Type}}_{{.Package.Name}}_{{.Name}}{}, false
    84  	}
    85  	return Value_{{.Type}}_{{.Package.Name}}_{{.Name}}{tv: tv, kb: kb}, true
    86  }
    87  
    88  func (v {{.Type}}_{{.Package.Name}}_{{.Name}}) MustGet({{range .Keys}}{{lower .Name}} {{.Type}}, {{end}}) Value_{{.Type}}_{{.Package.Name}}_{{.Name}} {
    89  	kb := exttinygo.KeyBuilder(exttinygo.StorageRecord, v.qname){{range .Keys}}
    90  	{{if eq .Type "Ref"}}kb.PutInt64("{{.Name}}", int64({{lower .Name}})){{else}}kb.Put{{capitalize .Type}}("{{.Name}}", {{lower .Name}}){{end}}{{end}}
    91  	tv := exttinygo.MustGetValue(kb)
    92  	return Value_{{.Type}}_{{.Package.Name}}_{{.Name}}{tv: tv, kb: kb}
    93  }
    94  
    95  func (v Value_{{.Type}}_{{.Package.Name}}_{{.Name}}) NewIntent() Intent_{{.Type}}_{{.Package.Name}}_{{.Name}} {
    96  	return Intent_{{.Type}}_{{.Package.Name}}_{{.Name}}{intent: exttinygo.NewValue(v.kb)}
    97  }
    98  {{end}}
    99  
   100  {{if or (eq .Type "Container")}}
   101  func (v {{.Type}}_{{.Package.Name}}_{{.Name}}) Get(id ID) (Value_{{.Type}}_{{.Package.Name}}_{{.Name}}, bool) {
   102  	kb := exttinygo.KeyBuilder(exttinygo.StorageRecord, v.qname)
   103  	kb.PutInt64(FieldNameSysID, int64(id))
   104  	tv, exists := exttinygo.QueryValue(kb)
   105  	return Value_{{.Type}}_{{.Package.Name}}_{{.Name}}{tv: tv}, exists
   106  }
   107  {{end}}
   108  
   109  {{if or (eq .Type "Command") (eq .Type "Query")}}
   110  {{if .ArgumentObject}}
   111  func (c {{.Type}}_{{.Package.Name}}_{{.Name}}) ArgumentObject() Value_{{.ArgumentObject.Type}}_{{.ArgumentObject.Package.Name}}_{{.ArgumentObject.Name}} {
   112  	kb := exttinygo.KeyBuilder(exttinygo.StorageCommandContext, exttinygo.NullEntity)
   113  	return Value_{{.ArgumentObject.Type}}_{{.ArgumentObject.Package.Name}}_{{.ArgumentObject.Name}}{tv: exttinygo.MustGetValue(kb).AsValue(FieldNameEventArgumentObject)}
   114  }
   115  {{end}}
   116  
   117  {{if .UnloggedArgumentObject}}
   118  func (c {{.Type}}_{{.Package.Name}}_{{.Name}}) UnloggedArgumentObject() Value_{{.UnloggedArgumentObject.Type}}_{{.UnloggedArgumentObject.Package.Name}}_{{.UnloggedArgumentObject.Name}} {
   119  	kb := exttinygo.KeyBuilder(exttinygo.StorageCommandContext, exttinygo.NullEntity)
   120  	return Value_{{.UnloggedArgumentObject.Type}}_{{.UnloggedArgumentObject.Package.Name}}_{{.UnloggedArgumentObject.Name}}{tv: exttinygo.MustGetValue(kb).AsValue(FieldNameEventUnloggedArgumentObject)}
   121  }
   122  {{end}}
   123  
   124  {{if .ResultObjectFields}}
   125  func (c {{.Type}}_{{.Package.Name}}_{{.Name}}) Result({{range .ResultObjectFields}}{{lower .Name}} {{.Type}}, {{end}}) {
   126  	__result := exttinygo.NewValue(exttinygo.KeyBuilder(exttinygo.StorageResult, exttinygo.NullEntity)){{range .ResultObjectFields}}
   127  	{{if eq .Type "Ref"}}__result.PutInt64("{{.Name}}", int64({{lower .Name}})){{else}}__result.Put{{capitalize .Type}}("{{.Name}}", {{lower .Name}}){{end}}{{end}}
   128  }
   129  {{end}}
   130  {{end}}
   131  
   132  {{end}}
   133