forked from skilld-labs/go-odoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbase_language_export.go
140 lines (123 loc) · 4.95 KB
/
base_language_export.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
136
137
138
139
140
package odoo
import (
"fmt"
)
// BaseLanguageExport represents base.language.export model.
type BaseLanguageExport struct {
LastUpdate *Time `xmlrpc:"__last_update,omptempty"`
CreateDate *Time `xmlrpc:"create_date,omptempty"`
CreateUid *Many2One `xmlrpc:"create_uid,omptempty"`
Data *String `xmlrpc:"data,omptempty"`
DisplayName *String `xmlrpc:"display_name,omptempty"`
Format *Selection `xmlrpc:"format,omptempty"`
Id *Int `xmlrpc:"id,omptempty"`
Lang *Selection `xmlrpc:"lang,omptempty"`
Modules *Relation `xmlrpc:"modules,omptempty"`
Name *String `xmlrpc:"name,omptempty"`
State *Selection `xmlrpc:"state,omptempty"`
WriteDate *Time `xmlrpc:"write_date,omptempty"`
WriteUid *Many2One `xmlrpc:"write_uid,omptempty"`
}
// BaseLanguageExports represents array of base.language.export model.
type BaseLanguageExports []BaseLanguageExport
// BaseLanguageExportModel is the odoo model name.
const BaseLanguageExportModel = "base.language.export"
// Many2One convert BaseLanguageExport to *Many2One.
func (ble *BaseLanguageExport) Many2One() *Many2One {
return NewMany2One(ble.Id.Get(), "")
}
// CreateBaseLanguageExport creates a new base.language.export model and returns its id.
func (c *Client) CreateBaseLanguageExport(ble *BaseLanguageExport) (int64, error) {
ids, err := c.CreateBaseLanguageExports([]*BaseLanguageExport{ble})
if err != nil {
return -1, err
}
if len(ids) == 0 {
return -1, nil
}
return ids[0], nil
}
// CreateBaseLanguageExport creates a new base.language.export model and returns its id.
func (c *Client) CreateBaseLanguageExports(bles []*BaseLanguageExport) ([]int64, error) {
var vv []interface{}
for _, v := range bles {
vv = append(vv, v)
}
return c.Create(BaseLanguageExportModel, vv)
}
// UpdateBaseLanguageExport updates an existing base.language.export record.
func (c *Client) UpdateBaseLanguageExport(ble *BaseLanguageExport) error {
return c.UpdateBaseLanguageExports([]int64{ble.Id.Get()}, ble)
}
// UpdateBaseLanguageExports updates existing base.language.export records.
// All records (represented by ids) will be updated by ble values.
func (c *Client) UpdateBaseLanguageExports(ids []int64, ble *BaseLanguageExport) error {
return c.Update(BaseLanguageExportModel, ids, ble)
}
// DeleteBaseLanguageExport deletes an existing base.language.export record.
func (c *Client) DeleteBaseLanguageExport(id int64) error {
return c.DeleteBaseLanguageExports([]int64{id})
}
// DeleteBaseLanguageExports deletes existing base.language.export records.
func (c *Client) DeleteBaseLanguageExports(ids []int64) error {
return c.Delete(BaseLanguageExportModel, ids)
}
// GetBaseLanguageExport gets base.language.export existing record.
func (c *Client) GetBaseLanguageExport(id int64) (*BaseLanguageExport, error) {
bles, err := c.GetBaseLanguageExports([]int64{id})
if err != nil {
return nil, err
}
if bles != nil && len(*bles) > 0 {
return &((*bles)[0]), nil
}
return nil, fmt.Errorf("id %v of base.language.export not found", id)
}
// GetBaseLanguageExports gets base.language.export existing records.
func (c *Client) GetBaseLanguageExports(ids []int64) (*BaseLanguageExports, error) {
bles := &BaseLanguageExports{}
if err := c.Read(BaseLanguageExportModel, ids, nil, bles); err != nil {
return nil, err
}
return bles, nil
}
// FindBaseLanguageExport finds base.language.export record by querying it with criteria.
func (c *Client) FindBaseLanguageExport(criteria *Criteria) (*BaseLanguageExport, error) {
bles := &BaseLanguageExports{}
if err := c.SearchRead(BaseLanguageExportModel, criteria, NewOptions().Limit(1), bles); err != nil {
return nil, err
}
if bles != nil && len(*bles) > 0 {
return &((*bles)[0]), nil
}
return nil, fmt.Errorf("base.language.export was not found with criteria %v", criteria)
}
// FindBaseLanguageExports finds base.language.export records by querying it
// and filtering it with criteria and options.
func (c *Client) FindBaseLanguageExports(criteria *Criteria, options *Options) (*BaseLanguageExports, error) {
bles := &BaseLanguageExports{}
if err := c.SearchRead(BaseLanguageExportModel, criteria, options, bles); err != nil {
return nil, err
}
return bles, nil
}
// FindBaseLanguageExportIds finds records ids by querying it
// and filtering it with criteria and options.
func (c *Client) FindBaseLanguageExportIds(criteria *Criteria, options *Options) ([]int64, error) {
ids, err := c.Search(BaseLanguageExportModel, criteria, options)
if err != nil {
return []int64{}, err
}
return ids, nil
}
// FindBaseLanguageExportId finds record id by querying it with criteria.
func (c *Client) FindBaseLanguageExportId(criteria *Criteria, options *Options) (int64, error) {
ids, err := c.Search(BaseLanguageExportModel, criteria, options)
if err != nil {
return -1, err
}
if len(ids) > 0 {
return ids[0], nil
}
return -1, fmt.Errorf("base.language.export was not found with criteria %v and options %v", criteria, options)
}