graph

package
v0.0.18 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 12, 2023 License: Apache-2.0 Imports: 28 Imported by: 1

Documentation

Overview

Copyright © 2021-2023 Nikita Ivanovski info@slnt-opp.xyz

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright © 2021-2023 Nikita Ivanovski info@slnt-opp.xyz

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright © 2021-2023 Nikita Ivanovski info@slnt-opp.xyz

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright © 2021-2023 Nikita Ivanovski info@slnt-opp.xyz

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright © 2021-2023 Nikita Ivanovski info@slnt-opp.xyz

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright © 2021-2023 Nikita Ivanovski info@slnt-opp.xyz

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright © 2021-2023 Nikita Ivanovski info@slnt-opp.xyz

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright © 2021-2023 Nikita Ivanovski info@slnt-opp.xyz

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright © 2021-2023 Nikita Ivanovski info@slnt-opp.xyz

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright © 2021-2023 Nikita Ivanovski info@slnt-opp.xyz

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright © 2021-2023 Nikita Ivanovski info@slnt-opp.xyz

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright © 2021-2023 Nikita Ivanovski info@slnt-opp.xyz

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

View Source
const (
	INSTANCES_COL = "Instances"
)
View Source
const (
	INSTANCES_GROUPS_COL = "InstancesGroups"
)

Variables

This section is empty.

Functions

func AccessLevel

func AccessLevel(ctx context.Context, db driver.Database, account string, node driver.DocumentID) (bool, access.Level)

account - Account Key, node - DocumentID

func DeleteByDocID

func DeleteByDocID(ctx context.Context, db driver.Database, id driver.DocumentID) error

func DeleteEdge

func DeleteEdge(ctx context.Context, db driver.Database, fromCollection, toCollection, fromKey, toKey string) error

func DeleteRecursive

func DeleteRecursive(ctx context.Context, db driver.Database, id driver.DocumentID) error

func EdgeExist

func EdgeExist(ctx context.Context, db driver.Database, fromCollection, toCollection, fromKey, toKey string) (bool, error)

func GetEnsureCollection

func GetEnsureCollection(log *zap.Logger, ctx context.Context, db driver.Database, name string) driver.Collection

func GetWithAccess

func GetWithAccess[T Accessible](ctx context.Context, db driver.Database, id driver.DocumentID) (T, error)

func GraphGetEdgeEnsure

func GraphGetEdgeEnsure(log *zap.Logger, ctx context.Context, graph driver.Graph, name, from, to string) driver.Collection

func GraphGetEnsure

func GraphGetEnsure(log *zap.Logger, ctx context.Context, db driver.Database, name string) driver.Graph

func GraphGetVertexEnsure

func GraphGetVertexEnsure(log *zap.Logger, ctx context.Context, db driver.Database, graph driver.Graph, name string) (col driver.Collection)

func HasAccess

func HasAccess(ctx context.Context, db driver.Database, account string, node driver.DocumentID, level access.Level) bool

account - Account Key, node - DocumentID

func ListCredentialsAndEdges

func ListCredentialsAndEdges(ctx context.Context, db driver.Database, account driver.DocumentID) (nodes []string, err error)

func ListOwnedDeep

func ListOwnedDeep(ctx context.Context, db driver.Database, id driver.DocumentID) (res *access.Nodes, err error)

func ListWithAccess

func ListWithAccess[T Accessible](
	ctx context.Context,
	log *zap.Logger,
	db driver.Database,
	fromDocument driver.DocumentID,
	collectionName string,
	depth int32,
) ([]T, error)

Types

type Access

type Access struct {
	From  driver.DocumentID `json:"_from"`
	To    driver.DocumentID `json:"_to"`
	Level access.Level      `json:"level"`
	Role  string            `json:"role"`

	driver.DocumentMeta
}

type Accessible

type Accessible interface {
	GetAccess() *access.Access
}

type Account

type Account struct {
	*pb.Account
	driver.DocumentMeta
}

func Authorisable

func Authorisable(ctx context.Context, cred *credentials.Credentials, db driver.Database) (Account, bool)

Return Account authorisable by this Credentials

func (*Account) Delete

func (acc *Account) Delete(ctx context.Context, db driver.Database) error

func (*Account) JoinNamespace

