Files
Олег Бородин 25365aef77 init import
2026-05-24 11:02:51 +02:00

68 lines
1.4 KiB
Go

package accntcli
import (
"context"
"encoding/json"
"errors"
"mbase/app/accoper"
"mbase/app/handler"
"mbase/pkg/descr"
)
func (cli *Client) GetAccountByName(ctx context.Context, host, username string) (*descr.AccountShort, error) {
var err error
res := &descr.AccountShort{}
params := accoper.GetAccountParams{
Username: username,
}
reqdata, err := json.Marshal(params)
if err != nil {
return res, err
}
resdata, err := cli.doHTTPCall(ctx, host, "account", "get", reqdata)
if err != nil {
return res, err
}
response := handler.NewResponse[accoper.GetAccountResult]()
err = json.Unmarshal(resdata, response)
if err != nil {
return res, err
}
if response.Error {
err = errors.New(response.Message)
return res, err
}
res = response.Result.Account
return res, err
}
func (cli *Client) GetAccountByID(ctx context.Context, host, accountID string) (*descr.AccountShort, error) {
var err error
res := &descr.AccountShort{}
params := accoper.GetAccountParams{
AccountID: accountID,
}
reqdata, err := json.Marshal(params)
if err != nil {
return res, err
}
resdata, err := cli.doHTTPCall(ctx, host, "account", "get", reqdata)
if err != nil {
return res, err
}
response := handler.NewResponse[accoper.GetAccountResult]()
err = json.Unmarshal(resdata, response)
if err != nil {
return res, err
}
if response.Error {
err = errors.New(response.Message)
return res, err
}
res = response.Result.Account
return res, err
}