summaryrefslogtreecommitdiff
path: root/internal/openvpn.go
blob: 7c4df185d93edbd1de20160bd1c9bfcc2d6cb97a (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
package internal

import "fmt"

func OpenVPNGetConfig(server Server) (string, string, error) {
	base, baseErr := server.GetBase()

	if baseErr != nil {
		return "", "", &OpenVPNGetConfigError{Err: baseErr}
	}
	profile_id := base.Profiles.Current
	configOpenVPN, _, configErr := APIConnectOpenVPN(server, profile_id)

	if configErr != nil {
		return "", "", &OpenVPNGetConfigError{Err: configErr}
	}

	return configOpenVPN, "openvpn", nil
}

type OpenVPNGetConfigError struct {
	Err error
}

func (e *OpenVPNGetConfigError) Error() string {
	return fmt.Sprintf("failed getting OpenVPN config with error: %v", e.Err)
}