/
managementAPI.go
36 lines (29 loc) · 1.52 KB
/
managementAPI.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
package gomarklogicgo
import (
clients "github.com/ryanjdew/go-marklogic-go/clients"
handle "github.com/ryanjdew/go-marklogic-go/handle"
management "github.com/ryanjdew/go-marklogic-go/management"
)
// ManagementClient is used for connecting to the MarkLogic Management API.
type ManagementClient clients.ManagementClient
// NewManagementClient creates the Client struct used for managing databases, etc.
func NewManagementClient(host string, username string, password string, authType int) (*ManagementClient, error) {
client, err := clients.NewManagementClient(&clients.Connection{Host: host, Username: username, Password: password, AuthenticationType: authType})
return convertToManageClient(client), err
}
// SetDatabaseProperties sets the database properties
func (mc *ManagementClient) SetDatabaseProperties(databaseName string, propertiesHandle handle.ResponseHandle) error {
return management.SetDatabaseProperties(convertToSubManageClient(mc), databaseName, propertiesHandle)
}
// GetDatabaseProperties sets the database properties
func (mc *ManagementClient) GetDatabaseProperties(databaseName string, propertiesHandle handle.ResponseHandle) error {
return management.GetDatabaseProperties(convertToSubManageClient(mc), databaseName, propertiesHandle)
}
func convertToSubManageClient(mc *ManagementClient) *clients.ManagementClient {
converted := clients.ManagementClient(*mc)
return &converted
}
func convertToManageClient(mc *clients.ManagementClient) *ManagementClient {
converted := ManagementClient(*mc)
return &converted
}