diff --git a/.gitignore b/.gitignore
index e5f2524..a81722c 100644
Binary files a/.gitignore and b/.gitignore differ
diff --git a/client/src/components/pages/StatisticPage.vue b/client/src/components/pages/StatisticPage.vue
index a3c78bf..b5e8cf6 100644
--- a/client/src/components/pages/StatisticPage.vue
+++ b/client/src/components/pages/StatisticPage.vue
@@ -31,6 +31,7 @@
type="date"
:max="new Date().toISOString().split('T')[0]"
@change="updateDateLimits()"
+ required
/>
@@ -43,10 +44,27 @@
min=""
max=""
disabled
+ required
/>
+
+
Типы растений
+
+
+
+
Условия освещения
+
+
+
+
+
+
Работа с базой данных
@@ -94,7 +112,10 @@ export default {
statType: '',
dateFrom: '',
dateTo: '',
+ lighting: [],
chart: false,
+ types: [],
+ selectedTypes: [],
data: {
labels: [],
datasets: []
@@ -158,6 +179,16 @@ export default {
};
},
+ created() {
+ axios
+ .get(`/api/plants/types/typesArray`)
+ .then((response) => {
+ response.data.types.forEach(elem => {
+ this.types.push(elem);
+ });
+ })
+ },
+
methods: {
updateDateLimits() {
const today = new Date().toISOString().split("T")[0];
@@ -183,17 +214,28 @@ export default {
},
getStatistic() {
- this.chart = false
- const datePeriod = {
- filter: {
- timeFrom: this.formatTimeFrom(this.dateFrom),
- timeTo: this.formatTimeTo(this.dateTo)
+ this.chart = false;
+ let filter = {};
+ if (this.statType === "plants") {
+ filter = {
+ filter: {
+ timeFrom: this.formatTimeFrom(this.dateFrom),
+ timeTo: this.formatTimeTo(this.dateTo),
+ },
+ type: this.selectedTypes,
+ lightCondition: this.lighting
+ }
+ } else {
+ filter = {
+ filter: {
+ timeFrom: this.formatTimeFrom(this.dateFrom),
+ timeTo: this.formatTimeTo(this.dateTo)
+ }
}
}
this.data = { datasets: [], labels: [] };
-
axios
- .post(`/api/stats/${this.statType}`, datePeriod)
+ .post(`/api/stats/${this.statType}`, filter)
.then((response) => {
if (this.statType === 'plants') {
if (Object.keys(response.data).length === 0) {
@@ -448,4 +490,12 @@ export default {
padding: 10px;
background-color: #FFFFFF;
}
+
+.scrollable-checkboxes {
+ max-height: 120px;
+ overflow-y: auto;
+ border: 1px solid #ccc;
+ padding: 10px;
+ border-radius: 4px;
+}
\ No newline at end of file
diff --git a/server/api/plants/v1/plants.proto b/server/api/plants/v1/plants.proto
index 9b24401..79b9c50 100644
--- a/server/api/plants/v1/plants.proto
+++ b/server/api/plants/v1/plants.proto
@@ -85,6 +85,11 @@ service PlantsAPI {
get: "/api/plants/archive/{userId}"
};
};
+ rpc ListPlantTypesV1(GetPlantTypesV1Request) returns (GetPlantTypesV1Response) {
+ option (google.api.http) = {
+ get: "/api/plants/types/typesArray"
+ };
+ };
}
message Filter {
@@ -285,4 +290,12 @@ message GetArchivedPlantsV1Request{
}
message GetArchivedPlantsV1Response{
repeated Plant plants = 1;
+}
+
+message GetPlantTypesV1Request {
+
+}
+
+message GetPlantTypesV1Response {
+ repeated string types = 1;
}
\ No newline at end of file
diff --git a/server/api/stats/v1/stats.proto b/server/api/stats/v1/stats.proto
index 689cda3..186924b 100644
--- a/server/api/stats/v1/stats.proto
+++ b/server/api/stats/v1/stats.proto
@@ -41,6 +41,8 @@ service StatsAPI {
message GetPlantsStatsV1Request{
TimeFilter filter = 1;
+ repeated string type = 2;
+ repeated string lightCondition = 3;
}
message GetPlantsStatsV1Response{
message StatsInfo {
diff --git a/server/internal/handlers/plants/list_plant_types_v1.go b/server/internal/handlers/plants/list_plant_types_v1.go
new file mode 100644
index 0000000..1b1f1fd
--- /dev/null
+++ b/server/internal/handlers/plants/list_plant_types_v1.go
@@ -0,0 +1,22 @@
+package plants
+
+import (
+ "context"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/status"
+
+ api "plants/internal/pkg/pb/plants/v1"
+)
+
+func (h *Handler) ListPlantTypesV1(
+ ctx context.Context,
+ req *api.GetPlantTypesV1Request,
+) (*api.GetPlantTypesV1Response, error) {
+ types, err := h.storage.GetTypes(ctx)
+ if err != nil {
+ return nil, status.Errorf(codes.Internal, "some error occured while getting types %v", err)
+ }
+ return &api.GetPlantTypesV1Response{
+ Types: types,
+ }, nil
+}
diff --git a/server/internal/handlers/plants/service.go b/server/internal/handlers/plants/service.go
index c3ec503..72f98c1 100644
--- a/server/internal/handlers/plants/service.go
+++ b/server/internal/handlers/plants/service.go
@@ -27,6 +27,7 @@ type Storage interface {
AddTradeToUser(ctx context.Context, userId, tradeId primitive.ObjectID) error
GetPlantsByUserId(ctx context.Context, userId string, isSold bool) ([]*models.Plant, error)
AddPlantToUser(ctx context.Context, plant *models.Plant) error
+ GetTypes(ctx context.Context) ([]string, error)
}
type Handler struct {
diff --git a/server/internal/handlers/stats/get_plants_stats_v1.go b/server/internal/handlers/stats/get_plants_stats_v1.go
index 656eabe..dbdef65 100644
--- a/server/internal/handlers/stats/get_plants_stats_v1.go
+++ b/server/internal/handlers/stats/get_plants_stats_v1.go
@@ -12,6 +12,12 @@ func (h *Handler) GetPlantsStatsV1(ctx context.Context,
req *api.GetPlantsStatsV1Request,
) (*api.GetPlantsStatsV1Response, error) {
fltr := parseFilter(req.Filter)
+ if len(req.LightCondition) != 0 {
+ fltr["light_condition"] = req.LightCondition
+ }
+ if len(req.Type) != 0 {
+ fltr["type"] = req.Type
+ }
plants, err := h.storage.GetPlantsStats(ctx, fltr)
if err != nil {
return nil, status.Errorf(codes.Internal, "Error occured %v", err)
diff --git a/server/internal/pkg/pb/data/v1/data.pb.go b/server/internal/pkg/pb/data/v1/data.pb.go
index e89ba54..a3d4161 100644
--- a/server/internal/pkg/pb/data/v1/data.pb.go
+++ b/server/internal/pkg/pb/data/v1/data.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.35.1
-// protoc v5.29.0--rc2
+// protoc-gen-go v1.35.2
+// protoc v3.6.1
// source: data/v1/data.proto
package data_v1
diff --git a/server/internal/pkg/pb/data/v1/data_grpc.pb.go b/server/internal/pkg/pb/data/v1/data_grpc.pb.go
index 9a5e47d..44e3746 100644
--- a/server/internal/pkg/pb/data/v1/data_grpc.pb.go
+++ b/server/internal/pkg/pb/data/v1/data_grpc.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
-// - protoc v5.29.0--rc2
+// - protoc v3.6.1
// source: data/v1/data.proto
package data_v1
diff --git a/server/internal/pkg/pb/plants/v1/plants.pb.go b/server/internal/pkg/pb/plants/v1/plants.pb.go
index 52765c2..ac7eea6 100644
--- a/server/internal/pkg/pb/plants/v1/plants.pb.go
+++ b/server/internal/pkg/pb/plants/v1/plants.pb.go
@@ -1,16 +1,16 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.35.1
-// protoc v5.29.0--rc2
+// protoc-gen-go v1.35.2
+// protoc v3.6.1
// source: plants/v1/plants.proto
package plants_v1
import (
+ timestamp "github.com/golang/protobuf/ptypes/timestamp"
_ "google.golang.org/genproto/googleapis/api/annotations"
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"
)
@@ -549,9 +549,9 @@ type CareRule struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- User *CareRule_User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
- Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
- CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
+ User *CareRule_User `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
+ Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
+ CreatedAt *timestamp.Timestamp `protobuf:"bytes,3,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
}
func (x *CareRule) Reset() {
@@ -598,7 +598,7 @@ func (x *CareRule) GetDescription() string {
return ""
}
-func (x *CareRule) GetCreatedAt() *timestamppb.Timestamp {
+func (x *CareRule) GetCreatedAt() *timestamp.Timestamp {
if x != nil {
return x.CreatedAt
}
@@ -1386,12 +1386,12 @@ type Plant struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
- Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"`
- Species string `protobuf:"bytes,3,opt,name=species,proto3" json:"species,omitempty"`
- Price float32 `protobuf:"fixed32,4,opt,name=price,proto3" json:"price,omitempty"`
- CreatedAt *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
- Place string `protobuf:"bytes,6,opt,name=place,proto3" json:"place,omitempty"`
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"`
+ Species string `protobuf:"bytes,3,opt,name=species,proto3" json:"species,omitempty"`
+ Price float32 `protobuf:"fixed32,4,opt,name=price,proto3" json:"price,omitempty"`
+ CreatedAt *timestamp.Timestamp `protobuf:"bytes,5,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
+ Place string `protobuf:"bytes,6,opt,name=place,proto3" json:"place,omitempty"`
}
func (x *Plant) Reset() {
@@ -1452,7 +1452,7 @@ func (x *Plant) GetPrice() float32 {
return 0
}
-func (x *Plant) GetCreatedAt() *timestamppb.Timestamp {
+func (x *Plant) GetCreatedAt() *timestamp.Timestamp {
if x != nil {
return x.CreatedAt
}
@@ -1646,6 +1646,87 @@ func (x *GetArchivedPlantsV1Response) GetPlants() []*Plant {
return nil
}
+type GetPlantTypesV1Request struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *GetPlantTypesV1Request) Reset() {
+ *x = GetPlantTypesV1Request{}
+ mi := &file_plants_v1_plants_proto_msgTypes[28]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *GetPlantTypesV1Request) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPlantTypesV1Request) ProtoMessage() {}
+
+func (x *GetPlantTypesV1Request) ProtoReflect() protoreflect.Message {
+ mi := &file_plants_v1_plants_proto_msgTypes[28]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPlantTypesV1Request.ProtoReflect.Descriptor instead.
+func (*GetPlantTypesV1Request) Descriptor() ([]byte, []int) {
+ return file_plants_v1_plants_proto_rawDescGZIP(), []int{28}
+}
+
+type GetPlantTypesV1Response struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Types []string `protobuf:"bytes,1,rep,name=types,proto3" json:"types,omitempty"`
+}
+
+func (x *GetPlantTypesV1Response) Reset() {
+ *x = GetPlantTypesV1Response{}
+ mi := &file_plants_v1_plants_proto_msgTypes[29]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+}
+
+func (x *GetPlantTypesV1Response) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetPlantTypesV1Response) ProtoMessage() {}
+
+func (x *GetPlantTypesV1Response) ProtoReflect() protoreflect.Message {
+ mi := &file_plants_v1_plants_proto_msgTypes[29]
+ if x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use GetPlantTypesV1Response.ProtoReflect.Descriptor instead.
+func (*GetPlantTypesV1Response) Descriptor() ([]byte, []int) {
+ return file_plants_v1_plants_proto_rawDescGZIP(), []int{29}
+}
+
+func (x *GetPlantTypesV1Response) GetTypes() []string {
+ if x != nil {
+ return x.Types
+ }
+ return nil
+}
+
type CareRule_User struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -1659,7 +1740,7 @@ type CareRule_User struct {
func (x *CareRule_User) Reset() {
*x = CareRule_User{}
- mi := &file_plants_v1_plants_proto_msgTypes[28]
+ mi := &file_plants_v1_plants_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1671,7 +1752,7 @@ func (x *CareRule_User) String() string {
func (*CareRule_User) ProtoMessage() {}
func (x *CareRule_User) ProtoReflect() protoreflect.Message {
- mi := &file_plants_v1_plants_proto_msgTypes[28]
+ mi := &file_plants_v1_plants_proto_msgTypes[30]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1729,7 +1810,7 @@ type GetPlantsWithCareRulesV1Request_Filter struct {
func (x *GetPlantsWithCareRulesV1Request_Filter) Reset() {
*x = GetPlantsWithCareRulesV1Request_Filter{}
- mi := &file_plants_v1_plants_proto_msgTypes[29]
+ mi := &file_plants_v1_plants_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1741,7 +1822,7 @@ func (x *GetPlantsWithCareRulesV1Request_Filter) String() string {
func (*GetPlantsWithCareRulesV1Request_Filter) ProtoMessage() {}
func (x *GetPlantsWithCareRulesV1Request_Filter) ProtoReflect() protoreflect.Message {
- mi := &file_plants_v1_plants_proto_msgTypes[29]
+ mi := &file_plants_v1_plants_proto_msgTypes[31]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1805,7 +1886,7 @@ type GetPlantsWithCareRulesV1Response_PlantInfo struct {
func (x *GetPlantsWithCareRulesV1Response_PlantInfo) Reset() {
*x = GetPlantsWithCareRulesV1Response_PlantInfo{}
- mi := &file_plants_v1_plants_proto_msgTypes[30]
+ mi := &file_plants_v1_plants_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1817,7 +1898,7 @@ func (x *GetPlantsWithCareRulesV1Response_PlantInfo) String() string {
func (*GetPlantsWithCareRulesV1Response_PlantInfo) ProtoMessage() {}
func (x *GetPlantsWithCareRulesV1Response_PlantInfo) ProtoReflect() protoreflect.Message {
- mi := &file_plants_v1_plants_proto_msgTypes[30]
+ mi := &file_plants_v1_plants_proto_msgTypes[32]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1866,17 +1947,17 @@ type GetPlantsForTradeV1Response_PlantInfo struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Species string `protobuf:"bytes,1,opt,name=species,proto3" json:"species,omitempty"`
- Price string `protobuf:"bytes,2,opt,name=price,proto3" json:"price,omitempty"`
- Place string `protobuf:"bytes,3,opt,name=place,proto3" json:"place,omitempty"`
- CreatedAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
- Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"`
- Image string `protobuf:"bytes,6,opt,name=image,proto3" json:"image,omitempty"`
+ Species string `protobuf:"bytes,1,opt,name=species,proto3" json:"species,omitempty"`
+ Price string `protobuf:"bytes,2,opt,name=price,proto3" json:"price,omitempty"`
+ Place string `protobuf:"bytes,3,opt,name=place,proto3" json:"place,omitempty"`
+ CreatedAt *timestamp.Timestamp `protobuf:"bytes,4,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
+ Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"`
+ Image string `protobuf:"bytes,6,opt,name=image,proto3" json:"image,omitempty"`
}
func (x *GetPlantsForTradeV1Response_PlantInfo) Reset() {
*x = GetPlantsForTradeV1Response_PlantInfo{}
- mi := &file_plants_v1_plants_proto_msgTypes[31]
+ mi := &file_plants_v1_plants_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1888,7 +1969,7 @@ func (x *GetPlantsForTradeV1Response_PlantInfo) String() string {
func (*GetPlantsForTradeV1Response_PlantInfo) ProtoMessage() {}
func (x *GetPlantsForTradeV1Response_PlantInfo) ProtoReflect() protoreflect.Message {
- mi := &file_plants_v1_plants_proto_msgTypes[31]
+ mi := &file_plants_v1_plants_proto_msgTypes[33]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1925,7 +2006,7 @@ func (x *GetPlantsForTradeV1Response_PlantInfo) GetPlace() string {
return ""
}
-func (x *GetPlantsForTradeV1Response_PlantInfo) GetCreatedAt() *timestamppb.Timestamp {
+func (x *GetPlantsForTradeV1Response_PlantInfo) GetCreatedAt() *timestamp.Timestamp {
if x != nil {
return x.CreatedAt
}
@@ -1951,23 +2032,23 @@ type GetPlantByIdV1Response_PlantInfo struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Species string `protobuf:"bytes,1,opt,name=species,proto3" json:"species,omitempty"`
- Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
- Size string `protobuf:"bytes,3,opt,name=size,proto3" json:"size,omitempty"`
- LightCondition string `protobuf:"bytes,4,opt,name=lightCondition,proto3" json:"lightCondition,omitempty"`
- WateringFrequency string `protobuf:"bytes,5,opt,name=wateringFrequency,proto3" json:"wateringFrequency,omitempty"`
- TemperatureRegime string `protobuf:"bytes,6,opt,name=temperatureRegime,proto3" json:"temperatureRegime,omitempty"`
- CareComplexity string `protobuf:"bytes,7,opt,name=careComplexity,proto3" json:"careComplexity,omitempty"`
- Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
- Place string `protobuf:"bytes,9,opt,name=place,proto3" json:"place,omitempty"`
- Image string `protobuf:"bytes,10,opt,name=image,proto3" json:"image,omitempty"`
- Price float32 `protobuf:"fixed32,11,opt,name=price,proto3" json:"price,omitempty"`
- CreatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
+ Species string `protobuf:"bytes,1,opt,name=species,proto3" json:"species,omitempty"`
+ Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"`
+ Size string `protobuf:"bytes,3,opt,name=size,proto3" json:"size,omitempty"`
+ LightCondition string `protobuf:"bytes,4,opt,name=lightCondition,proto3" json:"lightCondition,omitempty"`
+ WateringFrequency string `protobuf:"bytes,5,opt,name=wateringFrequency,proto3" json:"wateringFrequency,omitempty"`
+ TemperatureRegime string `protobuf:"bytes,6,opt,name=temperatureRegime,proto3" json:"temperatureRegime,omitempty"`
+ CareComplexity string `protobuf:"bytes,7,opt,name=careComplexity,proto3" json:"careComplexity,omitempty"`
+ Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
+ Place string `protobuf:"bytes,9,opt,name=place,proto3" json:"place,omitempty"`
+ Image string `protobuf:"bytes,10,opt,name=image,proto3" json:"image,omitempty"`
+ Price float32 `protobuf:"fixed32,11,opt,name=price,proto3" json:"price,omitempty"`
+ CreatedAt *timestamp.Timestamp `protobuf:"bytes,12,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
}
func (x *GetPlantByIdV1Response_PlantInfo) Reset() {
*x = GetPlantByIdV1Response_PlantInfo{}
- mi := &file_plants_v1_plants_proto_msgTypes[32]
+ mi := &file_plants_v1_plants_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -1979,7 +2060,7 @@ func (x *GetPlantByIdV1Response_PlantInfo) String() string {
func (*GetPlantByIdV1Response_PlantInfo) ProtoMessage() {}
func (x *GetPlantByIdV1Response_PlantInfo) ProtoReflect() protoreflect.Message {
- mi := &file_plants_v1_plants_proto_msgTypes[32]
+ mi := &file_plants_v1_plants_proto_msgTypes[34]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2072,7 +2153,7 @@ func (x *GetPlantByIdV1Response_PlantInfo) GetPrice() float32 {
return 0
}
-func (x *GetPlantByIdV1Response_PlantInfo) GetCreatedAt() *timestamppb.Timestamp {
+func (x *GetPlantByIdV1Response_PlantInfo) GetCreatedAt() *timestamp.Timestamp {
if x != nil {
return x.CreatedAt
}
@@ -2093,7 +2174,7 @@ type GetPlantByIdV1Response_User struct {
func (x *GetPlantByIdV1Response_User) Reset() {
*x = GetPlantByIdV1Response_User{}
- mi := &file_plants_v1_plants_proto_msgTypes[33]
+ mi := &file_plants_v1_plants_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -2105,7 +2186,7 @@ func (x *GetPlantByIdV1Response_User) String() string {
func (*GetPlantByIdV1Response_User) ProtoMessage() {}
func (x *GetPlantByIdV1Response_User) ProtoReflect() protoreflect.Message {
- mi := &file_plants_v1_plants_proto_msgTypes[33]
+ mi := &file_plants_v1_plants_proto_msgTypes[35]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2435,105 +2516,117 @@ var file_plants_v1_plants_proto_rawDesc = []byte{
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x74,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73,
0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x52, 0x06, 0x70, 0x6c, 0x61, 0x6e, 0x74,
- 0x73, 0x32, 0x80, 0x0c, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x41, 0x50, 0x49, 0x12,
- 0x97, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x57, 0x69, 0x74,
- 0x68, 0x43, 0x61, 0x72, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x56, 0x31, 0x12, 0x2a, 0x2e, 0x70,
- 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e,
- 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x61, 0x72, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x56,
- 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74,
- 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x57, 0x69,
- 0x74, 0x68, 0x43, 0x61, 0x72, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a,
- 0x22, 0x17, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x65, 0x2f, 0x7b, 0x70, 0x61, 0x67,
- 0x65, 0x7d, 0x2f, 0x7b, 0x73, 0x69, 0x7a, 0x65, 0x7d, 0x12, 0x7e, 0x0a, 0x13, 0x43, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x72, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x31,
- 0x12, 0x25, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65,
- 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x72, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x31,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73,
- 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x72,
- 0x65, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x3a, 0x01, 0x2a, 0x22, 0x0d, 0x2f, 0x61, 0x70, 0x69,
- 0x2f, 0x63, 0x61, 0x72, 0x65, 0x2f, 0x6e, 0x65, 0x77, 0x12, 0x6f, 0x0a, 0x0e, 0x47, 0x65, 0x74,
- 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x42, 0x79, 0x49, 0x64, 0x56, 0x31, 0x12, 0x20, 0x2e, 0x70, 0x6c,
+ 0x73, 0x22, 0x18, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70,
+ 0x65, 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2f, 0x0a, 0x17, 0x47,
+ 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x56, 0x31, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x32, 0x81, 0x0d, 0x0a,
+ 0x09, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x41, 0x50, 0x49, 0x12, 0x97, 0x01, 0x0a, 0x18, 0x47,
+ 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x61, 0x72, 0x65,
+ 0x52, 0x75, 0x6c, 0x65, 0x73, 0x56, 0x31, 0x12, 0x2a, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73,
+ 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x57, 0x69, 0x74,
+ 0x68, 0x43, 0x61, 0x72, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e,
+ 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x57, 0x69, 0x74, 0x68, 0x43, 0x61, 0x72,
+ 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x61, 0x70,
+ 0x69, 0x2f, 0x63, 0x61, 0x72, 0x65, 0x2f, 0x7b, 0x70, 0x61, 0x67, 0x65, 0x7d, 0x2f, 0x7b, 0x73,
+ 0x69, 0x7a, 0x65, 0x7d, 0x12, 0x7e, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65,
+ 0x77, 0x43, 0x61, 0x72, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x31, 0x12, 0x25, 0x2e, 0x70, 0x6c,
+ 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65,
+ 0x77, 0x43, 0x61, 0x72, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x65, 0x77, 0x43, 0x61, 0x72, 0x65, 0x52, 0x75, 0x6c, 0x65,
+ 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93,
+ 0x02, 0x12, 0x3a, 0x01, 0x2a, 0x22, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x65,
+ 0x2f, 0x6e, 0x65, 0x77, 0x12, 0x6f, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74,
+ 0x42, 0x79, 0x49, 0x64, 0x56, 0x31, 0x12, 0x20, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e,
+ 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x42, 0x79, 0x49, 0x64, 0x56,
+ 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74,
+ 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x42, 0x79, 0x49,
+ 0x64, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4,
+ 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73,
+ 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x6a, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x65,
+ 0x52, 0x75, 0x6c, 0x65, 0x56, 0x31, 0x12, 0x1f, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e,
+ 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x31,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73,
+ 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x56,
+ 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x16, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+ 0x10, 0x12, 0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72, 0x65, 0x2f, 0x7b, 0x69, 0x64,
+ 0x7d, 0x12, 0x6e, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74,
+ 0x56, 0x31, 0x12, 0x1f, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e,
+ 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x56, 0x31, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a,
+ 0x22, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x61, 0x64,
+ 0x64, 0x12, 0x88, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x46,
+ 0x6f, 0x72, 0x54, 0x72, 0x61, 0x64, 0x65, 0x56, 0x31, 0x12, 0x25, 0x2e, 0x70, 0x6c, 0x61, 0x6e,
+ 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x46,
+ 0x6f, 0x72, 0x54, 0x72, 0x61, 0x64, 0x65, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x26, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
+ 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x54, 0x72, 0x61, 0x64, 0x65, 0x56, 0x31,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c,
+ 0x12, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x74, 0x72,
+ 0x61, 0x64, 0x65, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0x79, 0x0a, 0x0b,
+ 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x12, 0x1d, 0x2e, 0x70, 0x6c,
0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74,
- 0x42, 0x79, 0x49, 0x64, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e,
- 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61,
- 0x6e, 0x74, 0x42, 0x79, 0x49, 0x64, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
- 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70,
- 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x6a, 0x0a, 0x0d, 0x47, 0x65,
- 0x74, 0x43, 0x61, 0x72, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x31, 0x12, 0x1f, 0x2e, 0x70, 0x6c,
- 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x65, 0x52,
- 0x75, 0x6c, 0x65, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70,
- 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x72, 0x65,
- 0x52, 0x75, 0x6c, 0x65, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x16,
- 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x12, 0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x61, 0x72,
- 0x65, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x6e, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
- 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x56, 0x31, 0x12, 0x1f, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73,
- 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x56,
- 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74,
- 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74,
- 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93,
- 0x02, 0x14, 0x3a, 0x01, 0x2a, 0x22, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6c, 0x61, 0x6e,
- 0x74, 0x73, 0x2f, 0x61, 0x64, 0x64, 0x12, 0x88, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x50, 0x6c,
- 0x61, 0x6e, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x54, 0x72, 0x61, 0x64, 0x65, 0x56, 0x31, 0x12, 0x25,
- 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c,
- 0x61, 0x6e, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x54, 0x72, 0x61, 0x64, 0x65, 0x56, 0x31, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76,
- 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x46, 0x6f, 0x72, 0x54, 0x72,
- 0x61, 0x64, 0x65, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x22, 0x82,
- 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6c, 0x61, 0x6e,
- 0x74, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
- 0x7d, 0x12, 0x79, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31,
- 0x12, 0x1d, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
- 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
- 0x1e, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50,
- 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
- 0x2b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 0x2f, 0x61, 0x70, 0x69,
- 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x61, 0x67, 0x65, 0x7d, 0x2f, 0x7b,
- 0x73, 0x69, 0x7a, 0x65, 0x7d, 0x2f, 0x7b, 0x73, 0x6f, 0x72, 0x74, 0x7d, 0x12, 0x65, 0x0a, 0x0a,
- 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x56, 0x31, 0x12, 0x1c, 0x2e, 0x70, 0x6c, 0x61,
- 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x56,
- 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74,
- 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x56, 0x31, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a,
- 0x01, 0x2a, 0x22, 0x0f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2f,
- 0x62, 0x75, 0x79, 0x12, 0x83, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x75, 0x67, 0x68,
- 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x12, 0x23, 0x2e, 0x70, 0x6c, 0x61, 0x6e,
+ 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x70, 0x6c, 0x61,
+ 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73,
+ 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x82, 0xd3, 0xe4, 0x93,
+ 0x02, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6c, 0x61, 0x6e,
+ 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x61, 0x67, 0x65, 0x7d, 0x2f, 0x7b, 0x73, 0x69, 0x7a, 0x65, 0x7d,
+ 0x2f, 0x7b, 0x73, 0x6f, 0x72, 0x74, 0x7d, 0x12, 0x65, 0x0a, 0x0a, 0x42, 0x75, 0x79, 0x50, 0x6c,
+ 0x61, 0x6e, 0x74, 0x56, 0x31, 0x12, 0x1c, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76,
+ 0x31, 0x2e, 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e,
+ 0x42, 0x75, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x1a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x3a, 0x01, 0x2a, 0x22, 0x0f, 0x2f,
+ 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x62, 0x75, 0x79, 0x12, 0x83,
+ 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x50, 0x6c, 0x61, 0x6e,
+ 0x74, 0x73, 0x56, 0x31, 0x12, 0x23, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31,
+ 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73,
+ 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x6c, 0x61, 0x6e,
0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x75, 0x67, 0x68, 0x74, 0x50,
- 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24,
- 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f,
- 0x75, 0x67, 0x68, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x22,
- 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x62, 0x75, 0x79,
- 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0x85, 0x01, 0x0a, 0x11, 0x47, 0x65,
- 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x12,
- 0x23, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54,
- 0x72, 0x61, 0x64, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31,
- 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73,
- 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93,
- 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6c, 0x61, 0x6e,
- 0x74, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
- 0x7d, 0x12, 0x83, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50,
- 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x12, 0x23, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73,
+ 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69,
+ 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x62, 0x75, 0x79, 0x2f, 0x7b, 0x75, 0x73, 0x65,
+ 0x72, 0x49, 0x64, 0x7d, 0x12, 0x85, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x64,
+ 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x12, 0x23, 0x2e, 0x70, 0x6c, 0x61,
+ 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x64,
+ 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x24, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54,
+ 0x72, 0x61, 0x64, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73,
+ 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a,
+ 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x74, 0x72,
+ 0x61, 0x64, 0x65, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0x83, 0x01, 0x0a,
+ 0x11, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73,
+ 0x56, 0x31, 0x12, 0x23, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47,
+ 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73,
0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x6c, 0x61,
- 0x6e, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x70,
- 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69,
- 0x76, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x61, 0x70, 0x69,
- 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2f, 0x7b,
- 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12, 0x8a, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41,
- 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x12,
- 0x25, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41,
- 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e,
- 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x50, 0x6c,
- 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24,
- 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6c, 0x61,
- 0x6e, 0x74, 0x73, 0x2f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2f, 0x7b, 0x75, 0x73, 0x65,
- 0x72, 0x49, 0x64, 0x7d, 0x42, 0x15, 0x5a, 0x13, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x76,
- 0x31, 0x3b, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x5f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x33,
+ 0x6e, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82,
+ 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6c, 0x61, 0x6e,
+ 0x74, 0x73, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x49,
+ 0x64, 0x7d, 0x12, 0x8a, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76,
+ 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x12, 0x25, 0x2e, 0x70, 0x6c, 0x61,
+ 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76,
+ 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x26, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
+ 0x74, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x56,
+ 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+ 0x1e, 0x12, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x61,
+ 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x7d, 0x12,
+ 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
+ 0x73, 0x56, 0x31, 0x12, 0x21, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e,
+ 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x56, 0x31, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2e,
+ 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73,
+ 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93,
+ 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2f,
+ 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x41, 0x72, 0x72, 0x61, 0x79,
+ 0x42, 0x15, 0x5a, 0x13, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x70, 0x6c,
+ 0x61, 0x6e, 0x74, 0x73, 0x5f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -2548,7 +2641,7 @@ func file_plants_v1_plants_proto_rawDescGZIP() []byte {
return file_plants_v1_plants_proto_rawDescData
}
-var file_plants_v1_plants_proto_msgTypes = make([]protoimpl.MessageInfo, 34)
+var file_plants_v1_plants_proto_msgTypes = make([]protoimpl.MessageInfo, 36)
var file_plants_v1_plants_proto_goTypes = []any{
(*Filter)(nil), // 0: plants.v1.Filter
(*CreatePlantV1Request)(nil), // 1: plants.v1.CreatePlantV1Request
@@ -2578,34 +2671,36 @@ var file_plants_v1_plants_proto_goTypes = []any{
(*GetActivePlantsV1Response)(nil), // 25: plants.v1.GetActivePlantsV1Response
(*GetArchivedPlantsV1Request)(nil), // 26: plants.v1.GetArchivedPlantsV1Request
(*GetArchivedPlantsV1Response)(nil), // 27: plants.v1.GetArchivedPlantsV1Response
- (*CareRule_User)(nil), // 28: plants.v1.CareRule.User
- (*GetPlantsWithCareRulesV1Request_Filter)(nil), // 29: plants.v1.GetPlantsWithCareRulesV1Request.Filter
- (*GetPlantsWithCareRulesV1Response_PlantInfo)(nil), // 30: plants.v1.GetPlantsWithCareRulesV1Response.PlantInfo
- (*GetPlantsForTradeV1Response_PlantInfo)(nil), // 31: plants.v1.GetPlantsForTradeV1Response.PlantInfo
- (*GetPlantByIdV1Response_PlantInfo)(nil), // 32: plants.v1.GetPlantByIdV1Response.PlantInfo
- (*GetPlantByIdV1Response_User)(nil), // 33: plants.v1.GetPlantByIdV1Response.User
- (*timestamppb.Timestamp)(nil), // 34: google.protobuf.Timestamp
+ (*GetPlantTypesV1Request)(nil), // 28: plants.v1.GetPlantTypesV1Request
+ (*GetPlantTypesV1Response)(nil), // 29: plants.v1.GetPlantTypesV1Response
+ (*CareRule_User)(nil), // 30: plants.v1.CareRule.User
+ (*GetPlantsWithCareRulesV1Request_Filter)(nil), // 31: plants.v1.GetPlantsWithCareRulesV1Request.Filter
+ (*GetPlantsWithCareRulesV1Response_PlantInfo)(nil), // 32: plants.v1.GetPlantsWithCareRulesV1Response.PlantInfo
+ (*GetPlantsForTradeV1Response_PlantInfo)(nil), // 33: plants.v1.GetPlantsForTradeV1Response.PlantInfo
+ (*GetPlantByIdV1Response_PlantInfo)(nil), // 34: plants.v1.GetPlantByIdV1Response.PlantInfo
+ (*GetPlantByIdV1Response_User)(nil), // 35: plants.v1.GetPlantByIdV1Response.User
+ (*timestamp.Timestamp)(nil), // 36: google.protobuf.Timestamp
}
var file_plants_v1_plants_proto_depIdxs = []int32{
0, // 0: plants.v1.GetPlantsV1Request.filter:type_name -> plants.v1.Filter
23, // 1: plants.v1.GetPlantsV1Response.plants:type_name -> plants.v1.Plant
7, // 2: plants.v1.GetCareRuleV1Response.careRules:type_name -> plants.v1.CareRule
- 28, // 3: plants.v1.CareRule.user:type_name -> plants.v1.CareRule.User
- 34, // 4: plants.v1.CareRule.createdAt:type_name -> google.protobuf.Timestamp
- 29, // 5: plants.v1.GetPlantsWithCareRulesV1Request.filter:type_name -> plants.v1.GetPlantsWithCareRulesV1Request.Filter
- 30, // 6: plants.v1.GetPlantsWithCareRulesV1Response.plants:type_name -> plants.v1.GetPlantsWithCareRulesV1Response.PlantInfo
- 31, // 7: plants.v1.GetPlantsForTradeV1Response.plants:type_name -> plants.v1.GetPlantsForTradeV1Response.PlantInfo
- 32, // 8: plants.v1.GetPlantByIdV1Response.plant:type_name -> plants.v1.GetPlantByIdV1Response.PlantInfo
- 33, // 9: plants.v1.GetPlantByIdV1Response.user:type_name -> plants.v1.GetPlantByIdV1Response.User
+ 30, // 3: plants.v1.CareRule.user:type_name -> plants.v1.CareRule.User
+ 36, // 4: plants.v1.CareRule.createdAt:type_name -> google.protobuf.Timestamp
+ 31, // 5: plants.v1.GetPlantsWithCareRulesV1Request.filter:type_name -> plants.v1.GetPlantsWithCareRulesV1Request.Filter
+ 32, // 6: plants.v1.GetPlantsWithCareRulesV1Response.plants:type_name -> plants.v1.GetPlantsWithCareRulesV1Response.PlantInfo
+ 33, // 7: plants.v1.GetPlantsForTradeV1Response.plants:type_name -> plants.v1.GetPlantsForTradeV1Response.PlantInfo
+ 34, // 8: plants.v1.GetPlantByIdV1Response.plant:type_name -> plants.v1.GetPlantByIdV1Response.PlantInfo
+ 35, // 9: plants.v1.GetPlantByIdV1Response.user:type_name -> plants.v1.GetPlantByIdV1Response.User
0, // 10: plants.v1.GetBoughtPlantsV1Request.filter:type_name -> plants.v1.Filter
23, // 11: plants.v1.GetBoughtPlantsV1Response.plants:type_name -> plants.v1.Plant
0, // 12: plants.v1.GetTradedPlantsV1Request.filter:type_name -> plants.v1.Filter
23, // 13: plants.v1.GetTradedPlantsV1Response.plants:type_name -> plants.v1.Plant
- 34, // 14: plants.v1.Plant.createdAt:type_name -> google.protobuf.Timestamp
+ 36, // 14: plants.v1.Plant.createdAt:type_name -> google.protobuf.Timestamp
23, // 15: plants.v1.GetActivePlantsV1Response.plants:type_name -> plants.v1.Plant
23, // 16: plants.v1.GetArchivedPlantsV1Response.plants:type_name -> plants.v1.Plant
- 34, // 17: plants.v1.GetPlantsForTradeV1Response.PlantInfo.createdAt:type_name -> google.protobuf.Timestamp
- 34, // 18: plants.v1.GetPlantByIdV1Response.PlantInfo.createdAt:type_name -> google.protobuf.Timestamp
+ 36, // 17: plants.v1.GetPlantsForTradeV1Response.PlantInfo.createdAt:type_name -> google.protobuf.Timestamp
+ 36, // 18: plants.v1.GetPlantByIdV1Response.PlantInfo.createdAt:type_name -> google.protobuf.Timestamp
10, // 19: plants.v1.PlantsAPI.GetPlantsWithCareRulesV1:input_type -> plants.v1.GetPlantsWithCareRulesV1Request
8, // 20: plants.v1.PlantsAPI.CreateNewCareRuleV1:input_type -> plants.v1.CreateNewCareRuleV1Request
15, // 21: plants.v1.PlantsAPI.GetPlantByIdV1:input_type -> plants.v1.GetPlantByIdV1Request
@@ -2618,20 +2713,22 @@ var file_plants_v1_plants_proto_depIdxs = []int32{
21, // 28: plants.v1.PlantsAPI.GetTradedPlantsV1:input_type -> plants.v1.GetTradedPlantsV1Request
24, // 29: plants.v1.PlantsAPI.GetActivePlantsV1:input_type -> plants.v1.GetActivePlantsV1Request
26, // 30: plants.v1.PlantsAPI.GetArchivedPlantsV1:input_type -> plants.v1.GetArchivedPlantsV1Request
- 11, // 31: plants.v1.PlantsAPI.GetPlantsWithCareRulesV1:output_type -> plants.v1.GetPlantsWithCareRulesV1Response
- 9, // 32: plants.v1.PlantsAPI.CreateNewCareRuleV1:output_type -> plants.v1.CreateNewCareRuleV1Response
- 16, // 33: plants.v1.PlantsAPI.GetPlantByIdV1:output_type -> plants.v1.GetPlantByIdV1Response
- 6, // 34: plants.v1.PlantsAPI.GetCareRuleV1:output_type -> plants.v1.GetCareRuleV1Response
- 2, // 35: plants.v1.PlantsAPI.CreatePlantV1:output_type -> plants.v1.CreatePlantV1Response
- 13, // 36: plants.v1.PlantsAPI.GetPlantsForTradeV1:output_type -> plants.v1.GetPlantsForTradeV1Response
- 4, // 37: plants.v1.PlantsAPI.GetPlantsV1:output_type -> plants.v1.GetPlantsV1Response
- 18, // 38: plants.v1.PlantsAPI.BuyPlantV1:output_type -> plants.v1.BuyPlantV1Response
- 20, // 39: plants.v1.PlantsAPI.GetBoughtPlantsV1:output_type -> plants.v1.GetBoughtPlantsV1Response
- 22, // 40: plants.v1.PlantsAPI.GetTradedPlantsV1:output_type -> plants.v1.GetTradedPlantsV1Response
- 25, // 41: plants.v1.PlantsAPI.GetActivePlantsV1:output_type -> plants.v1.GetActivePlantsV1Response
- 27, // 42: plants.v1.PlantsAPI.GetArchivedPlantsV1:output_type -> plants.v1.GetArchivedPlantsV1Response
- 31, // [31:43] is the sub-list for method output_type
- 19, // [19:31] is the sub-list for method input_type
+ 28, // 31: plants.v1.PlantsAPI.ListPlantTypesV1:input_type -> plants.v1.GetPlantTypesV1Request
+ 11, // 32: plants.v1.PlantsAPI.GetPlantsWithCareRulesV1:output_type -> plants.v1.GetPlantsWithCareRulesV1Response
+ 9, // 33: plants.v1.PlantsAPI.CreateNewCareRuleV1:output_type -> plants.v1.CreateNewCareRuleV1Response
+ 16, // 34: plants.v1.PlantsAPI.GetPlantByIdV1:output_type -> plants.v1.GetPlantByIdV1Response
+ 6, // 35: plants.v1.PlantsAPI.GetCareRuleV1:output_type -> plants.v1.GetCareRuleV1Response
+ 2, // 36: plants.v1.PlantsAPI.CreatePlantV1:output_type -> plants.v1.CreatePlantV1Response
+ 13, // 37: plants.v1.PlantsAPI.GetPlantsForTradeV1:output_type -> plants.v1.GetPlantsForTradeV1Response
+ 4, // 38: plants.v1.PlantsAPI.GetPlantsV1:output_type -> plants.v1.GetPlantsV1Response
+ 18, // 39: plants.v1.PlantsAPI.BuyPlantV1:output_type -> plants.v1.BuyPlantV1Response
+ 20, // 40: plants.v1.PlantsAPI.GetBoughtPlantsV1:output_type -> plants.v1.GetBoughtPlantsV1Response
+ 22, // 41: plants.v1.PlantsAPI.GetTradedPlantsV1:output_type -> plants.v1.GetTradedPlantsV1Response
+ 25, // 42: plants.v1.PlantsAPI.GetActivePlantsV1:output_type -> plants.v1.GetActivePlantsV1Response
+ 27, // 43: plants.v1.PlantsAPI.GetArchivedPlantsV1:output_type -> plants.v1.GetArchivedPlantsV1Response
+ 29, // 44: plants.v1.PlantsAPI.ListPlantTypesV1:output_type -> plants.v1.GetPlantTypesV1Response
+ 32, // [32:45] is the sub-list for method output_type
+ 19, // [19:32] is the sub-list for method input_type
19, // [19:19] is the sub-list for extension type_name
19, // [19:19] is the sub-list for extension extendee
0, // [0:19] is the sub-list for field type_name
@@ -2648,7 +2745,7 @@ func file_plants_v1_plants_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_plants_v1_plants_proto_rawDesc,
NumEnums: 0,
- NumMessages: 34,
+ NumMessages: 36,
NumExtensions: 0,
NumServices: 1,
},
diff --git a/server/internal/pkg/pb/plants/v1/plants.pb.gw.go b/server/internal/pkg/pb/plants/v1/plants.pb.gw.go
index 36be6c8..1f8b532 100644
--- a/server/internal/pkg/pb/plants/v1/plants.pb.gw.go
+++ b/server/internal/pkg/pb/plants/v1/plants.pb.gw.go
@@ -751,6 +751,24 @@ func local_request_PlantsAPI_GetArchivedPlantsV1_0(ctx context.Context, marshale
}
+func request_PlantsAPI_ListPlantTypesV1_0(ctx context.Context, marshaler runtime.Marshaler, client PlantsAPIClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
+ var protoReq GetPlantTypesV1Request
+ var metadata runtime.ServerMetadata
+
+ msg, err := client.ListPlantTypesV1(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
+ return msg, metadata, err
+
+}
+
+func local_request_PlantsAPI_ListPlantTypesV1_0(ctx context.Context, marshaler runtime.Marshaler, server PlantsAPIServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
+ var protoReq GetPlantTypesV1Request
+ var metadata runtime.ServerMetadata
+
+ msg, err := server.ListPlantTypesV1(ctx, &protoReq)
+ return msg, metadata, err
+
+}
+
// RegisterPlantsAPIHandlerServer registers the http handlers for service PlantsAPI to "mux".
// UnaryRPC :call PlantsAPIServer directly.
// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
@@ -1033,6 +1051,29 @@ func RegisterPlantsAPIHandlerServer(ctx context.Context, mux *runtime.ServeMux,
})
+ mux.Handle("GET", pattern_PlantsAPI_ListPlantTypesV1_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
+ ctx, cancel := context.WithCancel(req.Context())
+ defer cancel()
+ var stream runtime.ServerTransportStream
+ ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
+ inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
+ rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req)
+ if err != nil {
+ runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
+ return
+ }
+ resp, md, err := local_request_PlantsAPI_ListPlantTypesV1_0(rctx, inboundMarshaler, server, req, pathParams)
+ md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
+ ctx = runtime.NewServerMetadataContext(ctx, md)
+ if err != nil {
+ runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
+ return
+ }
+
+ forward_PlantsAPI_ListPlantTypesV1_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
+
+ })
+
return nil
}
@@ -1314,6 +1355,26 @@ func RegisterPlantsAPIHandlerClient(ctx context.Context, mux *runtime.ServeMux,
})
+ mux.Handle("GET", pattern_PlantsAPI_ListPlantTypesV1_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
+ ctx, cancel := context.WithCancel(req.Context())
+ defer cancel()
+ inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
+ rctx, err := runtime.AnnotateContext(ctx, mux, req)
+ if err != nil {
+ runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
+ return
+ }
+ resp, md, err := request_PlantsAPI_ListPlantTypesV1_0(rctx, inboundMarshaler, client, req, pathParams)
+ ctx = runtime.NewServerMetadataContext(ctx, md)
+ if err != nil {
+ runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
+ return
+ }
+
+ forward_PlantsAPI_ListPlantTypesV1_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
+
+ })
+
return nil
}
@@ -1341,6 +1402,8 @@ var (
pattern_PlantsAPI_GetActivePlantsV1_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "plants", "active", "userId"}, "", runtime.AssumeColonVerbOpt(true)))
pattern_PlantsAPI_GetArchivedPlantsV1_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "plants", "archive", "userId"}, "", runtime.AssumeColonVerbOpt(true)))
+
+ pattern_PlantsAPI_ListPlantTypesV1_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "plants", "types", "typesArray"}, "", runtime.AssumeColonVerbOpt(true)))
)
var (
@@ -1367,4 +1430,6 @@ var (
forward_PlantsAPI_GetActivePlantsV1_0 = runtime.ForwardResponseMessage
forward_PlantsAPI_GetArchivedPlantsV1_0 = runtime.ForwardResponseMessage
+
+ forward_PlantsAPI_ListPlantTypesV1_0 = runtime.ForwardResponseMessage
)
diff --git a/server/internal/pkg/pb/plants/v1/plants_grpc.pb.go b/server/internal/pkg/pb/plants/v1/plants_grpc.pb.go
index 5426815..0602b8d 100644
--- a/server/internal/pkg/pb/plants/v1/plants_grpc.pb.go
+++ b/server/internal/pkg/pb/plants/v1/plants_grpc.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
-// - protoc v5.29.0--rc2
+// - protoc v3.6.1
// source: plants/v1/plants.proto
package plants_v1
@@ -31,6 +31,7 @@ const (
PlantsAPI_GetTradedPlantsV1_FullMethodName = "/plants.v1.PlantsAPI/GetTradedPlantsV1"
PlantsAPI_GetActivePlantsV1_FullMethodName = "/plants.v1.PlantsAPI/GetActivePlantsV1"
PlantsAPI_GetArchivedPlantsV1_FullMethodName = "/plants.v1.PlantsAPI/GetArchivedPlantsV1"
+ PlantsAPI_ListPlantTypesV1_FullMethodName = "/plants.v1.PlantsAPI/ListPlantTypesV1"
)
// PlantsAPIClient is the client API for PlantsAPI service.
@@ -49,6 +50,7 @@ type PlantsAPIClient interface {
GetTradedPlantsV1(ctx context.Context, in *GetTradedPlantsV1Request, opts ...grpc.CallOption) (*GetTradedPlantsV1Response, error)
GetActivePlantsV1(ctx context.Context, in *GetActivePlantsV1Request, opts ...grpc.CallOption) (*GetActivePlantsV1Response, error)
GetArchivedPlantsV1(ctx context.Context, in *GetArchivedPlantsV1Request, opts ...grpc.CallOption) (*GetArchivedPlantsV1Response, error)
+ ListPlantTypesV1(ctx context.Context, in *GetPlantTypesV1Request, opts ...grpc.CallOption) (*GetPlantTypesV1Response, error)
}
type plantsAPIClient struct {
@@ -179,6 +181,16 @@ func (c *plantsAPIClient) GetArchivedPlantsV1(ctx context.Context, in *GetArchiv
return out, nil
}
+func (c *plantsAPIClient) ListPlantTypesV1(ctx context.Context, in *GetPlantTypesV1Request, opts ...grpc.CallOption) (*GetPlantTypesV1Response, error) {
+ cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
+ out := new(GetPlantTypesV1Response)
+ err := c.cc.Invoke(ctx, PlantsAPI_ListPlantTypesV1_FullMethodName, in, out, cOpts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
// PlantsAPIServer is the server API for PlantsAPI service.
// All implementations must embed UnimplementedPlantsAPIServer
// for forward compatibility.
@@ -195,6 +207,7 @@ type PlantsAPIServer interface {
GetTradedPlantsV1(context.Context, *GetTradedPlantsV1Request) (*GetTradedPlantsV1Response, error)
GetActivePlantsV1(context.Context, *GetActivePlantsV1Request) (*GetActivePlantsV1Response, error)
GetArchivedPlantsV1(context.Context, *GetArchivedPlantsV1Request) (*GetArchivedPlantsV1Response, error)
+ ListPlantTypesV1(context.Context, *GetPlantTypesV1Request) (*GetPlantTypesV1Response, error)
mustEmbedUnimplementedPlantsAPIServer()
}
@@ -241,6 +254,9 @@ func (UnimplementedPlantsAPIServer) GetActivePlantsV1(context.Context, *GetActiv
func (UnimplementedPlantsAPIServer) GetArchivedPlantsV1(context.Context, *GetArchivedPlantsV1Request) (*GetArchivedPlantsV1Response, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetArchivedPlantsV1 not implemented")
}
+func (UnimplementedPlantsAPIServer) ListPlantTypesV1(context.Context, *GetPlantTypesV1Request) (*GetPlantTypesV1Response, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListPlantTypesV1 not implemented")
+}
func (UnimplementedPlantsAPIServer) mustEmbedUnimplementedPlantsAPIServer() {}
func (UnimplementedPlantsAPIServer) testEmbeddedByValue() {}
@@ -478,6 +494,24 @@ func _PlantsAPI_GetArchivedPlantsV1_Handler(srv interface{}, ctx context.Context
return interceptor(ctx, in, info, handler)
}
+func _PlantsAPI_ListPlantTypesV1_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetPlantTypesV1Request)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(PlantsAPIServer).ListPlantTypesV1(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: PlantsAPI_ListPlantTypesV1_FullMethodName,
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(PlantsAPIServer).ListPlantTypesV1(ctx, req.(*GetPlantTypesV1Request))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
// PlantsAPI_ServiceDesc is the grpc.ServiceDesc for PlantsAPI service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
@@ -533,6 +567,10 @@ var PlantsAPI_ServiceDesc = grpc.ServiceDesc{
MethodName: "GetArchivedPlantsV1",
Handler: _PlantsAPI_GetArchivedPlantsV1_Handler,
},
+ {
+ MethodName: "ListPlantTypesV1",
+ Handler: _PlantsAPI_ListPlantTypesV1_Handler,
+ },
},
Streams: []grpc.StreamDesc{},
Metadata: "plants/v1/plants.proto",
diff --git a/server/internal/pkg/pb/stats/v1/stats.pb.go b/server/internal/pkg/pb/stats/v1/stats.pb.go
index 089113f..c72d721 100644
--- a/server/internal/pkg/pb/stats/v1/stats.pb.go
+++ b/server/internal/pkg/pb/stats/v1/stats.pb.go
@@ -1,16 +1,16 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.35.1
-// protoc v5.29.0--rc2
+// protoc-gen-go v1.35.2
+// protoc v3.6.1
// source: stats/v1/stats.proto
package stats_v1
import (
+ timestamp "github.com/golang/protobuf/ptypes/timestamp"
_ "google.golang.org/genproto/googleapis/api/annotations"
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"
)
@@ -27,7 +27,9 @@ type GetPlantsStatsV1Request struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Filter *TimeFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
+ Filter *TimeFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
+ Type []string `protobuf:"bytes,2,rep,name=type,proto3" json:"type,omitempty"`
+ LightCondition []string `protobuf:"bytes,3,rep,name=lightCondition,proto3" json:"lightCondition,omitempty"`
}
func (x *GetPlantsStatsV1Request) Reset() {
@@ -67,6 +69,20 @@ func (x *GetPlantsStatsV1Request) GetFilter() *TimeFilter {
return nil
}
+func (x *GetPlantsStatsV1Request) GetType() []string {
+ if x != nil {
+ return x.Type
+ }
+ return nil
+}
+
+func (x *GetPlantsStatsV1Request) GetLightCondition() []string {
+ if x != nil {
+ return x.LightCondition
+ }
+ return nil
+}
+
type GetPlantsStatsV1Response struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -419,8 +435,8 @@ type TimeFilter struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- TimeFrom *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timeFrom,proto3" json:"timeFrom,omitempty"`
- TimeTo *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timeTo,proto3" json:"timeTo,omitempty"`
+ TimeFrom *timestamp.Timestamp `protobuf:"bytes,1,opt,name=timeFrom,proto3" json:"timeFrom,omitempty"`
+ TimeTo *timestamp.Timestamp `protobuf:"bytes,2,opt,name=timeTo,proto3" json:"timeTo,omitempty"`
}
func (x *TimeFilter) Reset() {
@@ -453,14 +469,14 @@ func (*TimeFilter) Descriptor() ([]byte, []int) {
return file_stats_v1_stats_proto_rawDescGZIP(), []int{8}
}
-func (x *TimeFilter) GetTimeFrom() *timestamppb.Timestamp {
+func (x *TimeFilter) GetTimeFrom() *timestamp.Timestamp {
if x != nil {
return x.TimeFrom
}
return nil
}
-func (x *TimeFilter) GetTimeTo() *timestamppb.Timestamp {
+func (x *TimeFilter) GetTimeTo() *timestamp.Timestamp {
if x != nil {
return x.TimeTo
}
@@ -525,8 +541,8 @@ type GetBuyStatsV1Response_StatsInfo struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Date *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=date,proto3" json:"date,omitempty"`
- Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
+ Date *timestamp.Timestamp `protobuf:"bytes,1,opt,name=date,proto3" json:"date,omitempty"`
+ Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
}
func (x *GetBuyStatsV1Response_StatsInfo) Reset() {
@@ -559,7 +575,7 @@ func (*GetBuyStatsV1Response_StatsInfo) Descriptor() ([]byte, []int) {
return file_stats_v1_stats_proto_rawDescGZIP(), []int{3, 0}
}
-func (x *GetBuyStatsV1Response_StatsInfo) GetDate() *timestamppb.Timestamp {
+func (x *GetBuyStatsV1Response_StatsInfo) GetDate() *timestamp.Timestamp {
if x != nil {
return x.Date
}
@@ -578,9 +594,9 @@ type GetTradeStatsV1Response_StatsInfo struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Date *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=date,proto3" json:"date,omitempty"`
- Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
- Status int64 `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"`
+ Date *timestamp.Timestamp `protobuf:"bytes,1,opt,name=date,proto3" json:"date,omitempty"`
+ Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
+ Status int64 `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"`
}
func (x *GetTradeStatsV1Response_StatsInfo) Reset() {
@@ -613,7 +629,7 @@ func (*GetTradeStatsV1Response_StatsInfo) Descriptor() ([]byte, []int) {
return file_stats_v1_stats_proto_rawDescGZIP(), []int{5, 0}
}
-func (x *GetTradeStatsV1Response_StatsInfo) GetDate() *timestamppb.Timestamp {
+func (x *GetTradeStatsV1Response_StatsInfo) GetDate() *timestamp.Timestamp {
if x != nil {
return x.Date
}
@@ -639,8 +655,8 @@ type GetAdsStatsV1Response_StatsInfo struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Date *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=date,proto3" json:"date,omitempty"`
- Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
+ Date *timestamp.Timestamp `protobuf:"bytes,1,opt,name=date,proto3" json:"date,omitempty"`
+ Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"`
}
func (x *GetAdsStatsV1Response_StatsInfo) Reset() {
@@ -673,7 +689,7 @@ func (*GetAdsStatsV1Response_StatsInfo) Descriptor() ([]byte, []int) {
return file_stats_v1_stats_proto_rawDescGZIP(), []int{7, 0}
}
-func (x *GetAdsStatsV1Response_StatsInfo) GetDate() *timestamppb.Timestamp {
+func (x *GetAdsStatsV1Response_StatsInfo) GetDate() *timestamp.Timestamp {
if x != nil {
return x.Date
}
@@ -696,113 +712,117 @@ var file_stats_v1_stats_proto_rawDesc = []byte{
0x6f, 0x74, 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, 0x22,
- 0x47, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74,
- 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x69,
- 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x74, 0x61,
- 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72,
- 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xb1, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74,
- 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x05, 0x73,
- 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x74, 0x61,
- 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x53,
- 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53,
- 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x1a,
- 0x3b, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07,
- 0x73, 0x70, 0x65, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73,
- 0x70, 0x65, 0x63, 0x69, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
- 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x44, 0x0a, 0x14,
- 0x47, 0x65, 0x74, 0x42, 0x75, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x71,
- 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e,
- 0x54, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74,
- 0x65, 0x72, 0x22, 0xc1, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x42, 0x75, 0x79, 0x53, 0x74, 0x61,
- 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05,
- 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75,
- 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
- 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
- 0x42, 0x75, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x74,
- 0x61, 0x74, 0x73, 0x1a, 0x51, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f,
- 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 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, 0x04, 0x64, 0x61, 0x74, 0x65,
- 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
- 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x46, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61,
- 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x14, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65,
- 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xdd,
- 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73,
- 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f,
- 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
- 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x2b, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72,
- 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
- 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x74,
- 0x61, 0x74, 0x73, 0x1a, 0x69, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f,
- 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 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, 0x04, 0x64, 0x61, 0x74, 0x65,
- 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52,
- 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x44,
- 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x64, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76,
- 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69,
- 0x6c, 0x74, 0x65, 0x72, 0x22, 0xc1, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x64, 0x73, 0x53,
- 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f,
- 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e,
- 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x64, 0x73, 0x53,
- 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53,
- 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12,
+ 0x83, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x61,
+ 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x66,
+ 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x74,
+ 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65,
+ 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70,
+ 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a,
+ 0x0e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x43, 0x6f, 0x6e, 0x64,
+ 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb1, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61,
+ 0x6e, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74,
+ 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e,
+ 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74,
+ 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74,
+ 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x1a, 0x3b, 0x0a, 0x09,
+ 0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x70, 0x65,
+ 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x70, 0x65, 0x63,
+ 0x69, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x44, 0x0a, 0x14, 0x47, 0x65, 0x74,
+ 0x42, 0x75, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d,
+ 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22,
+ 0xc1, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x42, 0x75, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56,
+ 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12,
+ 0x3f, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29,
+ 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x79,
+ 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
+ 0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73,
+ 0x1a, 0x51, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a,
+ 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 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, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x22, 0x46, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x53,
+ 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a,
+ 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e,
+ 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c,
+ 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0xdd, 0x01, 0x0a, 0x17,
+ 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x41, 0x0a,
+ 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73,
+ 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65,
+ 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
+ 0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73,
+ 0x1a, 0x69, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 0x0a,
+ 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 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, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f,
+ 0x75, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20,
+ 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x44, 0x0a, 0x14, 0x47,
+ 0x65, 0x74, 0x41, 0x64, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54,
+ 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65,
+ 0x72, 0x22, 0xc1, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x64, 0x73, 0x53, 0x74, 0x61, 0x74,
+ 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x05, 0x73,
+ 0x74, 0x61, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x74, 0x61,
+ 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x64, 0x73, 0x53, 0x74, 0x61, 0x74,
+ 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74,
+ 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75,
+ 0x6e, 0x74, 0x1a, 0x51, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12,
+ 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 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, 0x04, 0x64, 0x61, 0x74, 0x65, 0x12,
0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05,
- 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x51, 0x0a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x73, 0x49, 0x6e,
- 0x66, 0x6f, 0x12, 0x2e, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 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, 0x04, 0x64, 0x61,
- 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x03, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x78, 0x0a, 0x0a, 0x54, 0x69, 0x6d, 0x65,
- 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72,
- 0x6f, 0x6d, 0x18, 0x01, 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, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x32,
- 0x0a, 0x06, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 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, 0x06, 0x74, 0x69, 0x6d, 0x65,
- 0x54, 0x6f, 0x32, 0xd2, 0x03, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x50, 0x49, 0x12,
- 0x77, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74,
- 0x73, 0x56, 0x31, 0x12, 0x21, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x78, 0x0a, 0x0a, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x6c,
+ 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x18,
+ 0x01, 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, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x32, 0x0a, 0x06, 0x74,
+ 0x69, 0x6d, 0x65, 0x54, 0x6f, 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, 0x06, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x6f, 0x32,
+ 0xd2, 0x03, 0x0a, 0x08, 0x53, 0x74, 0x61, 0x74, 0x73, 0x41, 0x50, 0x49, 0x12, 0x77, 0x0a, 0x10,
+ 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31,
+ 0x12, 0x21, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50,
+ 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47,
0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76,
- 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73,
- 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93,
- 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74,
- 0x73, 0x2f, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x6b, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x42,
- 0x75, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x12, 0x1e, 0x2e, 0x73, 0x74, 0x61, 0x74,
- 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73,
- 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x74, 0x61, 0x74,
- 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73,
- 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93,
- 0x02, 0x13, 0x3a, 0x01, 0x2a, 0x22, 0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74,
- 0x73, 0x2f, 0x62, 0x75, 0x79, 0x12, 0x73, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x64,
- 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x12, 0x20, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73,
- 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74,
- 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, 0x74, 0x61,
- 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74,
- 0x61, 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x82,
- 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73,
- 0x74, 0x61, 0x74, 0x73, 0x2f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x6b, 0x0a, 0x0d, 0x47, 0x65,
- 0x74, 0x41, 0x64, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x12, 0x1e, 0x2e, 0x73, 0x74,
- 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x64, 0x73, 0x53, 0x74, 0x61,
- 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x74,
- 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x64, 0x73, 0x53, 0x74, 0x61,
- 0x74, 0x73, 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3,
- 0xe4, 0x93, 0x02, 0x13, 0x3a, 0x01, 0x2a, 0x22, 0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74,
- 0x61, 0x74, 0x73, 0x2f, 0x61, 0x64, 0x73, 0x42, 0x13, 0x5a, 0x11, 0x73, 0x74, 0x61, 0x74, 0x73,
- 0x2f, 0x76, 0x31, 0x3b, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x33,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a,
+ 0x01, 0x2a, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2f, 0x70,
+ 0x6c, 0x61, 0x6e, 0x74, 0x73, 0x12, 0x6b, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x42, 0x75, 0x79, 0x53,
+ 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x12, 0x1e, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76,
+ 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76,
+ 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x79, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x3a,
+ 0x01, 0x2a, 0x22, 0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2f, 0x62,
+ 0x75, 0x79, 0x12, 0x73, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74,
+ 0x61, 0x74, 0x73, 0x56, 0x31, 0x12, 0x20, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x76, 0x31,
+ 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2e,
+ 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x73,
+ 0x56, 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93,
+ 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74,
+ 0x73, 0x2f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x12, 0x6b, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x64,
+ 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56, 0x31, 0x12, 0x1e, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73,
+ 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x64, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56,
+ 0x31, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x74, 0x61, 0x74, 0x73,
+ 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x64, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x56,
+ 0x31, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02,
+ 0x13, 0x3a, 0x01, 0x2a, 0x22, 0x0e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73,
+ 0x2f, 0x61, 0x64, 0x73, 0x42, 0x13, 0x5a, 0x11, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2f, 0x76, 0x31,
+ 0x3b, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
+ 0x33,
}
var (
@@ -832,7 +852,7 @@ var file_stats_v1_stats_proto_goTypes = []any{
(*GetBuyStatsV1Response_StatsInfo)(nil), // 10: stats.v1.GetBuyStatsV1Response.StatsInfo
(*GetTradeStatsV1Response_StatsInfo)(nil), // 11: stats.v1.GetTradeStatsV1Response.StatsInfo
(*GetAdsStatsV1Response_StatsInfo)(nil), // 12: stats.v1.GetAdsStatsV1Response.StatsInfo
- (*timestamppb.Timestamp)(nil), // 13: google.protobuf.Timestamp
+ (*timestamp.Timestamp)(nil), // 13: google.protobuf.Timestamp
}
var file_stats_v1_stats_proto_depIdxs = []int32{
8, // 0: stats.v1.GetPlantsStatsV1Request.filter:type_name -> stats.v1.TimeFilter
diff --git a/server/internal/pkg/pb/stats/v1/stats_grpc.pb.go b/server/internal/pkg/pb/stats/v1/stats_grpc.pb.go
index 9ad0e9e..ef72bb7 100644
--- a/server/internal/pkg/pb/stats/v1/stats_grpc.pb.go
+++ b/server/internal/pkg/pb/stats/v1/stats_grpc.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
-// - protoc v5.29.0--rc2
+// - protoc v3.6.1
// source: stats/v1/stats.proto
package stats_v1
diff --git a/server/internal/pkg/pb/trades/v1/trades.pb.go b/server/internal/pkg/pb/trades/v1/trades.pb.go
index 9a6e57e..f3e9b1f 100644
--- a/server/internal/pkg/pb/trades/v1/trades.pb.go
+++ b/server/internal/pkg/pb/trades/v1/trades.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.35.1
-// protoc v5.29.0--rc2
+// protoc-gen-go v1.35.2
+// protoc v3.6.1
// source: trades/v1/trades.proto
package trades_v1
diff --git a/server/internal/pkg/pb/trades/v1/trades_grpc.pb.go b/server/internal/pkg/pb/trades/v1/trades_grpc.pb.go
index 3bee1bf..957fa1f 100644
--- a/server/internal/pkg/pb/trades/v1/trades_grpc.pb.go
+++ b/server/internal/pkg/pb/trades/v1/trades_grpc.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
-// - protoc v5.29.0--rc2
+// - protoc v3.6.1
// source: trades/v1/trades.proto
package trades_v1
diff --git a/server/internal/pkg/pb/users/v1/users.pb.go b/server/internal/pkg/pb/users/v1/users.pb.go
index ca1a1d1..ffb0a73 100644
--- a/server/internal/pkg/pb/users/v1/users.pb.go
+++ b/server/internal/pkg/pb/users/v1/users.pb.go
@@ -1,16 +1,16 @@
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
-// protoc-gen-go v1.35.1
-// protoc v5.29.0--rc2
+// protoc-gen-go v1.35.2
+// protoc v3.6.1
// source: users/v1/users.proto
package users_v1
import (
+ timestamp "github.com/golang/protobuf/ptypes/timestamp"
_ "google.golang.org/genproto/googleapis/api/annotations"
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"
)
@@ -548,14 +548,14 @@ type GetUserV1Response_User struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- Photo string `protobuf:"bytes,1,opt,name=photo,proto3" json:"photo,omitempty"`
- Surname string `protobuf:"bytes,2,opt,name=surname,proto3" json:"surname,omitempty"`
- Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
- FatherName string `protobuf:"bytes,4,opt,name=father_name,json=fatherName,proto3" json:"father_name,omitempty"`
- PhoneNumber string `protobuf:"bytes,5,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"`
- Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"`
- CreatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
- UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`
+ Photo string `protobuf:"bytes,1,opt,name=photo,proto3" json:"photo,omitempty"`
+ Surname string `protobuf:"bytes,2,opt,name=surname,proto3" json:"surname,omitempty"`
+ Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
+ FatherName string `protobuf:"bytes,4,opt,name=father_name,json=fatherName,proto3" json:"father_name,omitempty"`
+ PhoneNumber string `protobuf:"bytes,5,opt,name=phone_number,json=phoneNumber,proto3" json:"phone_number,omitempty"`
+ Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"`
+ CreatedAt *timestamp.Timestamp `protobuf:"bytes,7,opt,name=createdAt,proto3" json:"createdAt,omitempty"`
+ UpdatedAt *timestamp.Timestamp `protobuf:"bytes,8,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"`
}
func (x *GetUserV1Response_User) Reset() {
@@ -630,14 +630,14 @@ func (x *GetUserV1Response_User) GetEmail() string {
return ""
}
-func (x *GetUserV1Response_User) GetCreatedAt() *timestamppb.Timestamp {
+func (x *GetUserV1Response_User) GetCreatedAt() *timestamp.Timestamp {
if x != nil {
return x.CreatedAt
}
return nil
}
-func (x *GetUserV1Response_User) GetUpdatedAt() *timestamppb.Timestamp {
+func (x *GetUserV1Response_User) GetUpdatedAt() *timestamp.Timestamp {
if x != nil {
return x.UpdatedAt
}
@@ -775,7 +775,7 @@ var file_users_v1_users_proto_goTypes = []any{
(*UpdateUserV1Request)(nil), // 7: users.v1.UpdateUserV1Request
(*UpdateUserV1Response)(nil), // 8: users.v1.UpdateUserV1Response
(*GetUserV1Response_User)(nil), // 9: users.v1.GetUserV1Response.User
- (*timestamppb.Timestamp)(nil), // 10: google.protobuf.Timestamp
+ (*timestamp.Timestamp)(nil), // 10: google.protobuf.Timestamp
}
var file_users_v1_users_proto_depIdxs = []int32{
0, // 0: users.v1.UserLoginV1Response.role:type_name -> users.v1.Role
diff --git a/server/internal/pkg/pb/users/v1/users_grpc.pb.go b/server/internal/pkg/pb/users/v1/users_grpc.pb.go
index ffb6fe5..0ab7748 100644
--- a/server/internal/pkg/pb/users/v1/users_grpc.pb.go
+++ b/server/internal/pkg/pb/users/v1/users_grpc.pb.go
@@ -1,7 +1,7 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
-// - protoc v5.29.0--rc2
+// - protoc v3.6.1
// source: users/v1/users.proto
package users_v1
diff --git a/server/internal/storage/plants.go b/server/internal/storage/plants.go
index 084dd4d..0517f6f 100644
--- a/server/internal/storage/plants.go
+++ b/server/internal/storage/plants.go
@@ -268,6 +268,54 @@ func (s *Storage) GetPlantsByUserId(ctx context.Context, userId string, isSold b
return plants, nil
}
+func (s *Storage) GetTypes(ctx context.Context) ([]string, error) {
+ type Type struct {
+ Name string `bson:"type" json:"name"`
+ }
+ collection := s.DataBase.Collection("plants")
+ cur, err := collection.Aggregate(ctx, []bson.D{
+ {
+ {
+ "$group",
+ bson.D{
+ {
+ "_id",
+ "$type",
+ },
+ },
+ },
+ },
+ {
+ {
+ "$project",
+ bson.D{
+ {
+ "_id", 0,
+ },
+ {
+ "type", "$_id",
+ },
+ },
+ },
+ },
+ })
+ if err != nil {
+ return nil, err
+ }
+ var (
+ t Type
+ types []string
+ )
+
+ for cur.Next(ctx) {
+ if err = cur.Decode(&t); err != nil {
+ return nil, err
+ }
+ types = append(types, t.Name)
+ }
+ return types, nil
+}
+
func parseSortType(isDesc bool) int8 {
if isDesc {
return -1
diff --git a/server/internal/storage/stats.go b/server/internal/storage/stats.go
index e668edf..d5e411b 100644
--- a/server/internal/storage/stats.go
+++ b/server/internal/storage/stats.go
@@ -243,16 +243,29 @@ func (s *Storage) GetTradeStats(ctx context.Context, filter map[string]interface
func (s *Storage) GetPlantsStats(ctx context.Context, filter map[string]interface{}) (*models.PlantsStats, error) {
var stats models.PlantsStats
collection := s.DataBase.Collection("plants")
+ fltr := bson.D{
+ {"created_at", bson.D{
+ {"$gte", filter["from"]},
+ {"$lte", filter["to"]},
+ }},
+ }
+ if v, ok := filter["type"]; ok {
+ switch vt := v.(type) {
+ case []string:
+ fltr = append(fltr, createOrFilter("type", vt)...)
+ }
+ }
+ if v, ok := filter["light_condition"]; ok {
+ switch vt := v.(type) {
+ case []string:
+ fltr = append(fltr, createOrFilter("light_condition", vt)...)
+ }
+ }
pipeline := []bson.D{
{
{
- Key: "$match",
- Value: bson.D{
- {"created_at", bson.D{
- {"$gte", filter["from"]},
- {"$lte", filter["to"]},
- }},
- },
+ Key: "$match",
+ Value: fltr,
},
},
{