forked from skilld-labs/go-odoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
base_import_tests_models_m2o_related.go
135 lines (118 loc) · 5.72 KB
/
base_import_tests_models_m2o_related.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package odoo
import (
"fmt"
)
// BaseImportTestsModelsM2ORelated represents base_import.tests.models.m2o.related model.
type BaseImportTestsModelsM2ORelated struct {
LastUpdate *Time `xmlrpc:"__last_update,omptempty"`
CreateDate *Time `xmlrpc:"create_date,omptempty"`
CreateUid *Many2One `xmlrpc:"create_uid,omptempty"`
DisplayName *String `xmlrpc:"display_name,omptempty"`
Id *Int `xmlrpc:"id,omptempty"`
Value *Int `xmlrpc:"value,omptempty"`
WriteDate *Time `xmlrpc:"write_date,omptempty"`
WriteUid *Many2One `xmlrpc:"write_uid,omptempty"`
}
// BaseImportTestsModelsM2ORelateds represents array of base_import.tests.models.m2o.related model.
type BaseImportTestsModelsM2ORelateds []BaseImportTestsModelsM2ORelated
// BaseImportTestsModelsM2ORelatedModel is the odoo model name.
const BaseImportTestsModelsM2ORelatedModel = "base_import.tests.models.m2o.related"
// Many2One convert BaseImportTestsModelsM2ORelated to *Many2One.
func (btmmr *BaseImportTestsModelsM2ORelated) Many2One() *Many2One {
return NewMany2One(btmmr.Id.Get(), "")
}
// CreateBaseImportTestsModelsM2ORelated creates a new base_import.tests.models.m2o.related model and returns its id.
func (c *Client) CreateBaseImportTestsModelsM2ORelated(btmmr *BaseImportTestsModelsM2ORelated) (int64, error) {
ids, err := c.CreateBaseImportTestsModelsM2ORelateds([]*BaseImportTestsModelsM2ORelated{btmmr})
if err != nil {
return -1, err
}
if len(ids) == 0 {
return -1, nil
}
return ids[0], nil
}
// CreateBaseImportTestsModelsM2ORelated creates a new base_import.tests.models.m2o.related model and returns its id.
func (c *Client) CreateBaseImportTestsModelsM2ORelateds(btmmrs []*BaseImportTestsModelsM2ORelated) ([]int64, error) {
var vv []interface{}
for _, v := range btmmrs {
vv = append(vv, v)
}
return c.Create(BaseImportTestsModelsM2ORelatedModel, vv)
}
// UpdateBaseImportTestsModelsM2ORelated updates an existing base_import.tests.models.m2o.related record.
func (c *Client) UpdateBaseImportTestsModelsM2ORelated(btmmr *BaseImportTestsModelsM2ORelated) error {
return c.UpdateBaseImportTestsModelsM2ORelateds([]int64{btmmr.Id.Get()}, btmmr)
}
// UpdateBaseImportTestsModelsM2ORelateds updates existing base_import.tests.models.m2o.related records.
// All records (represented by ids) will be updated by btmmr values.
func (c *Client) UpdateBaseImportTestsModelsM2ORelateds(ids []int64, btmmr *BaseImportTestsModelsM2ORelated) error {
return c.Update(BaseImportTestsModelsM2ORelatedModel, ids, btmmr)
}
// DeleteBaseImportTestsModelsM2ORelated deletes an existing base_import.tests.models.m2o.related record.
func (c *Client) DeleteBaseImportTestsModelsM2ORelated(id int64) error {
return c.DeleteBaseImportTestsModelsM2ORelateds([]int64{id})
}
// DeleteBaseImportTestsModelsM2ORelateds deletes existing base_import.tests.models.m2o.related records.
func (c *Client) DeleteBaseImportTestsModelsM2ORelateds(ids []int64) error {
return c.Delete(BaseImportTestsModelsM2ORelatedModel, ids)
}
// GetBaseImportTestsModelsM2ORelated gets base_import.tests.models.m2o.related existing record.
func (c *Client) GetBaseImportTestsModelsM2ORelated(id int64) (*BaseImportTestsModelsM2ORelated, error) {
btmmrs, err := c.GetBaseImportTestsModelsM2ORelateds([]int64{id})
if err != nil {
return nil, err
}
if btmmrs != nil && len(*btmmrs) > 0 {
return &((*btmmrs)[0]), nil
}
return nil, fmt.Errorf("id %v of base_import.tests.models.m2o.related not found", id)
}
// GetBaseImportTestsModelsM2ORelateds gets base_import.tests.models.m2o.related existing records.
func (c *Client) GetBaseImportTestsModelsM2ORelateds(ids []int64) (*BaseImportTestsModelsM2ORelateds, error) {
btmmrs := &BaseImportTestsModelsM2ORelateds{}
if err := c.Read(BaseImportTestsModelsM2ORelatedModel, ids, nil, btmmrs); err != nil {
return nil, err
}
return btmmrs, nil
}
// FindBaseImportTestsModelsM2ORelated finds base_import.tests.models.m2o.related record by querying it with criteria.
func (c *Client) FindBaseImportTestsModelsM2ORelated(criteria *Criteria) (*BaseImportTestsModelsM2ORelated, error) {
btmmrs := &BaseImportTestsModelsM2ORelateds{}
if err := c.SearchRead(BaseImportTestsModelsM2ORelatedModel, criteria, NewOptions().Limit(1), btmmrs); err != nil {
return nil, err
}
if btmmrs != nil && len(*btmmrs) > 0 {
return &((*btmmrs)[0]), nil
}
return nil, fmt.Errorf("base_import.tests.models.m2o.related was not found with criteria %v", criteria)
}
// FindBaseImportTestsModelsM2ORelateds finds base_import.tests.models.m2o.related records by querying it
// and filtering it with criteria and options.
func (c *Client) FindBaseImportTestsModelsM2ORelateds(criteria *Criteria, options *Options) (*BaseImportTestsModelsM2ORelateds, error) {
btmmrs := &BaseImportTestsModelsM2ORelateds{}
if err := c.SearchRead(BaseImportTestsModelsM2ORelatedModel, criteria, options, btmmrs); err != nil {
return nil, err
}
return btmmrs, nil
}
// FindBaseImportTestsModelsM2ORelatedIds finds records ids by querying it
// and filtering it with criteria and options.
func (c *Client) FindBaseImportTestsModelsM2ORelatedIds(criteria *Criteria, options *Options) ([]int64, error) {
ids, err := c.Search(BaseImportTestsModelsM2ORelatedModel, criteria, options)
if err != nil {
return []int64{}, err
}
return ids, nil
}
// FindBaseImportTestsModelsM2ORelatedId finds record id by querying it with criteria.
func (c *Client) FindBaseImportTestsModelsM2ORelatedId(criteria *Criteria, options *Options) (int64, error) {
ids, err := c.Search(BaseImportTestsModelsM2ORelatedModel, criteria, options)
if err != nil {
return -1, err
}
if len(ids) > 0 {
return ids[0], nil
}
return -1, fmt.Errorf("base_import.tests.models.m2o.related was not found with criteria %v and options %v", criteria, options)
}