Documentation
¶
Overview ¶
Package exampleservice is a generated GoMock package.
Index ¶
- Variables
- type Address
- type MockProvider
- func (m *MockProvider) Delete(ctx context.Context, table ksql.Table, idOrRecord interface{}) error
- func (m *MockProvider) EXPECT() *MockProviderMockRecorder
- func (m *MockProvider) Exec(ctx context.Context, query string, params ...interface{}) (int64, error)
- func (m *MockProvider) Insert(ctx context.Context, table ksql.Table, record interface{}) error
- func (m *MockProvider) Query(ctx context.Context, records interface{}, query string, params ...interface{}) error
- func (m *MockProvider) QueryChunks(ctx context.Context, parser ksql.ChunkParser) error
- func (m *MockProvider) QueryOne(ctx context.Context, record interface{}, query string, params ...interface{}) error
- func (m *MockProvider) Transaction(ctx context.Context, fn func(ksql.Provider) error) error
- func (m *MockProvider) Update(ctx context.Context, table ksql.Table, record interface{}) error
- type MockProviderMockRecorder
- func (mr *MockProviderMockRecorder) Delete(ctx, table, idOrRecord interface{}) *gomock.Call
- func (mr *MockProviderMockRecorder) Exec(ctx, query interface{}, params ...interface{}) *gomock.Call
- func (mr *MockProviderMockRecorder) Insert(ctx, table, record interface{}) *gomock.Call
- func (mr *MockProviderMockRecorder) Query(ctx, records, query interface{}, params ...interface{}) *gomock.Call
- func (mr *MockProviderMockRecorder) QueryChunks(ctx, parser interface{}) *gomock.Call
- func (mr *MockProviderMockRecorder) QueryOne(ctx, record, query interface{}, params ...interface{}) *gomock.Call
- func (mr *MockProviderMockRecorder) Transaction(ctx, fn interface{}) *gomock.Call
- func (mr *MockProviderMockRecorder) Update(ctx, table, record interface{}) *gomock.Call
- type Service
- func (s Service) CreateUser(ctx context.Context, u UserEntity) error
- func (s Service) DeleteUser(ctx context.Context, uID int) error
- func (s Service) ListUsers(ctx context.Context, offset, limit int) (total int, users []UserEntity, err error)
- func (s Service) StreamAllUsers(ctx context.Context, sendUser func(u UserEntity) error) error
- func (s Service) UpdateUserScore(ctx context.Context, uID int, scoreChange int) error
- type UserEntity
Constants ¶
This section is empty.
Variables ¶
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) EXPECT ¶
func (m *MockProvider) EXPECT() *MockProviderMockRecorder
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) 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 ¶
Transaction 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 (Service) CreateUser ¶
func (s Service) CreateUser(ctx context.Context, u UserEntity) error
CreateUser ...
func (Service) DeleteUser ¶
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 ¶
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.
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.