1
0
mirror of https://github.com/Chipazawra/v8-1c-cluster-pde.git synced 2025-04-11 11:42:19 +02:00
2021-12-29 21:32:07 +03:00

73 lines
1.9 KiB
Go

package rclient
import (
"context"
"github.com/khorevaa/ras-client/messages"
"github.com/khorevaa/ras-client/serialize"
uuid "github.com/satori/go.uuid"
)
var _ infobaseApi = (*Client)(nil)
func (c *Client) CreateInfobase(ctx context.Context, cluster uuid.UUID, infobase serialize.InfobaseInfo, mode int) (serialize.InfobaseInfo, error) {
req := &messages.CreateInfobaseRequest{
ClusterID: cluster,
Infobase: &infobase,
Mode: mode,
}
resp, err := c.sendEndpointRequest(ctx, req)
if err != nil {
return serialize.InfobaseInfo{}, err
}
response := resp.(*messages.CreateInfobaseResponse)
return c.GetInfobaseInfo(ctx, cluster, response.InfobaseID)
}
func (c *Client) DropInfobase(ctx context.Context, cluster uuid.UUID, infobase uuid.UUID, mode int) error {
req := &messages.DropInfobaseRequest{
ClusterID: cluster,
InfobaseID: infobase,
Mode: mode,
}
_, err := c.sendEndpointRequest(ctx, req)
return err
}
func (c *Client) UpdateSummaryInfobase(ctx context.Context, cluster uuid.UUID, infobase serialize.InfobaseSummaryInfo) error {
req := &messages.UpdateInfobaseShortRequest{ClusterID: cluster, Infobase: infobase}
_, err := c.sendEndpointRequest(ctx, req)
return err
}
func (c *Client) UpdateInfobase(ctx context.Context, cluster uuid.UUID, infobase serialize.InfobaseInfo) error {
req := &messages.UpdateInfobaseRequest{ClusterID: cluster, Infobase: infobase}
_, err := c.sendEndpointRequest(ctx, req)
return err
}
func (c *Client) GetInfobaseInfo(ctx context.Context, cluster uuid.UUID, infobase uuid.UUID) (serialize.InfobaseInfo, error) {
req := &messages.GetInfobaseInfoRequest{ClusterID: cluster, InfobaseID: infobase}
resp, err := c.sendEndpointRequest(ctx, req)
if err != nil {
return serialize.InfobaseInfo{}, err
}
response := resp.(*messages.GetInfobaseInfoResponse)
response.Infobase.ClusterID = cluster
return response.Infobase, err
}