func (acc *Account) JoinNamespace(ctx context.Context, edge driver.Collection, ns Namespace, level access.Level, role string) error

Grant namespace access to account

func (*Account) LinkNamespace

func (acc *Account) LinkNamespace(ctx context.Context, edge driver.Collection, ns Namespace, level access.Level, role string) error

Grant account access to namespace

type AccountsController

type AccountsController struct {
	// contains filtered or unexported fields
}

func NewAccountsController

func NewAccountsController(logger *zap.Logger, db driver.Database) AccountsController

func (*AccountsController) Authorize

func (ctrl *AccountsController) Authorize(ctx context.Context, auth_type string, args ...string) (Account, bool)

func (*AccountsController) Create

func (ctrl *AccountsController) Create(ctx context.Context, acc pb.Account) (Account, error)

func (*AccountsController) Delete

func (ctrl *AccountsController) Delete(ctx context.Context, id string) error

func (*AccountsController) EnsureRootExists

func (ctrl *AccountsController) EnsureRootExists(passwd string) (err error)

func (*AccountsController) Exists

func (ctrl *AccountsController) Exists(ctx context.Context, id string) (bool, error)

func (*AccountsController) Get

func (ctrl *AccountsController) Get(ctx context.Context, id string) (Account, error)

func (*AccountsController) GetCredentials

func (ctrl *AccountsController) GetCredentials(ctx context.Context, edge_col driver.Collection, acc Account, auth_type string) (key string, has_credentials bool)

func (*AccountsController) List

func (ctrl *AccountsController) List(ctx context.Context, requestor Account, req_depth int32) ([]Account, error)

func (*AccountsController) SetCredentials

func (ctrl *AccountsController) SetCredentials(ctx context.Context, acc Account, edge driver.Collection, c credentials.Credentials, role string) error

Set Account Credentials, ensure account has only one credentials document linked per credentials type

func (*AccountsController) Update

func (ctrl *AccountsController) Update(ctx context.Context, acc Account, patch map[string]interface{}) (err error)

func (*AccountsController) UpdateCredentials

func (ctrl *AccountsController) UpdateCredentials(ctx context.Context, cred string, c credentials.Credentials) (err error)

type BillingPlan

type BillingPlan struct {
	*pb.Plan
	driver.DocumentMeta
}

type BillingPlansController

type BillingPlansController struct {
	// contains filtered or unexported fields
}

func NewBillingPlansController

func NewBillingPlansController(logger *zap.Logger, db driver.Database) BillingPlansController

func (*BillingPlansController) Create

func (ctrl *BillingPlansController) Create(ctx context.Context, plan *pb.Plan) (*BillingPlan, error)

func (*BillingPlansController) Delete

func (ctrl *BillingPlansController) Delete(ctx context.Context, plan *pb.Plan) error

func (*BillingPlansController) Get

func (ctrl *BillingPlansController) Get(ctx context.Context, plan *pb.Plan) (*BillingPlan, error)

func (*BillingPlansController) InstancesCount added in v0.0.18

func (ctrl *BillingPlansController) InstancesCount(ctx context.Context, plan *pb.Plan) (int, error)

func (*BillingPlansController) List

func (ctrl *BillingPlansController) List(ctx context.Context, spUuid string) ([]*BillingPlan, error)

func (*BillingPlansController) Update

func (ctrl *BillingPlansController) Update(ctx context.Context, plan *pb.Plan) (*BillingPlan, error)

type CurrencyController

type CurrencyController struct {
	// contains filtered or unexported fields
}

func NewCurrencyController

func NewCurrencyController(log *zap.Logger, db driver.Database) CurrencyController

func (*CurrencyController) Convert

func (c *CurrencyController) Convert(ctx context.Context, from pb.Currency, to pb.Currency, amount float64) (float64, error)

func (*CurrencyController) CreateExchangeRate

func (c *CurrencyController) CreateExchangeRate(ctx context.Context, from pb.Currency, to pb.Currency, rate float64) error

func (*CurrencyController) DeleteExchangeRate

func (c *CurrencyController) DeleteExchangeRate(ctx context.Context, from pb.Currency, to pb.Currency) error

func (*CurrencyController) GetCurrencies added in v0.0.18

