SYMBOL INDEX (487 symbols across 34 files) FILE: client/auth_client.go type AuthClient (line 12) | type AuthClient struct method Login (line 25) | func (client *AuthClient) Login() (string, error) { function NewAuthClient (line 19) | func NewAuthClient(cc *grpc.ClientConn, username string, password string... FILE: client/auth_interceptor.go type AuthInterceptor (line 13) | type AuthInterceptor struct method Unary (line 39) | func (interceptor *AuthInterceptor) Unary() grpc.UnaryClientInterceptor { method Stream (line 59) | func (interceptor *AuthInterceptor) Stream() grpc.StreamClientIntercep... method attachToken (line 78) | func (interceptor *AuthInterceptor) attachToken(ctx context.Context) c... method scheduleRefreshToken (line 82) | func (interceptor *AuthInterceptor) scheduleRefreshToken(refreshDurati... method refreshToken (line 104) | func (interceptor *AuthInterceptor) refreshToken() error { function NewAuthInterceptor (line 20) | func NewAuthInterceptor( FILE: client/laptop_client.go type LaptopClient (line 20) | type LaptopClient struct method CreateLaptop (line 31) | func (laptopClient *LaptopClient) CreateLaptop(laptop *pb.Laptop) { method SearchLaptop (line 56) | func (laptopClient *LaptopClient) SearchLaptop(filter *pb.Filter) { method UploadImage (line 89) | func (laptopClient *LaptopClient) UploadImage(laptopID string, imagePa... method RateLaptop (line 151) | func (laptopClient *LaptopClient) RateLaptop(laptopIDs []string, score... function NewLaptopClient (line 25) | func NewLaptopClient(cc *grpc.ClientConn) *LaptopClient { FILE: cmd/client/main.go function testCreateLaptop (line 20) | func testCreateLaptop(laptopClient *client.LaptopClient) { function testSearchLaptop (line 24) | func testSearchLaptop(laptopClient *client.LaptopClient) { function testUploadImage (line 39) | func testUploadImage(laptopClient *client.LaptopClient) { function testRateLaptop (line 45) | func testRateLaptop(laptopClient *client.LaptopClient) { constant username (line 77) | username = "admin1" constant password (line 78) | password = "secret" constant refreshDuration (line 79) | refreshDuration = 30 * time.Second function authMethods (line 82) | func authMethods() map[string]bool { function loadTLSCredentials (line 92) | func loadTLSCredentials() (credentials.TransportCredentials, error) { function main (line 119) | func main() { FILE: cmd/server/main.go function seedUsers (line 23) | func seedUsers(userStore service.UserStore) error { function createUser (line 31) | func createUser(userStore service.UserStore, username, password, role st... constant secretKey (line 40) | secretKey = "secret" constant tokenDuration (line 41) | tokenDuration = 15 * time.Minute constant serverCertFile (line 45) | serverCertFile = "cert/server-cert.pem" constant serverKeyFile (line 46) | serverKeyFile = "cert/server-key.pem" constant clientCACertFile (line 47) | clientCACertFile = "cert/ca-cert.pem" function accessibleRoles (line 50) | func accessibleRoles() map[string][]string { function loadTLSCredentials (line 60) | func loadTLSCredentials() (credentials.TransportCredentials, error) { function runGRPCServer (line 88) | func runGRPCServer( function runRESTServer (line 120) | func runRESTServer( function main (line 157) | func main() { FILE: pb/auth_service.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) constant _ (line 27) | _ = proto.ProtoPackageIsVersion4 type LoginRequest (line 29) | type LoginRequest struct method Reset (line 38) | func (x *LoginRequest) Reset() { method String (line 47) | func (x *LoginRequest) String() string { method ProtoMessage (line 51) | func (*LoginRequest) ProtoMessage() {} method ProtoReflect (line 53) | func (x *LoginRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 66) | func (*LoginRequest) Descriptor() ([]byte, []int) { method GetUsername (line 70) | func (x *LoginRequest) GetUsername() string { method GetPassword (line 77) | func (x *LoginRequest) GetPassword() string { type LoginResponse (line 84) | type LoginResponse struct method Reset (line 92) | func (x *LoginResponse) Reset() { method String (line 101) | func (x *LoginResponse) String() string { method ProtoMessage (line 105) | func (*LoginResponse) ProtoMessage() {} method ProtoReflect (line 107) | func (x *LoginResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 120) | func (*LoginResponse) Descriptor() ([]byte, []int) { method GetAccessToken (line 124) | func (x *LoginResponse) GetAccessToken() string { function file_auth_service_proto_rawDescGZIP (line 164) | func file_auth_service_proto_rawDescGZIP() []byte { function init (line 186) | func init() { file_auth_service_proto_init() } function file_auth_service_proto_init (line 187) | func file_auth_service_proto_init() { FILE: pb/auth_service.pb.gw.go function request_AuthService_Login_0 (line 34) | func request_AuthService_Login_0(ctx context.Context, marshaler runtime.... function local_request_AuthService_Login_0 (line 51) | func local_request_AuthService_Login_0(ctx context.Context, marshaler ru... function RegisterAuthServiceHandlerServer (line 72) | func RegisterAuthServiceHandlerServer(ctx context.Context, mux *runtime.... function RegisterAuthServiceHandlerFromEndpoint (line 102) | func RegisterAuthServiceHandlerFromEndpoint(ctx context.Context, mux *ru... function RegisterAuthServiceHandler (line 127) | func RegisterAuthServiceHandler(ctx context.Context, mux *runtime.ServeM... function RegisterAuthServiceHandlerClient (line 136) | func RegisterAuthServiceHandlerClient(ctx context.Context, mux *runtime.... FILE: pb/auth_service_grpc.pb.go constant _ (line 15) | _ = grpc.SupportPackageIsVersion7 type AuthServiceClient (line 20) | type AuthServiceClient interface type authServiceClient (line 24) | type authServiceClient struct method Login (line 32) | func (c *authServiceClient) Login(ctx context.Context, in *LoginReques... function NewAuthServiceClient (line 28) | func NewAuthServiceClient(cc grpc.ClientConnInterface) AuthServiceClient { type AuthServiceServer (line 44) | type AuthServiceServer interface type UnimplementedAuthServiceServer (line 50) | type UnimplementedAuthServiceServer struct method Login (line 53) | func (UnimplementedAuthServiceServer) Login(context.Context, *LoginReq... method mustEmbedUnimplementedAuthServiceServer (line 56) | func (UnimplementedAuthServiceServer) mustEmbedUnimplementedAuthServic... type UnsafeAuthServiceServer (line 61) | type UnsafeAuthServiceServer interface function RegisterAuthServiceServer (line 65) | func RegisterAuthServiceServer(s grpc.ServiceRegistrar, srv AuthServiceS... function _AuthService_Login_Handler (line 69) | func _AuthService_Login_Handler(srv interface{}, ctx context.Context, de... FILE: pb/filter_message.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) constant _ (line 26) | _ = proto.ProtoPackageIsVersion4 type Filter (line 28) | type Filter struct method Reset (line 39) | func (x *Filter) Reset() { method String (line 48) | func (x *Filter) String() string { method ProtoMessage (line 52) | func (*Filter) ProtoMessage() {} method ProtoReflect (line 54) | func (x *Filter) ProtoReflect() protoreflect.Message { method Descriptor (line 67) | func (*Filter) Descriptor() ([]byte, []int) { method GetMaxPriceUsd (line 71) | func (x *Filter) GetMaxPriceUsd() float64 { method GetMinCpuCores (line 78) | func (x *Filter) GetMinCpuCores() uint32 { method GetMinCpuGhz (line 85) | func (x *Filter) GetMinCpuGhz() float64 { method GetMinRam (line 92) | func (x *Filter) GetMinRam() *Memory { function file_filter_message_proto_rawDescGZIP (line 127) | func file_filter_message_proto_rawDescGZIP() []byte { function init (line 148) | func init() { file_filter_message_proto_init() } function file_filter_message_proto_init (line 149) | func file_filter_message_proto_init() { FILE: pb/keyboard_message.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) constant _ (line 26) | _ = proto.ProtoPackageIsVersion4 type Keyboard_Layout (line 28) | type Keyboard_Layout method Enum (line 53) | func (x Keyboard_Layout) Enum() *Keyboard_Layout { method String (line 59) | func (x Keyboard_Layout) String() string { method Descriptor (line 63) | func (Keyboard_Layout) Descriptor() protoreflect.EnumDescriptor { method Type (line 67) | func (Keyboard_Layout) Type() protoreflect.EnumType { method Number (line 71) | func (x Keyboard_Layout) Number() protoreflect.EnumNumber { method EnumDescriptor (line 76) | func (Keyboard_Layout) EnumDescriptor() ([]byte, []int) { constant Keyboard_UNKNOWN (line 31) | Keyboard_UNKNOWN Keyboard_Layout = 0 constant Keyboard_QWERTY (line 32) | Keyboard_QWERTY Keyboard_Layout = 1 constant Keyboard_QWERTZ (line 33) | Keyboard_QWERTZ Keyboard_Layout = 2 constant Keyboard_AZERTY (line 34) | Keyboard_AZERTY Keyboard_Layout = 3 type Keyboard (line 80) | type Keyboard struct method Reset (line 89) | func (x *Keyboard) Reset() { method String (line 98) | func (x *Keyboard) String() string { method ProtoMessage (line 102) | func (*Keyboard) ProtoMessage() {} method ProtoReflect (line 104) | func (x *Keyboard) ProtoReflect() protoreflect.Message { method Descriptor (line 117) | func (*Keyboard) Descriptor() ([]byte, []int) { method GetLayout (line 121) | func (x *Keyboard) GetLayout() Keyboard_Layout { method GetBacklit (line 128) | func (x *Keyboard) GetBacklit() bool { function file_keyboard_message_proto_rawDescGZIP (line 161) | func file_keyboard_message_proto_rawDescGZIP() []byte { function init (line 183) | func init() { file_keyboard_message_proto_init() } function file_keyboard_message_proto_init (line 184) | func file_keyboard_message_proto_init() { FILE: pb/laptop_message.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) constant _ (line 27) | _ = proto.ProtoPackageIsVersion4 type Laptop (line 29) | type Laptop struct method Reset (line 52) | func (x *Laptop) Reset() { method String (line 61) | func (x *Laptop) String() string { method ProtoMessage (line 65) | func (*Laptop) ProtoMessage() {} method ProtoReflect (line 67) | func (x *Laptop) ProtoReflect() protoreflect.Message { method Descriptor (line 80) | func (*Laptop) Descriptor() ([]byte, []int) { method GetId (line 84) | func (x *Laptop) GetId() string { method GetBrand (line 91) | func (x *Laptop) GetBrand() string { method GetName (line 98) | func (x *Laptop) GetName() string { method GetCpu (line 105) | func (x *Laptop) GetCpu() *CPU { method GetRam (line 112) | func (x *Laptop) GetRam() *Memory { method GetGpus (line 119) | func (x *Laptop) GetGpus() []*GPU { method GetStorages (line 126) | func (x *Laptop) GetStorages() []*Storage { method GetScreen (line 133) | func (x *Laptop) GetScreen() *Screen { method GetKeyboard (line 140) | func (x *Laptop) GetKeyboard() *Keyboard { method GetWeight (line 147) | func (m *Laptop) GetWeight() isLaptop_Weight { method GetWeightKg (line 154) | func (x *Laptop) GetWeightKg() float64 { method GetWeightLb (line 161) | func (x *Laptop) GetWeightLb() float64 { method GetPriceUsd (line 168) | func (x *Laptop) GetPriceUsd() float64 { method GetReleaseYear (line 175) | func (x *Laptop) GetReleaseYear() uint32 { method GetUpdatedAt (line 182) | func (x *Laptop) GetUpdatedAt() *timestamppb.Timestamp { type isLaptop_Weight (line 189) | type isLaptop_Weight interface type Laptop_WeightKg (line 193) | type Laptop_WeightKg struct method isLaptop_Weight (line 201) | func (*Laptop_WeightKg) isLaptop_Weight() {} type Laptop_WeightLb (line 197) | type Laptop_WeightLb struct method isLaptop_Weight (line 203) | func (*Laptop_WeightLb) isLaptop_Weight() {} function file_laptop_message_proto_rawDescGZIP (line 265) | func file_laptop_message_proto_rawDescGZIP() []byte { function init (line 298) | func init() { file_laptop_message_proto_init() } function file_laptop_message_proto_init (line 299) | func file_laptop_message_proto_init() { FILE: pb/laptop_service.pb.go constant _ (line 20) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 22) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) constant _ (line 27) | _ = proto.ProtoPackageIsVersion4 type CreateLaptopRequest (line 29) | type CreateLaptopRequest struct method Reset (line 37) | func (x *CreateLaptopRequest) Reset() { method String (line 46) | func (x *CreateLaptopRequest) String() string { method ProtoMessage (line 50) | func (*CreateLaptopRequest) ProtoMessage() {} method ProtoReflect (line 52) | func (x *CreateLaptopRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 65) | func (*CreateLaptopRequest) Descriptor() ([]byte, []int) { method GetLaptop (line 69) | func (x *CreateLaptopRequest) GetLaptop() *Laptop { type CreateLaptopResponse (line 76) | type CreateLaptopResponse struct method Reset (line 84) | func (x *CreateLaptopResponse) Reset() { method String (line 93) | func (x *CreateLaptopResponse) String() string { method ProtoMessage (line 97) | func (*CreateLaptopResponse) ProtoMessage() {} method ProtoReflect (line 99) | func (x *CreateLaptopResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 112) | func (*CreateLaptopResponse) Descriptor() ([]byte, []int) { method GetId (line 116) | func (x *CreateLaptopResponse) GetId() string { type SearchLaptopRequest (line 123) | type SearchLaptopRequest struct method Reset (line 131) | func (x *SearchLaptopRequest) Reset() { method String (line 140) | func (x *SearchLaptopRequest) String() string { method ProtoMessage (line 144) | func (*SearchLaptopRequest) ProtoMessage() {} method ProtoReflect (line 146) | func (x *SearchLaptopRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 159) | func (*SearchLaptopRequest) Descriptor() ([]byte, []int) { method GetFilter (line 163) | func (x *SearchLaptopRequest) GetFilter() *Filter { type SearchLaptopResponse (line 170) | type SearchLaptopResponse struct method Reset (line 178) | func (x *SearchLaptopResponse) Reset() { method String (line 187) | func (x *SearchLaptopResponse) String() string { method ProtoMessage (line 191) | func (*SearchLaptopResponse) ProtoMessage() {} method ProtoReflect (line 193) | func (x *SearchLaptopResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 206) | func (*SearchLaptopResponse) Descriptor() ([]byte, []int) { method GetLaptop (line 210) | func (x *SearchLaptopResponse) GetLaptop() *Laptop { type UploadImageRequest (line 217) | type UploadImageRequest struct method Reset (line 228) | func (x *UploadImageRequest) Reset() { method String (line 237) | func (x *UploadImageRequest) String() string { method ProtoMessage (line 241) | func (*UploadImageRequest) ProtoMessage() {} method ProtoReflect (line 243) | func (x *UploadImageRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 256) | func (*UploadImageRequest) Descriptor() ([]byte, []int) { method GetData (line 260) | func (m *UploadImageRequest) GetData() isUploadImageRequest_Data { method GetInfo (line 267) | func (x *UploadImageRequest) GetInfo() *ImageInfo { method GetChunkData (line 274) | func (x *UploadImageRequest) GetChunkData() []byte { type isUploadImageRequest_Data (line 281) | type isUploadImageRequest_Data interface type UploadImageRequest_Info (line 285) | type UploadImageRequest_Info struct method isUploadImageRequest_Data (line 293) | func (*UploadImageRequest_Info) isUploadImageRequest_Data() {} type UploadImageRequest_ChunkData (line 289) | type UploadImageRequest_ChunkData struct method isUploadImageRequest_Data (line 295) | func (*UploadImageRequest_ChunkData) isUploadImageRequest_Data() {} type ImageInfo (line 297) | type ImageInfo struct method Reset (line 306) | func (x *ImageInfo) Reset() { method String (line 315) | func (x *ImageInfo) String() string { method ProtoMessage (line 319) | func (*ImageInfo) ProtoMessage() {} method ProtoReflect (line 321) | func (x *ImageInfo) ProtoReflect() protoreflect.Message { method Descriptor (line 334) | func (*ImageInfo) Descriptor() ([]byte, []int) { method GetLaptopId (line 338) | func (x *ImageInfo) GetLaptopId() string { method GetImageType (line 345) | func (x *ImageInfo) GetImageType() string { type UploadImageResponse (line 352) | type UploadImageResponse struct method Reset (line 361) | func (x *UploadImageResponse) Reset() { method String (line 370) | func (x *UploadImageResponse) String() string { method ProtoMessage (line 374) | func (*UploadImageResponse) ProtoMessage() {} method ProtoReflect (line 376) | func (x *UploadImageResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 389) | func (*UploadImageResponse) Descriptor() ([]byte, []int) { method GetId (line 393) | func (x *UploadImageResponse) GetId() string { method GetSize (line 400) | func (x *UploadImageResponse) GetSize() uint32 { type RateLaptopRequest (line 407) | type RateLaptopRequest struct method Reset (line 416) | func (x *RateLaptopRequest) Reset() { method String (line 425) | func (x *RateLaptopRequest) String() string { method ProtoMessage (line 429) | func (*RateLaptopRequest) ProtoMessage() {} method ProtoReflect (line 431) | func (x *RateLaptopRequest) ProtoReflect() protoreflect.Message { method Descriptor (line 444) | func (*RateLaptopRequest) Descriptor() ([]byte, []int) { method GetLaptopId (line 448) | func (x *RateLaptopRequest) GetLaptopId() string { method GetScore (line 455) | func (x *RateLaptopRequest) GetScore() float64 { type RateLaptopResponse (line 462) | type RateLaptopResponse struct method Reset (line 472) | func (x *RateLaptopResponse) Reset() { method String (line 481) | func (x *RateLaptopResponse) String() string { method ProtoMessage (line 485) | func (*RateLaptopResponse) ProtoMessage() {} method ProtoReflect (line 487) | func (x *RateLaptopResponse) ProtoReflect() protoreflect.Message { method Descriptor (line 500) | func (*RateLaptopResponse) Descriptor() ([]byte, []int) { method GetLaptopId (line 504) | func (x *RateLaptopResponse) GetLaptopId() string { method GetRatedCount (line 511) | func (x *RateLaptopResponse) GetRatedCount() uint32 { method GetAverageScore (line 518) | func (x *RateLaptopResponse) GetAverageScore() float64 { function file_laptop_service_proto_rawDescGZIP (line 623) | func file_laptop_service_proto_rawDescGZIP() []byte { function init (line 664) | func init() { file_laptop_service_proto_init() } function file_laptop_service_proto_init (line 665) | func file_laptop_service_proto_init() { FILE: pb/laptop_service.pb.gw.go function request_LaptopService_CreateLaptop_0 (line 34) | func request_LaptopService_CreateLaptop_0(ctx context.Context, marshaler... function local_request_LaptopService_CreateLaptop_0 (line 51) | func local_request_LaptopService_CreateLaptop_0(ctx context.Context, mar... function request_LaptopService_SearchLaptop_0 (line 72) | func request_LaptopService_SearchLaptop_0(ctx context.Context, marshaler... function request_LaptopService_UploadImage_0 (line 96) | func request_LaptopService_UploadImage_0(ctx context.Context, marshaler ... function request_LaptopService_RateLaptop_0 (line 140) | func request_LaptopService_RateLaptop_0(ctx context.Context, marshaler r... function RegisterLaptopServiceHandlerServer (line 196) | func RegisterLaptopServiceHandlerServer(ctx context.Context, mux *runtim... function RegisterLaptopServiceHandlerFromEndpoint (line 247) | func RegisterLaptopServiceHandlerFromEndpoint(ctx context.Context, mux *... function RegisterLaptopServiceHandler (line 272) | func RegisterLaptopServiceHandler(ctx context.Context, mux *runtime.Serv... function RegisterLaptopServiceHandlerClient (line 281) | func RegisterLaptopServiceHandlerClient(ctx context.Context, mux *runtim... FILE: pb/laptop_service_grpc.pb.go constant _ (line 15) | _ = grpc.SupportPackageIsVersion7 type LaptopServiceClient (line 20) | type LaptopServiceClient interface type laptopServiceClient (line 27) | type laptopServiceClient struct method CreateLaptop (line 35) | func (c *laptopServiceClient) CreateLaptop(ctx context.Context, in *Cr... method SearchLaptop (line 44) | func (c *laptopServiceClient) SearchLaptop(ctx context.Context, in *Se... method UploadImage (line 76) | func (c *laptopServiceClient) UploadImage(ctx context.Context, opts ..... method RateLaptop (line 110) | func (c *laptopServiceClient) RateLaptop(ctx context.Context, opts ...... function NewLaptopServiceClient (line 31) | func NewLaptopServiceClient(cc grpc.ClientConnInterface) LaptopServiceCl... type LaptopService_SearchLaptopClient (line 59) | type LaptopService_SearchLaptopClient interface type laptopServiceSearchLaptopClient (line 64) | type laptopServiceSearchLaptopClient struct method Recv (line 68) | func (x *laptopServiceSearchLaptopClient) Recv() (*SearchLaptopRespons... type LaptopService_UploadImageClient (line 85) | type LaptopService_UploadImageClient interface type laptopServiceUploadImageClient (line 91) | type laptopServiceUploadImageClient struct method Send (line 95) | func (x *laptopServiceUploadImageClient) Send(m *UploadImageRequest) e... method CloseAndRecv (line 99) | func (x *laptopServiceUploadImageClient) CloseAndRecv() (*UploadImageR... type LaptopService_RateLaptopClient (line 119) | type LaptopService_RateLaptopClient interface type laptopServiceRateLaptopClient (line 125) | type laptopServiceRateLaptopClient struct method Send (line 129) | func (x *laptopServiceRateLaptopClient) Send(m *RateLaptopRequest) err... method Recv (line 133) | func (x *laptopServiceRateLaptopClient) Recv() (*RateLaptopResponse, e... type LaptopServiceServer (line 144) | type LaptopServiceServer interface type UnimplementedLaptopServiceServer (line 153) | type UnimplementedLaptopServiceServer struct method CreateLaptop (line 156) | func (UnimplementedLaptopServiceServer) CreateLaptop(context.Context, ... method SearchLaptop (line 159) | func (UnimplementedLaptopServiceServer) SearchLaptop(*SearchLaptopRequ... method UploadImage (line 162) | func (UnimplementedLaptopServiceServer) UploadImage(LaptopService_Uplo... method RateLaptop (line 165) | func (UnimplementedLaptopServiceServer) RateLaptop(LaptopService_RateL... method mustEmbedUnimplementedLaptopServiceServer (line 168) | func (UnimplementedLaptopServiceServer) mustEmbedUnimplementedLaptopSe... type UnsafeLaptopServiceServer (line 173) | type UnsafeLaptopServiceServer interface function RegisterLaptopServiceServer (line 177) | func RegisterLaptopServiceServer(s grpc.ServiceRegistrar, srv LaptopServ... function _LaptopService_CreateLaptop_Handler (line 181) | func _LaptopService_CreateLaptop_Handler(srv interface{}, ctx context.Co... function _LaptopService_SearchLaptop_Handler (line 199) | func _LaptopService_SearchLaptop_Handler(srv interface{}, stream grpc.Se... type LaptopService_SearchLaptopServer (line 207) | type LaptopService_SearchLaptopServer interface type laptopServiceSearchLaptopServer (line 212) | type laptopServiceSearchLaptopServer struct method Send (line 216) | func (x *laptopServiceSearchLaptopServer) Send(m *SearchLaptopResponse... function _LaptopService_UploadImage_Handler (line 220) | func _LaptopService_UploadImage_Handler(srv interface{}, stream grpc.Ser... type LaptopService_UploadImageServer (line 224) | type LaptopService_UploadImageServer interface type laptopServiceUploadImageServer (line 230) | type laptopServiceUploadImageServer struct method SendAndClose (line 234) | func (x *laptopServiceUploadImageServer) SendAndClose(m *UploadImageRe... method Recv (line 238) | func (x *laptopServiceUploadImageServer) Recv() (*UploadImageRequest, ... function _LaptopService_RateLaptop_Handler (line 246) | func _LaptopService_RateLaptop_Handler(srv interface{}, stream grpc.Serv... type LaptopService_RateLaptopServer (line 250) | type LaptopService_RateLaptopServer interface type laptopServiceRateLaptopServer (line 256) | type laptopServiceRateLaptopServer struct method Send (line 260) | func (x *laptopServiceRateLaptopServer) Send(m *RateLaptopResponse) er... method Recv (line 264) | func (x *laptopServiceRateLaptopServer) Recv() (*RateLaptopRequest, er... FILE: pb/memory_message.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) constant _ (line 26) | _ = proto.ProtoPackageIsVersion4 type Memory_Unit (line 28) | type Memory_Unit method Enum (line 62) | func (x Memory_Unit) Enum() *Memory_Unit { method String (line 68) | func (x Memory_Unit) String() string { method Descriptor (line 72) | func (Memory_Unit) Descriptor() protoreflect.EnumDescriptor { method Type (line 76) | func (Memory_Unit) Type() protoreflect.EnumType { method Number (line 80) | func (x Memory_Unit) Number() protoreflect.EnumNumber { method EnumDescriptor (line 85) | func (Memory_Unit) EnumDescriptor() ([]byte, []int) { constant Memory_UNKNOWN (line 31) | Memory_UNKNOWN Memory_Unit = 0 constant Memory_BIT (line 32) | Memory_BIT Memory_Unit = 1 constant Memory_BYTE (line 33) | Memory_BYTE Memory_Unit = 2 constant Memory_KILOBYTE (line 34) | Memory_KILOBYTE Memory_Unit = 3 constant Memory_MEGABYTE (line 35) | Memory_MEGABYTE Memory_Unit = 4 constant Memory_GIGABYTE (line 36) | Memory_GIGABYTE Memory_Unit = 5 constant Memory_TERABYTE (line 37) | Memory_TERABYTE Memory_Unit = 6 type Memory (line 89) | type Memory struct method Reset (line 98) | func (x *Memory) Reset() { method String (line 107) | func (x *Memory) String() string { method ProtoMessage (line 111) | func (*Memory) ProtoMessage() {} method ProtoReflect (line 113) | func (x *Memory) ProtoReflect() protoreflect.Message { method Descriptor (line 126) | func (*Memory) Descriptor() ([]byte, []int) { method GetValue (line 130) | func (x *Memory) GetValue() uint64 { method GetUnit (line 137) | func (x *Memory) GetUnit() Memory_Unit { function file_memory_message_proto_rawDescGZIP (line 172) | func file_memory_message_proto_rawDescGZIP() []byte { function init (line 194) | func init() { file_memory_message_proto_init() } function file_memory_message_proto_init (line 195) | func file_memory_message_proto_init() { FILE: pb/processor_message.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) constant _ (line 26) | _ = proto.ProtoPackageIsVersion4 type CPU (line 28) | type CPU struct method Reset (line 41) | func (x *CPU) Reset() { method String (line 50) | func (x *CPU) String() string { method ProtoMessage (line 54) | func (*CPU) ProtoMessage() {} method ProtoReflect (line 56) | func (x *CPU) ProtoReflect() protoreflect.Message { method Descriptor (line 69) | func (*CPU) Descriptor() ([]byte, []int) { method GetBrand (line 73) | func (x *CPU) GetBrand() string { method GetName (line 80) | func (x *CPU) GetName() string { method GetNumberCores (line 87) | func (x *CPU) GetNumberCores() uint32 { method GetNumberThreads (line 94) | func (x *CPU) GetNumberThreads() uint32 { method GetMinGhz (line 101) | func (x *CPU) GetMinGhz() float64 { method GetMaxGhz (line 108) | func (x *CPU) GetMaxGhz() float64 { type GPU (line 115) | type GPU struct method Reset (line 127) | func (x *GPU) Reset() { method String (line 136) | func (x *GPU) String() string { method ProtoMessage (line 140) | func (*GPU) ProtoMessage() {} method ProtoReflect (line 142) | func (x *GPU) ProtoReflect() protoreflect.Message { method Descriptor (line 155) | func (*GPU) Descriptor() ([]byte, []int) { method GetBrand (line 159) | func (x *GPU) GetBrand() string { method GetName (line 166) | func (x *GPU) GetName() string { method GetMinGhz (line 173) | func (x *GPU) GetMinGhz() float64 { method GetMaxGhz (line 180) | func (x *GPU) GetMaxGhz() float64 { method GetMemory (line 187) | func (x *GPU) GetMemory() *Memory { function file_processor_message_proto_rawDescGZIP (line 232) | func file_processor_message_proto_rawDescGZIP() []byte { function init (line 254) | func init() { file_processor_message_proto_init() } function file_processor_message_proto_init (line 255) | func file_processor_message_proto_init() { FILE: pb/screen_message.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) constant _ (line 26) | _ = proto.ProtoPackageIsVersion4 type Screen_Panel (line 28) | type Screen_Panel method Enum (line 50) | func (x Screen_Panel) Enum() *Screen_Panel { method String (line 56) | func (x Screen_Panel) String() string { method Descriptor (line 60) | func (Screen_Panel) Descriptor() protoreflect.EnumDescriptor { method Type (line 64) | func (Screen_Panel) Type() protoreflect.EnumType { method Number (line 68) | func (x Screen_Panel) Number() protoreflect.EnumNumber { method EnumDescriptor (line 73) | func (Screen_Panel) EnumDescriptor() ([]byte, []int) { constant Screen_UNKNOWN (line 31) | Screen_UNKNOWN Screen_Panel = 0 constant Screen_IPS (line 32) | Screen_IPS Screen_Panel = 1 constant Screen_OLED (line 33) | Screen_OLED Screen_Panel = 2 type Screen (line 77) | type Screen struct method Reset (line 88) | func (x *Screen) Reset() { method String (line 97) | func (x *Screen) String() string { method ProtoMessage (line 101) | func (*Screen) ProtoMessage() {} method ProtoReflect (line 103) | func (x *Screen) ProtoReflect() protoreflect.Message { method Descriptor (line 116) | func (*Screen) Descriptor() ([]byte, []int) { method GetSizeInch (line 120) | func (x *Screen) GetSizeInch() float32 { method GetResolution (line 127) | func (x *Screen) GetResolution() *Screen_Resolution { method GetPanel (line 134) | func (x *Screen) GetPanel() Screen_Panel { method GetMultitouch (line 141) | func (x *Screen) GetMultitouch() bool { type Screen_Resolution (line 148) | type Screen_Resolution struct method Reset (line 157) | func (x *Screen_Resolution) Reset() { method String (line 166) | func (x *Screen_Resolution) String() string { method ProtoMessage (line 170) | func (*Screen_Resolution) ProtoMessage() {} method ProtoReflect (line 172) | func (x *Screen_Resolution) ProtoReflect() protoreflect.Message { method Descriptor (line 185) | func (*Screen_Resolution) Descriptor() ([]byte, []int) { method GetWidth (line 189) | func (x *Screen_Resolution) GetWidth() uint32 { method GetHeight (line 196) | func (x *Screen_Resolution) GetHeight() uint32 { function file_screen_message_proto_rawDescGZIP (line 238) | func file_screen_message_proto_rawDescGZIP() []byte { function init (line 262) | func init() { file_screen_message_proto_init() } function file_screen_message_proto_init (line 263) | func file_screen_message_proto_init() { FILE: pb/storage_message.pb.go constant _ (line 19) | _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) constant _ (line 21) | _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) constant _ (line 26) | _ = proto.ProtoPackageIsVersion4 type Storage_Driver (line 28) | type Storage_Driver method Enum (line 50) | func (x Storage_Driver) Enum() *Storage_Driver { method String (line 56) | func (x Storage_Driver) String() string { method Descriptor (line 60) | func (Storage_Driver) Descriptor() protoreflect.EnumDescriptor { method Type (line 64) | func (Storage_Driver) Type() protoreflect.EnumType { method Number (line 68) | func (x Storage_Driver) Number() protoreflect.EnumNumber { method EnumDescriptor (line 73) | func (Storage_Driver) EnumDescriptor() ([]byte, []int) { constant Storage_UNKNOWN (line 31) | Storage_UNKNOWN Storage_Driver = 0 constant Storage_HDD (line 32) | Storage_HDD Storage_Driver = 1 constant Storage_SSD (line 33) | Storage_SSD Storage_Driver = 2 type Storage (line 77) | type Storage struct method Reset (line 86) | func (x *Storage) Reset() { method String (line 95) | func (x *Storage) String() string { method ProtoMessage (line 99) | func (*Storage) ProtoMessage() {} method ProtoReflect (line 101) | func (x *Storage) ProtoReflect() protoreflect.Message { method Descriptor (line 114) | func (*Storage) Descriptor() ([]byte, []int) { method GetDriver (line 118) | func (x *Storage) GetDriver() Storage_Driver { method GetMemory (line 125) | func (x *Storage) GetMemory() *Memory { function file_storage_message_proto_rawDescGZIP (line 160) | func file_storage_message_proto_rawDescGZIP() []byte { function init (line 184) | func init() { file_storage_message_proto_init() } function file_storage_message_proto_init (line 185) | func file_storage_message_proto_init() { FILE: sample/laptop.go function NewKeyboard (line 9) | func NewKeyboard() *pb.Keyboard { function NewCPU (line 19) | func NewCPU() *pb.CPU { function NewGPU (line 42) | func NewGPU() *pb.GPU { function NewRAM (line 65) | func NewRAM() *pb.Memory { function NewSSD (line 77) | func NewSSD() *pb.Storage { function NewHDD (line 92) | func NewHDD() *pb.Storage { function NewScreen (line 107) | func NewScreen() *pb.Screen { function NewLaptop (line 119) | func NewLaptop() *pb.Laptop { function RandomLaptopScore (line 145) | func RandomLaptopScore() float64 { FILE: sample/random.go function init (line 11) | func init() { function randomStringFromSet (line 15) | func randomStringFromSet(a ...string) string { function randomBool (line 23) | func randomBool() bool { function randomInt (line 27) | func randomInt(min, max int) int { function randomFloat64 (line 31) | func randomFloat64(min, max float64) float64 { function randomFloat32 (line 35) | func randomFloat32(min, max float32) float32 { function randomID (line 39) | func randomID() string { function randomKeyboardLayout (line 43) | func randomKeyboardLayout() pb.Keyboard_Layout { function randomScreenResolution (line 54) | func randomScreenResolution() *pb.Screen_Resolution { function randomScreenPanel (line 65) | func randomScreenPanel() pb.Screen_Panel { function randomCPUBrand (line 72) | func randomCPUBrand() string { function randomCPUName (line 76) | func randomCPUName(brand string) string { function randomGPUBrand (line 94) | func randomGPUBrand() string { function randomGPUName (line 98) | func randomGPUName(brand string) string { function randomLaptopBrand (line 116) | func randomLaptopBrand() string { function randomLaptopName (line 120) | func randomLaptopName(brand string) string { FILE: serializer/file.go function WriteProtobufToJSONFile (line 11) | func WriteProtobufToJSONFile(message proto.Message, filename string) err... function WriteProtobufToBinaryFile (line 26) | func WriteProtobufToBinaryFile(message proto.Message, filename string) e... function ReadProtobufFromBinaryFile (line 41) | func ReadProtobufFromBinaryFile(filename string, message proto.Message) ... FILE: serializer/file_test.go function TestFileSerializer (line 13) | func TestFileSerializer(t *testing.T) { FILE: serializer/json.go function ProtobufToJSON (line 9) | func ProtobufToJSON(message proto.Message) (string, error) { function JSONToProtobufMessage (line 21) | func JSONToProtobufMessage(data string, message proto.Message) error { FILE: service/auth_interceptor.go type AuthInterceptor (line 14) | type AuthInterceptor struct method Unary (line 25) | func (interceptor *AuthInterceptor) Unary() grpc.UnaryServerInterceptor { method Stream (line 44) | func (interceptor *AuthInterceptor) Stream() grpc.StreamServerIntercep... method authorize (line 62) | func (interceptor *AuthInterceptor) authorize(ctx context.Context, met... function NewAuthInterceptor (line 20) | func NewAuthInterceptor(jwtManager *JWTManager, accessibleRoles map[stri... FILE: service/auth_server.go type AuthServer (line 12) | type AuthServer struct method Login (line 24) | func (server *AuthServer) Login(ctx context.Context, req *pb.LoginRequ... function NewAuthServer (line 19) | func NewAuthServer(userStore UserStore, jwtManager *JWTManager) pb.AuthS... FILE: service/image_store.go type ImageStore (line 13) | type ImageStore interface type DiskImageStore (line 19) | type DiskImageStore struct method Save (line 41) | func (store *DiskImageStore) Save( type ImageInfo (line 26) | type ImageInfo struct function NewDiskImageStore (line 33) | func NewDiskImageStore(imageFolder string) *DiskImageStore { FILE: service/jwt_manager.go type JWTManager (line 11) | type JWTManager struct method Generate (line 29) | func (manager *JWTManager) Generate(user *User) (string, error) { method Verify (line 43) | func (manager *JWTManager) Verify(accessToken string) (*UserClaims, er... type UserClaims (line 17) | type UserClaims struct function NewJWTManager (line 24) | func NewJWTManager(secretKey string, tokenDuration time.Duration) *JWTMa... FILE: service/laptop_client_test.go function TestClientCreateLaptop (line 21) | func TestClientCreateLaptop(t *testing.T) { function TestClientSearchLaptop (line 48) | func TestClientSearchLaptop(t *testing.T) { function TestClientUploadImage (line 116) | func TestClientUploadImage(t *testing.T) { function TestClientRateLaptop (line 185) | func TestClientRateLaptop(t *testing.T) { function startTestLaptopServer (line 232) | func startTestLaptopServer(t *testing.T, laptopStore service.LaptopStore... function newTestLaptopClient (line 246) | func newTestLaptopClient(t *testing.T, serverAddress string) pb.LaptopSe... function requireSameLaptop (line 252) | func requireSameLaptop(t *testing.T, laptop1 *pb.Laptop, laptop2 *pb.Lap... FILE: service/laptop_server.go constant maxImageSize (line 16) | maxImageSize = 1 << 20 type LaptopServer (line 19) | type LaptopServer struct method CreateLaptop (line 36) | func (server *LaptopServer) CreateLaptop( method SearchLaptop (line 84) | func (server *LaptopServer) SearchLaptop( method UploadImage (line 114) | func (server *LaptopServer) UploadImage(stream pb.LaptopService_Upload... method RateLaptop (line 192) | func (server *LaptopServer) RateLaptop(stream pb.LaptopService_RateLap... function NewLaptopServer (line 27) | func NewLaptopServer(laptopStore LaptopStore, imageStore ImageStore, rat... function contextError (line 241) | func contextError(ctx context.Context) error { function logError (line 252) | func logError(err error) error { FILE: service/laptop_server_test.go function TestServerCreateLaptop (line 15) | func TestServerCreateLaptop(t *testing.T) { FILE: service/laptop_store.go type LaptopStore (line 18) | type LaptopStore interface type InMemoryLaptopStore (line 28) | type InMemoryLaptopStore struct method Save (line 41) | func (store *InMemoryLaptopStore) Save(laptop *pb.Laptop) error { method Find (line 59) | func (store *InMemoryLaptopStore) Find(id string) (*pb.Laptop, error) { method Search (line 72) | func (store *InMemoryLaptopStore) Search( function NewInMemoryLaptopStore (line 34) | func NewInMemoryLaptopStore() *InMemoryLaptopStore { function isQualified (line 105) | func isQualified(filter *pb.Filter, laptop *pb.Laptop) bool { function toBit (line 125) | func toBit(memory *pb.Memory) uint64 { function deepCopy (line 146) | func deepCopy(laptop *pb.Laptop) (*pb.Laptop, error) { FILE: service/rating_store.go type RatingStore (line 6) | type RatingStore interface type Rating (line 12) | type Rating struct type InMemoryRatingStore (line 18) | type InMemoryRatingStore struct method Add (line 31) | func (store *InMemoryRatingStore) Add(laptopID string, score float64) ... function NewInMemoryRatingStore (line 24) | func NewInMemoryRatingStore() *InMemoryRatingStore { FILE: service/user.go type User (line 10) | type User struct method IsCorrectPassword (line 33) | func (user *User) IsCorrectPassword(password string) bool { method Clone (line 39) | func (user *User) Clone() *User { function NewUser (line 17) | func NewUser(username string, password string, role string) (*User, erro... FILE: service/user_store.go type UserStore (line 6) | type UserStore interface type InMemoryUserStore (line 14) | type InMemoryUserStore struct method Save (line 27) | func (store *InMemoryUserStore) Save(user *User) error { method Find (line 40) | func (store *InMemoryUserStore) Find(username string) (*User, error) { function NewInMemoryUserStore (line 20) | func NewInMemoryUserStore() *InMemoryUserStore {