exampleservice

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Dec 31, 2021 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package exampleservice is a generated GoMock package.

Index

Constants

This section is empty.

Variables

View Source
var UsersTable = ksql.NewTable("users", "id")

UsersTable informs ksql that the ID column is named "id"

Functions

This section is empty.

Types

type Address

type Address struct {
	AddrLines []string `json:"addr_lines"`
	City      string   `json:"city"`
	State     string   `json:"state"`
	Country   string   `json:"country"`
}

Address contains the user's address

type MockProvider

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

MockProvider is a mock of Provider interface.

func NewMockProvider

func NewMockProvider(ctrl *gomock.Controller) *MockProvider

NewMockProvider creates a new mock instance.

func (*MockProvider) Delete

func (m *MockProvider) Delete(ctx context.Context, table ksql.Table, idOrRecord interface{}) error

Delete mocks base method.

func (*MockProvider) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockProvider) Exec

func (m *MockProvider) Exec(ctx context.Context, query string, params ...interface{}) (int64, error)

Exec mocks base method.

func (*MockProvider) Insert

func (m *MockProvider) Insert(ctx context.Context, table ksql.Table, record interface{}) error

Insert mocks base method.

func (*MockProvider) Query

func (m *MockProvider) Query(ctx context.Context, records interface{}, query string, params ...interface{}) error

Query mocks base method.

func (*MockProvider) QueryChunks

func (m *MockProvider) QueryChunks(ctx context.Context, parser ksql.ChunkParser) error

QueryChunks mocks base method.

func (*MockProvider) QueryOne

func (m *MockProvider) QueryOne(ctx context.Context, record interface{}, query string, params ...interface{}) error

QueryOne mocks base method.

func (*MockProvider) Transaction

func (m *MockProvider) Transaction(ctx context.Context, fn func(ksql.Provider) error) error

Transaction mocks base method.

func (*MockProvider) Update

func (m *MockProvider) Update(ctx context.Context, table ksql.Table, record interface{}) error

Update mocks base method.

type MockProviderMockRecorder

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

MockProviderMockRecorder is the mock recorder for MockProvider.

func (*MockProviderMockRecorder) Delete

func (mr *MockProviderMockRecorder) Delete(ctx, table, idOrRecord interface{}) *gomock.Call

Delete indicates an expected call of Delete.

func (*MockProviderMockRecorder) Exec

func (mr *MockProviderMockRecorder) Exec(ctx, query interface{}, params ...interface{}) *gomock.Call

Exec indicates an expected call of Exec.

func (*MockProviderMockRecorder) Insert

func (mr *MockProviderMockRecorder) Insert(ctx, table, record interface{}) *gomock.Call

Insert indicates an expected call of Insert.

func (*MockProviderMockRecorder) Query

func (mr *MockProviderMockRecorder) Query(ctx, records, query interface{}, params ...interface{}) *gomock.Call

Query indicates an expected call of Query.

func (*MockProviderMockRecorder) QueryChunks

func (mr *MockProviderMockRecorder) QueryChunks(ctx, parser interface{}) *gomock.Call

QueryChunks indicates an expected call of QueryChunks.

func (*MockProviderMockRecorder) QueryOne

func (mr *MockProviderMockRecorder) QueryOne(ctx, record, query interface{}, params ...interface{}) *gomock.Call

QueryOne indicates an expected call of QueryOne.

func (*MockProviderMockRecorder) Transaction

func (mr *MockProviderMockRecorder) Transaction(ctx, fn interface{}) *gomock.Call

Transaction indicates an expected call of Transaction.

func (*MockProviderMockRecorder) Update

func (mr *MockProviderMockRecorder) Update(ctx, table, record interface{}) *gomock.Call

Update indicates an expected call of Update.

type Service

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

Service ...

func NewUserService

func NewUserService(db ksql.Provider) Service

NewUserService ...

func (Service) CreateUser

func (s Service) CreateUser(ctx context.Context, u UserEntity) error

CreateUser ...

func (Service) DeleteUser

func (s Service) DeleteUser(ctx context.Context, uID int) error

DeleteUser deletes a user by its ID

func (Service) ListUsers

func (s Service) ListUsers(ctx context.Context, offset, limit int) (total int, users []UserEntity, err error)

ListUsers returns a page of users

func (Service) StreamAllUsers

func (s Service) StreamAllUsers(ctx context.Context, sendUser func(u UserEntity) error) error

StreamAllUsers sends all users from the database to an external client

Note: This method is unusual, but so are the use-cases for the QueryChunks function. In most cases you should just use the Query or QueryOne functions and use the QueryChunks function only when the ammount of data loaded might exceed the available memory and/or when you can't put an upper limit on the number of values returned.

func (Service) UpdateUserScore

func (s Service) UpdateUserScore(ctx context.Context, uID int, scoreChange int) error

UpdateUserScore update the user score adding scoreChange with the current user score. Defaults to 0 if not set.

type UserEntity

type UserEntity struct {
	ID          int       `ksql:"id"`
	Name        *string   `ksql:"name"`
	Age         *int      `ksql:"age"`
	Score       *int      `ksql:"score"`
	LastPayment time.Time `ksql:"last_payment"`
	Address     *Address  `ksql:"address,json"`
}

UserEntity represents a domain user, the pointer fields represent optional fields that might not be present in some requests.

Its recommended that this struct contains one field for each database column, so you can write generic queries like `SELECT * FROM users`.

If this is not the case, it might be a good idea to create a DTO struct to receive select queries.

Jump to

Keyboard shortcuts

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