send.go

v1.0.0
Doc Versions Source
1
package bitwarden
2
3
import "context"
4
5
// SendService handles Bitwarden Send operations.
6
type SendService struct {
7
	t *transport
8
}
9
10
// List returns all Send items.
11
func (s *SendService) List(ctx context.Context) ([]Send, error) {
12
	data, err := s.t.get(ctx, "/send/list", nil)
13
	if err != nil {
14
		return nil, err
15
	}
16
	return decodeListResponse[Send](data)
17
}
18
19
// Get returns a single Send by ID.
20
func (s *SendService) Get(ctx context.Context, id string) (*Send, error) {
21
	data, err := s.t.get(ctx, "/object/send/"+id, nil)
22
	if err != nil {
23
		return nil, err
24
	}
25
	return decodeObjectResponsePtr[Send](data)
26
}
27
28
// Create creates a new Send.
29
func (s *SendService) Create(ctx context.Context, send Send) (*Send, error) {
30
	data, err := s.t.post(ctx, "/object/send", send)
31
	if err != nil {
32
		return nil, err
33
	}
34
	return decodeObjectResponsePtr[Send](data)
35
}
36
37
// Update updates an existing Send.
38
func (s *SendService) Update(ctx context.Context, id string, send Send) (*Send, error) {
39
	data, err := s.t.put(ctx, "/object/send/"+id, send)
40
	if err != nil {
41
		return nil, err
42
	}
43
	return decodeObjectResponsePtr[Send](data)
44
}
45
46
// Delete deletes a Send.
47
func (s *SendService) Delete(ctx context.Context, id string) error {
48
	_, err := s.t.del(ctx, "/object/send/"+id)
49
	return err
50
}
51
52
// RemovePassword removes password protection from a Send.
53
func (s *SendService) RemovePassword(ctx context.Context, id string) (*Send, error) {
54
	data, err := s.t.post(ctx, "/send/"+id+"/remove-password", nil)
55
	if err != nil {
56
		return nil, err
57
	}
58
	return decodeObjectResponsePtr[Send](data)
59
}
60

Source Files