diff options
author | 2024-08-11 13:44:32 -0700 | |
---|---|---|
committer | 2024-08-11 13:45:00 -0700 | |
commit | e3510354ac1158d406da0add9bc3d8ef6c8f1a67 (patch) | |
tree | 3f1e0e4892ff51aa2e86a804795cc1d2082ce674 /backend/api/idb/stock/v1/stock.pb.go | |
parent | 44eb7aba6a10964cbfcc9735e1a7a0e6d959ba87 (diff) | |
download | ibd-trader-main.tar.gz ibd-trader-main.tar.zst ibd-trader-main.zip |
Diffstat (limited to '')
-rw-r--r-- | backend/api/idb/stock/v1/stock.pb.go | 1228 |
1 files changed, 1228 insertions, 0 deletions
diff --git a/backend/api/idb/stock/v1/stock.pb.go b/backend/api/idb/stock/v1/stock.pb.go new file mode 100644 index 0000000..8af539f --- /dev/null +++ b/backend/api/idb/stock/v1/stock.pb.go @@ -0,0 +1,1228 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.34.2 +// protoc (unknown) +// source: idb/stock/v1/stock.proto + +package stockv1 + +import ( + longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb" + money "google.golang.org/genproto/googleapis/type/money" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// StockListType represents the name of a stock list. +type StockListType int32 + +const ( + // Unspecified stock list type. + StockListType_STOCK_LIST_TYPE_UNSPECIFIED StockListType = 0 + // The IBD50 stock list. + StockListType_STOCK_LIST_TYPE_IBD50 StockListType = 1 + // The Cap20 stock list. + StockListType_STOCK_LIST_TYPE_CAP20 StockListType = 2 +) + +// Enum value maps for StockListType. +var ( + StockListType_name = map[int32]string{ + 0: "STOCK_LIST_TYPE_UNSPECIFIED", + 1: "STOCK_LIST_TYPE_IBD50", + 2: "STOCK_LIST_TYPE_CAP20", + } + StockListType_value = map[string]int32{ + "STOCK_LIST_TYPE_UNSPECIFIED": 0, + "STOCK_LIST_TYPE_IBD50": 1, + "STOCK_LIST_TYPE_CAP20": 2, + } +) + +func (x StockListType) Enum() *StockListType { + p := new(StockListType) + *p = x + return p +} + +func (x StockListType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (StockListType) Descriptor() protoreflect.EnumDescriptor { + return file_idb_stock_v1_stock_proto_enumTypes[0].Descriptor() +} + +func (StockListType) Type() protoreflect.EnumType { + return &file_idb_stock_v1_stock_proto_enumTypes[0] +} + +func (x StockListType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use StockListType.Descriptor instead. +func (StockListType) EnumDescriptor() ([]byte, []int) { + return file_idb_stock_v1_stock_proto_rawDescGZIP(), []int{0} +} + +// LetterGrade represents a letter grade from E to A+. +type LetterGrade int32 + +const ( + LetterGrade_LETTER_GRADE_UNSPECIFIED LetterGrade = 0 + LetterGrade_LETTER_GRADE_A_PLUS LetterGrade = 1 + LetterGrade_LETTER_GRADE_A LetterGrade = 2 + LetterGrade_LETTER_GRADE_A_MINUS LetterGrade = 3 + LetterGrade_LETTER_GRADE_B_PLUS LetterGrade = 4 + LetterGrade_LETTER_GRADE_B LetterGrade = 5 + LetterGrade_LETTER_GRADE_B_MINUS LetterGrade = 6 + LetterGrade_LETTER_GRADE_C_PLUS LetterGrade = 7 + LetterGrade_LETTER_GRADE_C LetterGrade = 8 + LetterGrade_LETTER_GRADE_C_MINUS LetterGrade = 9 + LetterGrade_LETTER_GRADE_D_PLUS LetterGrade = 10 + LetterGrade_LETTER_GRADE_D LetterGrade = 11 + LetterGrade_LETTER_GRADE_D_MINUS LetterGrade = 12 + LetterGrade_LETTER_GRADE_E_PLUS LetterGrade = 13 + LetterGrade_LETTER_GRADE_E LetterGrade = 14 +) + +// Enum value maps for LetterGrade. +var ( + LetterGrade_name = map[int32]string{ + 0: "LETTER_GRADE_UNSPECIFIED", + 1: "LETTER_GRADE_A_PLUS", + 2: "LETTER_GRADE_A", + 3: "LETTER_GRADE_A_MINUS", + 4: "LETTER_GRADE_B_PLUS", + 5: "LETTER_GRADE_B", + 6: "LETTER_GRADE_B_MINUS", + 7: "LETTER_GRADE_C_PLUS", + 8: "LETTER_GRADE_C", + 9: "LETTER_GRADE_C_MINUS", + 10: "LETTER_GRADE_D_PLUS", + 11: "LETTER_GRADE_D", + 12: "LETTER_GRADE_D_MINUS", + 13: "LETTER_GRADE_E_PLUS", + 14: "LETTER_GRADE_E", + } + LetterGrade_value = map[string]int32{ + "LETTER_GRADE_UNSPECIFIED": 0, + "LETTER_GRADE_A_PLUS": 1, + "LETTER_GRADE_A": 2, + "LETTER_GRADE_A_MINUS": 3, + "LETTER_GRADE_B_PLUS": 4, + "LETTER_GRADE_B": 5, + "LETTER_GRADE_B_MINUS": 6, + "LETTER_GRADE_C_PLUS": 7, + "LETTER_GRADE_C": 8, + "LETTER_GRADE_C_MINUS": 9, + "LETTER_GRADE_D_PLUS": 10, + "LETTER_GRADE_D": 11, + "LETTER_GRADE_D_MINUS": 12, + "LETTER_GRADE_E_PLUS": 13, + "LETTER_GRADE_E": 14, + } +) + +func (x LetterGrade) Enum() *LetterGrade { + p := new(LetterGrade) + *p = x + return p +} + +func (x LetterGrade) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (LetterGrade) Descriptor() protoreflect.EnumDescriptor { + return file_idb_stock_v1_stock_proto_enumTypes[1].Descriptor() +} + +func (LetterGrade) Type() protoreflect.EnumType { + return &file_idb_stock_v1_stock_proto_enumTypes[1] +} + +func (x LetterGrade) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use LetterGrade.Descriptor instead. +func (LetterGrade) EnumDescriptor() ([]byte, []int) { + return file_idb_stock_v1_stock_proto_rawDescGZIP(), []int{1} +} + +// Stock represents a stock. +type Stock struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The ticker symbol of the stock (e.g. "AAPL"). + Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` + // The name of the stock (e.g. "Apple Inc."). + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The URL to the IBD page for the stock. + IbdUrl *string `protobuf:"bytes,3,opt,name=ibd_url,json=ibdUrl,proto3,oneof" json:"ibd_url,omitempty"` + // The most recent ratings for the stock. + Ratings *StockRatings `protobuf:"bytes,4,opt,name=ratings,proto3" json:"ratings,omitempty"` +} + +func (x *Stock) Reset() { + *x = Stock{} + if protoimpl.UnsafeEnabled { + mi := &file_idb_stock_v1_stock_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Stock) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Stock) ProtoMessage() {} + +func (x *Stock) ProtoReflect() protoreflect.Message { + mi := &file_idb_stock_v1_stock_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Stock.ProtoReflect.Descriptor instead. +func (*Stock) Descriptor() ([]byte, []int) { + return file_idb_stock_v1_stock_proto_rawDescGZIP(), []int{0} +} + +func (x *Stock) GetSymbol() string { + if x != nil { + return x.Symbol + } + return "" +} + +func (x *Stock) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Stock) GetIbdUrl() string { + if x != nil && x.IbdUrl != nil { + return *x.IbdUrl + } + return "" +} + +func (x *Stock) GetRatings() *StockRatings { + if x != nil { + return x.Ratings + } + return nil +} + +// StockRatings represents the ratings for a stock scraped from IBD. +type StockRatings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Unique identifier for this stock rating instance. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The ratings for the stock. + Ratings *StockRatings_Ratings `protobuf:"bytes,3,opt,name=ratings,proto3" json:"ratings,omitempty"` + // The price of the stock at the time of the ratings being scraped. + Price *money.Money `protobuf:"bytes,4,opt,name=price,proto3" json:"price,omitempty"` + // The time the ratings were scraped. + LastUpdate *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=last_update,json=lastUpdate,proto3" json:"last_update,omitempty"` + // The chart analysis for the stock. + ChartAnalysis *ChartAnalysis `protobuf:"bytes,6,opt,name=chart_analysis,json=chartAnalysis,proto3" json:"chart_analysis,omitempty"` +} + +func (x *StockRatings) Reset() { + *x = StockRatings{} + if protoimpl.UnsafeEnabled { + mi := &file_idb_stock_v1_stock_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StockRatings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StockRatings) ProtoMessage() {} + +func (x *StockRatings) ProtoReflect() protoreflect.Message { + mi := &file_idb_stock_v1_stock_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StockRatings.ProtoReflect.Descriptor instead. +func (*StockRatings) Descriptor() ([]byte, []int) { + return file_idb_stock_v1_stock_proto_rawDescGZIP(), []int{1} +} + +func (x *StockRatings) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *StockRatings) GetRatings() *StockRatings_Ratings { + if x != nil { + return x.Ratings + } + return nil +} + +func (x *StockRatings) GetPrice() *money.Money { + if x != nil { + return x.Price + } + return nil +} + +func (x *StockRatings) GetLastUpdate() *timestamppb.Timestamp { + if x != nil { + return x.LastUpdate + } + return nil +} + +func (x *StockRatings) GetChartAnalysis() *ChartAnalysis { + if x != nil { + return x.ChartAnalysis + } + return nil +} + +// ChartAnalysis represents the chart analysis for a stock. +type ChartAnalysis struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Unique identifier for this chart analysis instance. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // The raw analysis. + RawAnalysis string `protobuf:"bytes,2,opt,name=raw_analysis,json=rawAnalysis,proto3" json:"raw_analysis,omitempty"` +} + +func (x *ChartAnalysis) Reset() { + *x = ChartAnalysis{} + if protoimpl.UnsafeEnabled { + mi := &file_idb_stock_v1_stock_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChartAnalysis) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChartAnalysis) ProtoMessage() {} + +func (x *ChartAnalysis) ProtoReflect() protoreflect.Message { + mi := &file_idb_stock_v1_stock_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChartAnalysis.ProtoReflect.Descriptor instead. +func (*ChartAnalysis) Descriptor() ([]byte, []int) { + return file_idb_stock_v1_stock_proto_rawDescGZIP(), []int{2} +} + +func (x *ChartAnalysis) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *ChartAnalysis) GetRawAnalysis() string { + if x != nil { + return x.RawAnalysis + } + return "" +} + +type StockScrapeOperationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` + StartTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` +} + +func (x *StockScrapeOperationMetadata) Reset() { + *x = StockScrapeOperationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_idb_stock_v1_stock_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StockScrapeOperationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StockScrapeOperationMetadata) ProtoMessage() {} + +func (x *StockScrapeOperationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_idb_stock_v1_stock_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StockScrapeOperationMetadata.ProtoReflect.Descriptor instead. +func (*StockScrapeOperationMetadata) Descriptor() ([]byte, []int) { + return file_idb_stock_v1_stock_proto_rawDescGZIP(), []int{3} +} + +func (x *StockScrapeOperationMetadata) GetSymbol() string { + if x != nil { + return x.Symbol + } + return "" +} + +func (x *StockScrapeOperationMetadata) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +type CreateStockRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` +} + +func (x *CreateStockRequest) Reset() { + *x = CreateStockRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_idb_stock_v1_stock_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateStockRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateStockRequest) ProtoMessage() {} + +func (x *CreateStockRequest) ProtoReflect() protoreflect.Message { + mi := &file_idb_stock_v1_stock_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateStockRequest.ProtoReflect.Descriptor instead. +func (*CreateStockRequest) Descriptor() ([]byte, []int) { + return file_idb_stock_v1_stock_proto_rawDescGZIP(), []int{4} +} + +func (x *CreateStockRequest) GetSymbol() string { + if x != nil { + return x.Symbol + } + return "" +} + +type CreateStockResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Operation *longrunningpb.Operation `protobuf:"bytes,1,opt,name=operation,proto3" json:"operation,omitempty"` +} + +func (x *CreateStockResponse) Reset() { + *x = CreateStockResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_idb_stock_v1_stock_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateStockResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateStockResponse) ProtoMessage() {} + +func (x *CreateStockResponse) ProtoReflect() protoreflect.Message { + mi := &file_idb_stock_v1_stock_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateStockResponse.ProtoReflect.Descriptor instead. +func (*CreateStockResponse) Descriptor() ([]byte, []int) { + return file_idb_stock_v1_stock_proto_rawDescGZIP(), []int{5} +} + +func (x *CreateStockResponse) GetOperation() *longrunningpb.Operation { + if x != nil { + return x.Operation + } + return nil +} + +type GetStockRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Symbol string `protobuf:"bytes,1,opt,name=symbol,proto3" json:"symbol,omitempty"` +} + +func (x *GetStockRequest) Reset() { + *x = GetStockRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_idb_stock_v1_stock_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetStockRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStockRequest) ProtoMessage() {} + +func (x *GetStockRequest) ProtoReflect() protoreflect.Message { + mi := &file_idb_stock_v1_stock_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStockRequest.ProtoReflect.Descriptor instead. +func (*GetStockRequest) Descriptor() ([]byte, []int) { + return file_idb_stock_v1_stock_proto_rawDescGZIP(), []int{6} +} + +func (x *GetStockRequest) GetSymbol() string { + if x != nil { + return x.Symbol + } + return "" +} + +type GetStockResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Stock *Stock `protobuf:"bytes,1,opt,name=stock,proto3" json:"stock,omitempty"` +} + +func (x *GetStockResponse) Reset() { + *x = GetStockResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_idb_stock_v1_stock_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetStockResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStockResponse) ProtoMessage() {} + +func (x *GetStockResponse) ProtoReflect() protoreflect.Message { + mi := &file_idb_stock_v1_stock_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStockResponse.ProtoReflect.Descriptor instead. +func (*GetStockResponse) Descriptor() ([]byte, []int) { + return file_idb_stock_v1_stock_proto_rawDescGZIP(), []int{7} +} + +func (x *GetStockResponse) GetStock() *Stock { + if x != nil { + return x.Stock + } + return nil +} + +type ListStocksRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type StockListType `protobuf:"varint,1,opt,name=type,proto3,enum=idb.stock.v1.StockListType" json:"type,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` +} + +func (x *ListStocksRequest) Reset() { + *x = ListStocksRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_idb_stock_v1_stock_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListStocksRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListStocksRequest) ProtoMessage() {} + +func (x *ListStocksRequest) ProtoReflect() protoreflect.Message { + mi := &file_idb_stock_v1_stock_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListStocksRequest.ProtoReflect.Descriptor instead. +func (*ListStocksRequest) Descriptor() ([]byte, []int) { + return file_idb_stock_v1_stock_proto_rawDescGZIP(), []int{8} +} + +func (x *ListStocksRequest) GetType() StockListType { + if x != nil { + return x.Type + } + return StockListType_STOCK_LIST_TYPE_UNSPECIFIED +} + +func (x *ListStocksRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListStocksRequest) GetPageToken() string { + if x != nil { + return x.PageToken + } + return "" +} + +type ListStocksResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Stocks []*Stock `protobuf:"bytes,1,rep,name=stocks,proto3" json:"stocks,omitempty"` + LastUpdate *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_update,json=lastUpdate,proto3" json:"last_update,omitempty"` + NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` +} + +func (x *ListStocksResponse) Reset() { + *x = ListStocksResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_idb_stock_v1_stock_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListStocksResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListStocksResponse) ProtoMessage() {} + +func (x *ListStocksResponse) ProtoReflect() protoreflect.Message { + mi := &file_idb_stock_v1_stock_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListStocksResponse.ProtoReflect.Descriptor instead. +func (*ListStocksResponse) Descriptor() ([]byte, []int) { + return file_idb_stock_v1_stock_proto_rawDescGZIP(), []int{9} +} + +func (x *ListStocksResponse) GetStocks() []*Stock { + if x != nil { + return x.Stocks + } + return nil +} + +func (x *ListStocksResponse) GetLastUpdate() *timestamppb.Timestamp { + if x != nil { + return x.LastUpdate + } + return nil +} + +func (x *ListStocksResponse) GetNextPageToken() string { + if x != nil { + return x.NextPageToken + } + return "" +} + +// Ratings for the stock. +type StockRatings_Ratings struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The composite rating. (1-99) + Composite uint32 `protobuf:"varint,1,opt,name=composite,proto3" json:"composite,omitempty"` + // The EPS rating. (1-99) + Eps uint32 `protobuf:"varint,2,opt,name=eps,proto3" json:"eps,omitempty"` + // The relative strength rating. (1-99) + RelativeStrength uint32 `protobuf:"varint,3,opt,name=relative_strength,json=relativeStrength,proto3" json:"relative_strength,omitempty"` + // The group relative strength rating. (E-A+) + GroupRelStrength LetterGrade `protobuf:"varint,4,opt,name=group_rel_strength,json=groupRelStrength,proto3,enum=idb.stock.v1.LetterGrade" json:"group_rel_strength,omitempty"` + // The SMR rating. (E-A+) + Smr LetterGrade `protobuf:"varint,5,opt,name=smr,proto3,enum=idb.stock.v1.LetterGrade" json:"smr,omitempty"` + // The accumulation/distribution rating. (E-A+) + AccDis LetterGrade `protobuf:"varint,6,opt,name=acc_dis,json=accDis,proto3,enum=idb.stock.v1.LetterGrade" json:"acc_dis,omitempty"` +} + +func (x *StockRatings_Ratings) Reset() { + *x = StockRatings_Ratings{} + if protoimpl.UnsafeEnabled { + mi := &file_idb_stock_v1_stock_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *StockRatings_Ratings) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StockRatings_Ratings) ProtoMessage() {} + +func (x *StockRatings_Ratings) ProtoReflect() protoreflect.Message { + mi := &file_idb_stock_v1_stock_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StockRatings_Ratings.ProtoReflect.Descriptor instead. +func (*StockRatings_Ratings) Descriptor() ([]byte, []int) { + return file_idb_stock_v1_stock_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *StockRatings_Ratings) GetComposite() uint32 { + if x != nil { + return x.Composite + } + return 0 +} + +func (x *StockRatings_Ratings) GetEps() uint32 { + if x != nil { + return x.Eps + } + return 0 +} + +func (x *StockRatings_Ratings) GetRelativeStrength() uint32 { + if x != nil { + return x.RelativeStrength + } + return 0 +} + +func (x *StockRatings_Ratings) GetGroupRelStrength() LetterGrade { + if x != nil { + return x.GroupRelStrength + } + return LetterGrade_LETTER_GRADE_UNSPECIFIED +} + +func (x *StockRatings_Ratings) GetSmr() LetterGrade { + if x != nil { + return x.Smr + } + return LetterGrade_LETTER_GRADE_UNSPECIFIED +} + +func (x *StockRatings_Ratings) GetAccDis() LetterGrade { + if x != nil { + return x.AccDis + } + return LetterGrade_LETTER_GRADE_UNSPECIFIED +} + +var File_idb_stock_v1_stock_proto protoreflect.FileDescriptor + +var file_idb_stock_v1_stock_proto_rawDesc = []byte{ + 0x0a, 0x18, 0x69, 0x64, 0x62, 0x2f, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x2f, 0x76, 0x31, 0x2f, 0x73, + 0x74, 0x6f, 0x63, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x69, 0x64, 0x62, 0x2e, + 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, + 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x6f, 0x63, + 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, + 0x07, 0x69, 0x62, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x06, 0x69, 0x62, 0x64, 0x55, 0x72, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x07, 0x72, + 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x69, + 0x64, 0x62, 0x2e, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x63, + 0x6b, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x07, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x62, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x9a, 0x04, + 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3c, + 0x0a, 0x07, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x69, 0x64, 0x62, 0x2e, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x74, 0x6f, 0x63, 0x6b, 0x52, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x52, 0x07, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x28, 0x0a, 0x05, + 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, + 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x69, 0x64, + 0x62, 0x2e, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x74, + 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x72, 0x74, 0x41, + 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x1a, 0x90, 0x02, 0x0a, 0x07, 0x52, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x70, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, + 0x65, 0x70, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x12, 0x47, 0x0a, 0x12, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x6c, 0x5f, 0x73, 0x74, + 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x69, + 0x64, 0x62, 0x2e, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x74, 0x74, + 0x65, 0x72, 0x47, 0x72, 0x61, 0x64, 0x65, 0x52, 0x10, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, + 0x6c, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x2b, 0x0a, 0x03, 0x73, 0x6d, 0x72, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x69, 0x64, 0x62, 0x2e, 0x73, 0x74, 0x6f, + 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x47, 0x72, 0x61, 0x64, + 0x65, 0x52, 0x03, 0x73, 0x6d, 0x72, 0x12, 0x32, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x5f, 0x64, 0x69, + 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x69, 0x64, 0x62, 0x2e, 0x73, 0x74, + 0x6f, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x47, 0x72, 0x61, + 0x64, 0x65, 0x52, 0x06, 0x61, 0x63, 0x63, 0x44, 0x69, 0x73, 0x22, 0x42, 0x0a, 0x0d, 0x43, 0x68, + 0x61, 0x72, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, + 0x61, 0x77, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x72, 0x61, 0x77, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x22, 0x71, + 0x0a, 0x1c, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x53, 0x63, 0x72, 0x61, 0x70, 0x65, 0x4f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x22, 0x2c, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x63, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x22, + 0x52, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x29, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x22, 0x3d, + 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x29, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x69, 0x64, 0x62, 0x2e, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x22, 0x80, 0x01, + 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x1b, 0x2e, 0x69, 0x64, 0x62, 0x2e, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0xa6, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x6f, 0x63, 0x6b, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x69, 0x64, 0x62, 0x2e, 0x73, 0x74, + 0x6f, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x52, 0x06, 0x73, 0x74, + 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, + 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2a, 0x66, 0x0a, 0x0d, 0x53, 0x74, 0x6f, + 0x63, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x53, 0x54, + 0x4f, 0x43, 0x4b, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x53, + 0x54, 0x4f, 0x43, 0x4b, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, + 0x42, 0x44, 0x35, 0x30, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x54, 0x4f, 0x43, 0x4b, 0x5f, + 0x4c, 0x49, 0x53, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x50, 0x32, 0x30, 0x10, + 0x02, 0x2a, 0xf4, 0x02, 0x0a, 0x0b, 0x4c, 0x65, 0x74, 0x74, 0x65, 0x72, 0x47, 0x72, 0x61, 0x64, + 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x45, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x47, 0x52, 0x41, 0x44, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x17, 0x0a, 0x13, 0x4c, 0x45, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x47, 0x52, 0x41, 0x44, 0x45, 0x5f, + 0x41, 0x5f, 0x50, 0x4c, 0x55, 0x53, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x45, 0x54, 0x54, + 0x45, 0x52, 0x5f, 0x47, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x41, 0x10, 0x02, 0x12, 0x18, 0x0a, 0x14, + 0x4c, 0x45, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x47, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x41, 0x5f, 0x4d, + 0x49, 0x4e, 0x55, 0x53, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x45, 0x54, 0x54, 0x45, 0x52, + 0x5f, 0x47, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x42, 0x5f, 0x50, 0x4c, 0x55, 0x53, 0x10, 0x04, 0x12, + 0x12, 0x0a, 0x0e, 0x4c, 0x45, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x47, 0x52, 0x41, 0x44, 0x45, 0x5f, + 0x42, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x45, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x47, 0x52, + 0x41, 0x44, 0x45, 0x5f, 0x42, 0x5f, 0x4d, 0x49, 0x4e, 0x55, 0x53, 0x10, 0x06, 0x12, 0x17, 0x0a, + 0x13, 0x4c, 0x45, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x47, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x43, 0x5f, + 0x50, 0x4c, 0x55, 0x53, 0x10, 0x07, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x45, 0x54, 0x54, 0x45, 0x52, + 0x5f, 0x47, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x43, 0x10, 0x08, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x45, + 0x54, 0x54, 0x45, 0x52, 0x5f, 0x47, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x43, 0x5f, 0x4d, 0x49, 0x4e, + 0x55, 0x53, 0x10, 0x09, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x45, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x47, + 0x52, 0x41, 0x44, 0x45, 0x5f, 0x44, 0x5f, 0x50, 0x4c, 0x55, 0x53, 0x10, 0x0a, 0x12, 0x12, 0x0a, + 0x0e, 0x4c, 0x45, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x47, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x44, 0x10, + 0x0b, 0x12, 0x18, 0x0a, 0x14, 0x4c, 0x45, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x47, 0x52, 0x41, 0x44, + 0x45, 0x5f, 0x44, 0x5f, 0x4d, 0x49, 0x4e, 0x55, 0x53, 0x10, 0x0c, 0x12, 0x17, 0x0a, 0x13, 0x4c, + 0x45, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x47, 0x52, 0x41, 0x44, 0x45, 0x5f, 0x45, 0x5f, 0x50, 0x4c, + 0x55, 0x53, 0x10, 0x0d, 0x12, 0x12, 0x0a, 0x0e, 0x4c, 0x45, 0x54, 0x54, 0x45, 0x52, 0x5f, 0x47, + 0x52, 0x41, 0x44, 0x45, 0x5f, 0x45, 0x10, 0x0e, 0x32, 0xa8, 0x02, 0x0a, 0x0c, 0x53, 0x74, 0x6f, + 0x63, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7c, 0x0a, 0x0b, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x12, 0x20, 0x2e, 0x69, 0x64, 0x62, 0x2e, 0x73, + 0x74, 0x6f, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x69, 0x64, 0x62, + 0x2e, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x28, 0xca, + 0x41, 0x25, 0x0a, 0x05, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x12, 0x1c, 0x53, 0x74, 0x6f, 0x63, 0x6b, + 0x53, 0x63, 0x72, 0x61, 0x70, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x53, 0x74, + 0x6f, 0x63, 0x6b, 0x12, 0x1d, 0x2e, 0x69, 0x64, 0x62, 0x2e, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x69, 0x64, 0x62, 0x2e, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x73, + 0x12, 0x1f, 0x2e, 0x69, 0x64, 0x62, 0x2e, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x20, 0x2e, 0x69, 0x64, 0x62, 0x2e, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x42, 0xb0, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x69, 0x64, 0x62, 0x2e, + 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x6e, 0x73, 0x67, 0x31, 0x39, 0x31, 0x2f, 0x69, 0x62, 0x64, 0x2d, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x72, 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x69, 0x64, 0x62, 0x2f, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x2f, 0x76, 0x31, 0x3b, 0x73, + 0x74, 0x6f, 0x63, 0x6b, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x49, 0x53, 0x58, 0xaa, 0x02, 0x0c, 0x49, + 0x64, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0c, 0x49, 0x64, + 0x62, 0x5c, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x18, 0x49, 0x64, 0x62, + 0x5c, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x49, 0x64, 0x62, 0x3a, 0x3a, 0x53, 0x74, 0x6f, + 0x63, 0x6b, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_idb_stock_v1_stock_proto_rawDescOnce sync.Once + file_idb_stock_v1_stock_proto_rawDescData = file_idb_stock_v1_stock_proto_rawDesc +) + +func file_idb_stock_v1_stock_proto_rawDescGZIP() []byte { + file_idb_stock_v1_stock_proto_rawDescOnce.Do(func() { + file_idb_stock_v1_stock_proto_rawDescData = protoimpl.X.CompressGZIP(file_idb_stock_v1_stock_proto_rawDescData) + }) + return file_idb_stock_v1_stock_proto_rawDescData +} + +var file_idb_stock_v1_stock_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_idb_stock_v1_stock_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_idb_stock_v1_stock_proto_goTypes = []any{ + (StockListType)(0), // 0: idb.stock.v1.StockListType + (LetterGrade)(0), // 1: idb.stock.v1.LetterGrade + (*Stock)(nil), // 2: idb.stock.v1.Stock + (*StockRatings)(nil), // 3: idb.stock.v1.StockRatings + (*ChartAnalysis)(nil), // 4: idb.stock.v1.ChartAnalysis + (*StockScrapeOperationMetadata)(nil), // 5: idb.stock.v1.StockScrapeOperationMetadata + (*CreateStockRequest)(nil), // 6: idb.stock.v1.CreateStockRequest + (*CreateStockResponse)(nil), // 7: idb.stock.v1.CreateStockResponse + (*GetStockRequest)(nil), // 8: idb.stock.v1.GetStockRequest + (*GetStockResponse)(nil), // 9: idb.stock.v1.GetStockResponse + (*ListStocksRequest)(nil), // 10: idb.stock.v1.ListStocksRequest + (*ListStocksResponse)(nil), // 11: idb.stock.v1.ListStocksResponse + (*StockRatings_Ratings)(nil), // 12: idb.stock.v1.StockRatings.Ratings + (*money.Money)(nil), // 13: google.type.Money + (*timestamppb.Timestamp)(nil), // 14: google.protobuf.Timestamp + (*longrunningpb.Operation)(nil), // 15: google.longrunning.Operation +} +var file_idb_stock_v1_stock_proto_depIdxs = []int32{ + 3, // 0: idb.stock.v1.Stock.ratings:type_name -> idb.stock.v1.StockRatings + 12, // 1: idb.stock.v1.StockRatings.ratings:type_name -> idb.stock.v1.StockRatings.Ratings + 13, // 2: idb.stock.v1.StockRatings.price:type_name -> google.type.Money + 14, // 3: idb.stock.v1.StockRatings.last_update:type_name -> google.protobuf.Timestamp + 4, // 4: idb.stock.v1.StockRatings.chart_analysis:type_name -> idb.stock.v1.ChartAnalysis + 14, // 5: idb.stock.v1.StockScrapeOperationMetadata.start_time:type_name -> google.protobuf.Timestamp + 15, // 6: idb.stock.v1.CreateStockResponse.operation:type_name -> google.longrunning.Operation + 2, // 7: idb.stock.v1.GetStockResponse.stock:type_name -> idb.stock.v1.Stock + 0, // 8: idb.stock.v1.ListStocksRequest.type:type_name -> idb.stock.v1.StockListType + 2, // 9: idb.stock.v1.ListStocksResponse.stocks:type_name -> idb.stock.v1.Stock + 14, // 10: idb.stock.v1.ListStocksResponse.last_update:type_name -> google.protobuf.Timestamp + 1, // 11: idb.stock.v1.StockRatings.Ratings.group_rel_strength:type_name -> idb.stock.v1.LetterGrade + 1, // 12: idb.stock.v1.StockRatings.Ratings.smr:type_name -> idb.stock.v1.LetterGrade + 1, // 13: idb.stock.v1.StockRatings.Ratings.acc_dis:type_name -> idb.stock.v1.LetterGrade + 6, // 14: idb.stock.v1.StockService.CreateStock:input_type -> idb.stock.v1.CreateStockRequest + 8, // 15: idb.stock.v1.StockService.GetStock:input_type -> idb.stock.v1.GetStockRequest + 10, // 16: idb.stock.v1.StockService.ListStocks:input_type -> idb.stock.v1.ListStocksRequest + 7, // 17: idb.stock.v1.StockService.CreateStock:output_type -> idb.stock.v1.CreateStockResponse + 9, // 18: idb.stock.v1.StockService.GetStock:output_type -> idb.stock.v1.GetStockResponse + 11, // 19: idb.stock.v1.StockService.ListStocks:output_type -> idb.stock.v1.ListStocksResponse + 17, // [17:20] is the sub-list for method output_type + 14, // [14:17] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_idb_stock_v1_stock_proto_init() } +func file_idb_stock_v1_stock_proto_init() { + if File_idb_stock_v1_stock_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_idb_stock_v1_stock_proto_msgTypes[0].Exporter = func(v any, i int) any { + switch v := v.(*Stock); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_idb_stock_v1_stock_proto_msgTypes[1].Exporter = func(v any, i int) any { + switch v := v.(*StockRatings); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_idb_stock_v1_stock_proto_msgTypes[2].Exporter = func(v any, i int) any { + switch v := v.(*ChartAnalysis); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_idb_stock_v1_stock_proto_msgTypes[3].Exporter = func(v any, i int) any { + switch v := v.(*StockScrapeOperationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_idb_stock_v1_stock_proto_msgTypes[4].Exporter = func(v any, i int) any { + switch v := v.(*CreateStockRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_idb_stock_v1_stock_proto_msgTypes[5].Exporter = func(v any, i int) any { + switch v := v.(*CreateStockResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_idb_stock_v1_stock_proto_msgTypes[6].Exporter = func(v any, i int) any { + switch v := v.(*GetStockRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_idb_stock_v1_stock_proto_msgTypes[7].Exporter = func(v any, i int) any { + switch v := v.(*GetStockResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_idb_stock_v1_stock_proto_msgTypes[8].Exporter = func(v any, i int) any { + switch v := v.(*ListStocksRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_idb_stock_v1_stock_proto_msgTypes[9].Exporter = func(v any, i int) any { + switch v := v.(*ListStocksResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_idb_stock_v1_stock_proto_msgTypes[10].Exporter = func(v any, i int) any { + switch v := v.(*StockRatings_Ratings); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_idb_stock_v1_stock_proto_msgTypes[0].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_idb_stock_v1_stock_proto_rawDesc, + NumEnums: 2, + NumMessages: 11, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_idb_stock_v1_stock_proto_goTypes, + DependencyIndexes: file_idb_stock_v1_stock_proto_depIdxs, + EnumInfos: file_idb_stock_v1_stock_proto_enumTypes, + MessageInfos: file_idb_stock_v1_stock_proto_msgTypes, + }.Build() + File_idb_stock_v1_stock_proto = out.File + file_idb_stock_v1_stock_proto_rawDesc = nil + file_idb_stock_v1_stock_proto_goTypes = nil + file_idb_stock_v1_stock_proto_depIdxs = nil +} |