func (c *CurrencyController) GetCurrencies(ctx context.Context) ([]pb.Currency, error)

func (*CurrencyController) GetExchangeRate

func (c *CurrencyController) GetExchangeRate(ctx context.Context, from pb.Currency, to pb.Currency) (float64, error)

func (*CurrencyController) GetExchangeRateDirect added in v0.0.18

func (c *CurrencyController) GetExchangeRateDirect(ctx context.Context, from pb.Currency, to pb.Currency) (float64, error)

func (*CurrencyController) GetExchangeRates added in v0.0.18

func (c *CurrencyController) GetExchangeRates(ctx context.Context) ([]*pb.GetExchangeRateResponse, error)

func (*CurrencyController) UpdateExchangeRate

func (c *CurrencyController) UpdateExchangeRate(ctx context.Context, from pb.Currency, to pb.Currency, rate float64) error

type GroupWithSP

type GroupWithSP struct {
	Group *pb.InstancesGroup     `json:"group"`
	SP    *sppb.ServicesProvider `json:"sp"`
}

type Instance

type Instance struct {
	*pb.Instance
	driver.DocumentMeta
}

type InstancesController

type InstancesController struct {
	// contains filtered or unexported fields
}

func NewInstancesController

func NewInstancesController(log *zap.Logger, db driver.Database) *InstancesController

func (*InstancesController) CheckEdgeExist added in v0.0.18

func (ctrl *InstancesController) CheckEdgeExist(ctx context.Context, spUuid string, i *pb.Instance) error

func (*InstancesController) Create

func (ctrl *InstancesController) Create(ctx context.Context, group driver.DocumentID, sp string, i *pb.Instance) error

func (*InstancesController) Delete

func (ctrl *InstancesController) Delete(ctx context.Context, group string, i *pb.Instance) error

func (*InstancesController) Get added in v0.0.18

func (ctrl *InstancesController) Get(ctx context.Context, uuid string) (*Instance, error)

func (*InstancesController) GetEdge added in v0.0.18

func (ctrl *InstancesController) GetEdge(ctx context.Context, inboundNode string, collection string) (string, error)

func (*InstancesController) GetGroup

func (ctrl *InstancesController) GetGroup(ctx context.Context, i string) (*GroupWithSP, error)

func (*InstancesController) SetStatus

func (ctrl *InstancesController) SetStatus(ctx context.Context, inst *pb.Instance, status spb.NoCloudStatus) (err error)

func (*InstancesController) TransferInst added in v0.0.18

func (ctrl *InstancesController) TransferInst(ctx context.Context, oldIGEdge string, newIG driver.DocumentID, inst driver.DocumentID) error

func (*InstancesController) Update

func (ctrl *InstancesController) Update(ctx context.Context, sp string, inst, oldInst *pb.Instance) error

func (*InstancesController) ValidateBillingPlan

func (ctrl *InstancesController) ValidateBillingPlan(ctx context.Context, spUuid string, i *pb.Instance) error

type InstancesGroup added in v0.0.18

type InstancesGroup struct {
	driver.DocumentMeta
	*pb.InstancesGroup
}

type InstancesGroupsController

type InstancesGroupsController struct {
	// contains filtered or unexported fields
}

func NewInstancesGroupsController

func NewInstancesGroupsController(log *zap.Logger, db driver.Database) *InstancesGroupsController

func (*InstancesGroupsController) Create

func (ctrl *InstancesGroupsController) Create(ctx context.Context, service driver.DocumentID, g *pb.InstancesGroup) error

func (*InstancesGroupsController) Delete

func (ctrl *InstancesGroupsController) Delete(ctx context.Context, service string, g *pb.InstancesGroup) error

func (*InstancesGroupsController) GetEdge added in v0.0.18

func (ctrl *InstancesGroupsController) GetEdge(ctx context.Context, inboundNode string, collection string) (string, error)

func (*InstancesGroupsController) Instances

func (*InstancesGroupsController) Provide

func (ctrl *InstancesGroupsController) Provide(ctx context.Context, group, sp string) error

func (*InstancesGroupsController) SetStatus

func (ctrl *InstancesGroupsController) SetStatus(ctx context.Context, ig *pb.InstancesGroup, status spb.NoCloudStatus) (err error)

