storage

package
v0.0.0-...-e0ea65e Latest Latest
Warning

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

Go to latest
Published: Sep 25, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package storage with interfaces and implementations

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientStorage

type ClientStorage interface {
	SyncPut(protodata []*keeperproto.Data) error
	SyncGet(protodata *[]*keeperproto.Data) error
	PutItem(name, vType string, value []byte, desc string) error
	GetItem(name string, valueType *string, value *[]byte) error
	DelItem(name string) error
	ListItems(items *[]ListItems) error
}

ClientStorage interface

type InMemoryStore

type InMemoryStore struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

InMemoryStore in-memory client storage

func NewInMemory

func NewInMemory() *InMemoryStore

NewInMemory init client in-memory storage

func (*InMemoryStore) DelItem

func (c *InMemoryStore) DelItem(name string) error

DelItem from in-memory client storage

func (*InMemoryStore) GetItem

func (c *InMemoryStore) GetItem(name string, valueType *string, value *[]byte) error

GetItem from in-memory client storage (one item)

func (*InMemoryStore) ListItems

func (c *InMemoryStore) ListItems(items *[]ListItems) error

ListItems metainfo from in-memory client storage

func (*InMemoryStore) PutItem

func (c *InMemoryStore) PutItem(name, vType string, value []byte, desc string) error

PutItem to in-memory client storage (one item)

func (*InMemoryStore) SyncGet

func (c *InMemoryStore) SyncGet(protodata *[]*keeperproto.Data) error

SyncGet get data (with server sync) from client in-memory storage Not used, for potencial full sync from client to server

func (*InMemoryStore) SyncPut

func (c *InMemoryStore) SyncPut(protodata []*keeperproto.Data) error

SyncPut put data (with server sync) to client in-memory storage

type ListItems

type ListItems struct {
	Name  string
	DType string
	Desc  string
}

ListItems struct for metainfo

type PgDB

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

PgDB struct with db singleton and prepare statements

func NewPgDB

func NewPgDB(dsn string) (*PgDB, error)

NewPgDB create postgres db instance

func PgBaseInit

func PgBaseInit(ctx context.Context, dsn string) (*PgDB, error)

PgBaseInit main init pg database

func (*PgDB) AuthUser

func (pg *PgDB) AuthUser(ctx context.Context, reg *auth.User, userid *int64) error

AuthUser get auth info from pg database

func (*PgDB) CreateDatabaseScheme

func (pg *PgDB) CreateDatabaseScheme(ctx context.Context) error

CreateDatabaseScheme create tables with migrations

func (*PgDB) PrepStmt

func (pg *PgDB) PrepStmt() error

PrepStmt run prepare queries

func (*PgDB) RegisterUser

func (pg *PgDB) RegisterUser(ctx context.Context, reg *auth.User, userid *int64) error

RegisterUser put user info to pg database

func (*PgDB) SyncGet

func (pg *PgDB) SyncGet(ctx context.Context, names []string, data *[]*keeperproto.Data, userid int64) error

SyncGet get data from pg database

func (*PgDB) SyncPut

func (pg *PgDB) SyncPut(ctx context.Context, data []*keeperproto.Data, userid int64) error

SyncPut put data to pg database

type ServerStorage

type ServerStorage interface {
	RegisterUser(ctx context.Context, reg *auth.User, userid *int64) error
	AuthUser(ctx context.Context, reg *auth.User, userid *int64) error
	SyncPut(ctx context.Context, data []*keeperproto.Data, userid int64) error
	SyncGet(ctx context.Context, names []string, data *[]*keeperproto.Data, userid int64) error
}

ServerStorage interface

Jump to

Keyboard shortcuts

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