forked from emersion/neutron
-
Notifications
You must be signed in to change notification settings - Fork 0
/
addresses.go
50 lines (41 loc) · 1.17 KB
/
addresses.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
package events
import (
"github.com/faziloub/neutron/backend"
)
type Addresses struct {
backend.AddressesBackend
events backend.EventsBackend
}
func (b *Addresses) InsertAddress(user string, addr *backend.Address) (inserted *backend.Address, err error) {
inserted, err = b.AddressesBackend.InsertAddress(user, addr)
if err != nil {
return
}
event := backend.NewUserEvent(&backend.User{ID: user})
b.events.InsertEvent(user, event)
return
}
func (b *Addresses) UpdateAddress(user string, update *backend.AddressUpdate) (updated *backend.Address, err error) {
updated, err = b.AddressesBackend.UpdateAddress(user, update)
if err != nil {
return
}
event := backend.NewUserEvent(&backend.User{ID: user})
b.events.InsertEvent(user, event)
return
}
func (b *Addresses) DeleteAddress(user, id string) (err error) {
err = b.AddressesBackend.DeleteAddress(user, id)
if err != nil {
return
}
event := backend.NewUserEvent(&backend.User{ID: user})
b.events.InsertEvent(user, event)
return
}
func NewAddresses(addrs backend.AddressesBackend, events backend.EventsBackend) backend.AddressesBackend {
return &Addresses{
AddressesBackend: addrs,
events: events,
}
}