func (*InstancesGroupsController) TransferIG added in v0.0.18

func (ctrl *InstancesGroupsController) TransferIG(ctx context.Context, oldSrvEdge string, newSrv driver.DocumentID, ig driver.DocumentID) error

func (*InstancesGroupsController) Update

func (ctrl *InstancesGroupsController) Update(ctx context.Context, ig, oldIg *pb.InstancesGroup) error

type Namespace

type Namespace struct {
	*namespaces.Namespace
	driver.DocumentMeta
}

func (*Namespace) Delete

func (ns *Namespace) Delete(ctx context.Context, db driver.Database) error

type NamespacesController

type NamespacesController struct {
	// contains filtered or unexported fields
}

func NewNamespacesController

func NewNamespacesController(logger *zap.Logger, db driver.Database) NamespacesController

func (*NamespacesController) Create

func (ctrl *NamespacesController) Create(ctx context.Context, title string) (Namespace, error)

func (*NamespacesController) Delete

func (ctrl *NamespacesController) Delete(ctx context.Context, id string) error

func (*NamespacesController) Get

func (ctrl *NamespacesController) Get(ctx context.Context, id string) (Namespace, error)

func (*NamespacesController) Join

func (ctrl *NamespacesController) Join(ctx context.Context, acc Account, ns Namespace, access access.Level, role string) error
func (ctrl *NamespacesController) Link(ctx context.Context, acc Account, ns Namespace, access access.Level, role string) error

func (*NamespacesController) List

func (ctrl *NamespacesController) List(ctx context.Context, requestor Account, req_depth int32) ([]*namespaces.Namespace, error)

func (*NamespacesController) Patch added in v0.0.18

func (ctrl *NamespacesController) Patch(ctx context.Context, uuid, title string) error

type Node

type Node struct {
	Collection string `json:"collection"`
	Key        string `json:"key"`
}

type Provision

type Provision struct {
	From  driver.DocumentID `json:"_from"`
	To    driver.DocumentID `json:"_to"`
	Group string            `json:"group"`

	driver.DocumentMeta
}

type Record

type Record struct {
	*pb.Record
	driver.DocumentMeta
}

type RecordsController

type RecordsController struct {
	// contains filtered or unexported fields
}

func NewRecordsController

func NewRecordsController(logger *zap.Logger, db driver.Database) RecordsController

func (*RecordsController) CheckOverlapping

func (ctrl *RecordsController) CheckOverlapping(ctx context.Context, r *pb.Record) (ok bool)

func (*RecordsController) Create

func (ctrl *RecordsController) Create(ctx context.Context, r *pb.Record) driver.DocumentID

func (*RecordsController) Get

func (ctrl *RecordsController) Get(ctx context.Context, tr string) (res []*pb.Record, err error)

func (*RecordsController) GetInstancesReports added in v0.0.18

func (ctrl *RecordsController) GetInstancesReports(ctx context.Context, req *pb.GetInstancesReportRequest) ([]*pb.InstanceReport, error)

func (*RecordsController) GetInstancesReportsCount added in v0.0.18

func (ctrl *RecordsController) GetInstancesReportsCount(ctx context.Context) (int64, error)

func (*RecordsController) GetRecordsReports added in v0.0.18

func (*RecordsController) GetRecordsReportsCount added in v0.0.18

func (ctrl *RecordsController) GetRecordsReportsCount(ctx context.Context, req *pb.GetRecordsReportsCountRequest) (int64, error)

func (*RecordsController) GetUnique added in v0.0.18

func (ctrl *RecordsController) GetUnique(ctx context.Context) (map[string]interface{}, error)

type Service added in v0.0.18

type Service struct {
	driver.DocumentMeta
	*spb.Service
}

type ServicesController

type ServicesController struct {
	// contains filtered or unexported fields
}

func NewServicesController

func NewServicesController(log *zap.Logger, db driver.Database) ServicesController

func (*ServicesController) Create

func (ctrl *ServicesController) Create(ctx context.Context, service *spb.Service) (*spb.Service, error)

Create Service and underlaying entities and store in DB

func (*ServicesController) Delete

func (ctrl *ServicesController) Delete(ctx context.Context, s *spb.Service) (err error)

func (*ServicesController) Get

