forked from skilld-labs/go-odoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
account_fr_fec.go
139 lines (122 loc) · 4.49 KB
/
account_fr_fec.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
package odoo
import (
"fmt"
)
// AccountFrFec represents account.fr.fec model.
type AccountFrFec struct {
LastUpdate *Time `xmlrpc:"__last_update,omptempty"`
CreateDate *Time `xmlrpc:"create_date,omptempty"`
CreateUid *Many2One `xmlrpc:"create_uid,omptempty"`
DateFrom *Time `xmlrpc:"date_from,omptempty"`
DateTo *Time `xmlrpc:"date_to,omptempty"`
DisplayName *String `xmlrpc:"display_name,omptempty"`
ExportType *Selection `xmlrpc:"export_type,omptempty"`
FecData *String `xmlrpc:"fec_data,omptempty"`
Filename *String `xmlrpc:"filename,omptempty"`
Id *Int `xmlrpc:"id,omptempty"`
WriteDate *Time `xmlrpc:"write_date,omptempty"`
WriteUid *Many2One `xmlrpc:"write_uid,omptempty"`
}
// AccountFrFecs represents array of account.fr.fec model.
type AccountFrFecs []AccountFrFec
// AccountFrFecModel is the odoo model name.
const AccountFrFecModel = "account.fr.fec"
// Many2One convert AccountFrFec to *Many2One.
func (aff *AccountFrFec) Many2One() *Many2One {
return NewMany2One(aff.Id.Get(), "")
}
// CreateAccountFrFec creates a new account.fr.fec model and returns its id.
func (c *Client) CreateAccountFrFec(aff *AccountFrFec) (int64, error) {
ids, err := c.CreateAccountFrFecs([]*AccountFrFec{aff})
if err != nil {
return -1, err
}
if len(ids) == 0 {
return -1, nil
}
return ids[0], nil
}
// CreateAccountFrFec creates a new account.fr.fec model and returns its id.
func (c *Client) CreateAccountFrFecs(affs []*AccountFrFec) ([]int64, error) {
var vv []interface{}
for _, v := range affs {
vv = append(vv, v)
}
return c.Create(AccountFrFecModel, vv)
}
// UpdateAccountFrFec updates an existing account.fr.fec record.
func (c *Client) UpdateAccountFrFec(aff *AccountFrFec) error {
return c.UpdateAccountFrFecs([]int64{aff.Id.Get()}, aff)
}
// UpdateAccountFrFecs updates existing account.fr.fec records.
// All records (represented by ids) will be updated by aff values.
func (c *Client) UpdateAccountFrFecs(ids []int64, aff *AccountFrFec) error {
return c.Update(AccountFrFecModel, ids, aff)
}
// DeleteAccountFrFec deletes an existing account.fr.fec record.
func (c *Client) DeleteAccountFrFec(id int64) error {
return c.DeleteAccountFrFecs([]int64{id})
}
// DeleteAccountFrFecs deletes existing account.fr.fec records.
func (c *Client) DeleteAccountFrFecs(ids []int64) error {
return c.Delete(AccountFrFecModel, ids)
}
// GetAccountFrFec gets account.fr.fec existing record.
func (c *Client) GetAccountFrFec(id int64) (*AccountFrFec, error) {
affs, err := c.GetAccountFrFecs([]int64{id})
if err != nil {
return nil, err
}
if affs != nil && len(*affs) > 0 {
return &((*affs)[0]), nil
}
return nil, fmt.Errorf("id %v of account.fr.fec not found", id)
}
// GetAccountFrFecs gets account.fr.fec existing records.
func (c *Client) GetAccountFrFecs(ids []int64) (*AccountFrFecs, error) {
affs := &AccountFrFecs{}
if err := c.Read(AccountFrFecModel, ids, nil, affs); err != nil {
return nil, err
}
return affs, nil
}
// FindAccountFrFec finds account.fr.fec record by querying it with criteria.
func (c *Client) FindAccountFrFec(criteria *Criteria) (*AccountFrFec, error) {
affs := &AccountFrFecs{}
if err := c.SearchRead(AccountFrFecModel, criteria, NewOptions().Limit(1), affs); err != nil {
return nil, err
}
if affs != nil && len(*affs) > 0 {
return &((*affs)[0]), nil
}
return nil, fmt.Errorf("account.fr.fec was not found with criteria %v", criteria)
}
// FindAccountFrFecs finds account.fr.fec records by querying it
// and filtering it with criteria and options.
func (c *Client) FindAccountFrFecs(criteria *Criteria, options *Options) (*AccountFrFecs, error) {
affs := &AccountFrFecs{}
if err := c.SearchRead(AccountFrFecModel, criteria, options, affs); err != nil {
return nil, err
}
return affs, nil
}
// FindAccountFrFecIds finds records ids by querying it
// and filtering it with criteria and options.
func (c *Client) FindAccountFrFecIds(criteria *Criteria, options *Options) ([]int64, error) {
ids, err := c.Search(AccountFrFecModel, criteria, options)
if err != nil {
return []int64{}, err
}
return ids, nil
}
// FindAccountFrFecId finds record id by querying it with criteria.
func (c *Client) FindAccountFrFecId(criteria *Criteria, options *Options) (int64, error) {
ids, err := c.Search(AccountFrFecModel, criteria, options)
if err != nil {
return -1, err
}
if len(ids) > 0 {
return ids[0], nil
}
return -1, fmt.Errorf("account.fr.fec was not found with criteria %v and options %v", criteria, options)
}