summaryrefslogtreecommitdiff
path: root/src/cardmarket/handlers/vacation.go
blob: 59528edddf5b62e7f8910bf9ad25651dc3aea64c (plain)
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
package handlers

import (
	"context"

	"codeberg.org/dijitol/trading_post/src/cardmarket"
)

func SetVacationState(
	ctx context.Context,
	c *cardmarket.ApiClient,
	onVacation bool,
	cancelOrders, relistItems *bool,
) error {
	params := make(map[string]string, 3)

	if onVacation {
		params["onVacation"] = "true"
	} else {
		params["onVacation"] = "false"
	}

	if cancelOrders != nil {
		if *cancelOrders {
			params["cancelOrders"] = "true"
			if relistItems != nil && *relistItems {
				params["relistItems"] = "true"
			}
		} else {
			params["cancelOrders"] = "false"
			params["relistItems"] = "false"
		}
	}

	if err := c.Put(
		ctx,
		"/account/vacation",
		params,
		"",
		nil,
		nil,
	); err != nil {
		return err
	}

	return nil
}