func (ctrl *ServicesController) Get(ctx context.Context, acc, key string) (*spb.Service, error)

func (*ServicesController) GetServiceInstancesUuids

func (ctrl *ServicesController) GetServiceInstancesUuids(key string) ([]string, error)

func (*ServicesController) IGController

func (ctrl *ServicesController) IGController() *InstancesGroupsController

func (*ServicesController) Join

func (ctrl *ServicesController) Join(ctx context.Context, service *spb.Service, ns *Namespace, access access.Level, role string) error

Join Service into Namespace

func (*ServicesController) List

func (ctrl *ServicesController) List(ctx context.Context, requestor string, request *spb.ListRequest) ([]*spb.Service, error)

List Services in DB

func (*ServicesController) SetStatus

func (ctrl *ServicesController) SetStatus(ctx context.Context, s *spb.Service, status stpb.NoCloudStatus) (err error)

func (*ServicesController) Update

func (ctrl *ServicesController) Update(ctx context.Context, service *spb.Service, hash bool) error

Update Service and underlaying entities and store in DB

type ServicesProvider

type ServicesProvider struct {
	*pb.ServicesProvider
	driver.DocumentMeta
}

type ServicesProvidersController

type ServicesProvidersController struct {
	// contains filtered or unexported fields
}

func NewServicesProvidersController

func NewServicesProvidersController(logger *zap.Logger, db driver.Database) ServicesProvidersController

func (*ServicesProvidersController) BindPlan

func (ctrl *ServicesProvidersController) BindPlan(ctx context.Context, uuid, planUuid string) error

func (*ServicesProvidersController) Create

func (ctrl *ServicesProvidersController) Create(ctx context.Context, sp *ServicesProvider) (err error)

func (*ServicesProvidersController) Delete

func (ctrl *ServicesProvidersController) Delete(ctx context.Context, id string) (err error)

func (*ServicesProvidersController) DeleteEdges added in v0.0.18

func (ctrl *ServicesProvidersController) DeleteEdges(ctx context.Context, id string) error

func (*ServicesProvidersController) Get

func (*ServicesProvidersController) GetGroups added in v0.0.18

func (*ServicesProvidersController) GetServices added in v0.0.18

func (ctrl *ServicesProvidersController) GetServices(ctx context.Context, sp *ServicesProvider) ([]*spb.Service, error)

func (*ServicesProvidersController) List

func (ctrl *ServicesProvidersController) List(ctx context.Context, requestor string, isRoot bool) ([]*ServicesProvider, error)

List Services Providers in DB

func (*ServicesProvidersController) Update

Update ServicesProvider in DB

type ShowcasesController added in v0.0.18

type ShowcasesController struct {
	// contains filtered or unexported fields
}

func NewShowcasesController added in v0.0.18

func NewShowcasesController(logger *zap.Logger, db driver.Database) *ShowcasesController

func (*ShowcasesController) Create added in v0.0.18

func (ctrl *ShowcasesController) Create(ctx context.Context, showcase *sppb.Showcase) (*sppb.Showcase, error)

func (*ShowcasesController) Delete added in v0.0.18

func (ctrl *ShowcasesController) Delete(ctx context.Context, uuid string) error

func (*ShowcasesController) Get added in v0.0.18

func (ctrl *ShowcasesController) Get(ctx context.Context, uuid string) (*sppb.Showcase, error)

func (*ShowcasesController) List added in v0.0.18

func (ctrl *ShowcasesController) List(ctx context.Context, requestor string, root bool) ([]*sppb.Showcase, error)

func (*ShowcasesController) Update added in v0.0.18

func (ctrl *ShowcasesController) Update(ctx context.Context, showcase *sppb.Showcase) (*sppb.Showcase, error)

type Transaction

type Transaction struct {
	*pb.Transaction
	driver.DocumentMeta
}

type TransactionsController

type TransactionsController struct {
	// contains filtered or unexported fields
}

func NewTransactionsController

func NewTransactionsController(logger *zap.Logger, db driver.Database) TransactionsController

func (*TransactionsController) Create

func (*TransactionsController) Get

func (ctrl *TransactionsController) Get(ctx context.Context, uuid string) (*pb.Transaction, error)

func (*TransactionsController) Update added in v0.0.18

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL