Develop #22
			
				
			
		
		
		
	|  | @ -0,0 +1,106 @@ | ||||||
|  | package client | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"encoding/json" | ||||||
|  | 	"errors" | ||||||
|  | 
 | ||||||
|  | 	"github.com/Selly-Modules/natsio" | ||||||
|  | 	"github.com/Selly-Modules/natsio/model" | ||||||
|  | 	"github.com/Selly-Modules/natsio/subject" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | // Location ...
 | ||||||
|  | type Location struct{} | ||||||
|  | 
 | ||||||
|  | // GetLocation ...
 | ||||||
|  | func GetLocation() Location { | ||||||
|  | 	return Location{} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // GetLocationByCode ...
 | ||||||
|  | func (l Location) GetLocationByCode(payload model.LocationRequestPayload) (*model.ResponseLocationAddress, error) { | ||||||
|  | 	msg, err := natsio.GetServer().Request(subject.Location.GetLocationByCode, toBytes(payload)) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	var r struct { | ||||||
|  | 		Data  *model.ResponseLocationAddress `json:"data"` | ||||||
|  | 		Error string                         `json:"error"` | ||||||
|  | 	} | ||||||
|  | 	if err := json.Unmarshal(msg.Data, &r); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if r.Error != "" { | ||||||
|  | 		return nil, errors.New(r.Error) | ||||||
|  | 	} | ||||||
|  | 	return r.Data, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // GetProvincesByCodes ... ...
 | ||||||
|  | func (l Location) GetProvincesByCodes(p model.ProvinceRequestPayload) (*model.LocationProvinceResponse, error) { | ||||||
|  | 	msg, err := natsio.GetServer().Request(subject.Location.GetProvincesByCodes, toBytes(p)) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	var r struct { | ||||||
|  | 		Data  *model.LocationProvinceResponse `json:"data"'` | ||||||
|  | 		Error string                          `json:"error"` | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if err := json.Unmarshal(msg.Data, &r); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if r.Error != "" { | ||||||
|  | 		return nil, errors.New(r.Error) | ||||||
|  | 	} | ||||||
|  | 	return r.Data, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // GetDistrictsByCodes ...
 | ||||||
|  | func (l Location) GetDistrictsByCodes(p model.DistrictRequestPayload) (*model.LocationDistrictResponse, error) { | ||||||
|  | 	msg, err := natsio.GetServer().Request(subject.Location.GetDistrictsByCodes, toBytes(p)) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	var r struct { | ||||||
|  | 		Data  *model.LocationDistrictResponse `json:"data"` | ||||||
|  | 		Error string                          `json:"error"` | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if err := json.Unmarshal(msg.Data, &r); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if r.Error != "" { | ||||||
|  | 		return nil, errors.New(r.Error) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	return r.Data, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // GetWardsByCodes ...
 | ||||||
|  | func (l Location) GetWardsByCodes(p model.WardRequestPayload) (*model.LocationWardResponse, error) { | ||||||
|  | 	msg, err := natsio.GetServer().Request(subject.Location.GetWardsByCodes, toBytes(p)) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	var r struct { | ||||||
|  | 		Data  *model.LocationWardResponse `json:"data"` | ||||||
|  | 		Error string                      `json:"error"` | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if err := json.Unmarshal(msg.Data, &r); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if r.Error != "" { | ||||||
|  | 		return nil, errors.New(r.Error) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	return r.Data, nil | ||||||
|  | } | ||||||
|  | @ -37,7 +37,55 @@ func (o Order) UpdateORStatus(p model.OrderUpdateORStatus) error { | ||||||
| 
 | 
 | ||||||
| // CancelDelivery ...
 | // CancelDelivery ...
 | ||||||
| func (o Order) CancelDelivery(p model.OrderCancelDelivery) error { | func (o Order) CancelDelivery(p model.OrderCancelDelivery) error { | ||||||
| 	msg, err := natsio.GetServer().Request(subject.Order.UpdateORStatus, toBytes(p)) | 	msg, err := natsio.GetServer().Request(subject.Order.CancelDelivery, toBytes(p)) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	var r model.CommonResponseData | ||||||
|  | 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	if r.Error != "" { | ||||||
|  | 		return errors.New(r.Error) | ||||||
|  | 	} | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // ChangeDeliveryStatus ...
 | ||||||
|  | func (o Order) ChangeDeliveryStatus(p model.OrderChangeDeliveryStatus) error { | ||||||
|  | 	msg, err := natsio.GetServer().Request(subject.Order.ChangeDeliveryStatus, toBytes(p)) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	var r model.CommonResponseData | ||||||
|  | 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	if r.Error != "" { | ||||||
|  | 		return errors.New(r.Error) | ||||||
|  | 	} | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // UpdateLogisticInfoFailed ...
 | ||||||
|  | func (o Order) UpdateLogisticInfoFailed(p model.OrderUpdateLogisticInfoFailed) error { | ||||||
|  | 	msg, err := natsio.GetServer().Request(subject.Order.UpdateLogisticInfoFailed, toBytes(p)) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	var r model.CommonResponseData | ||||||
|  | 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	if r.Error != "" { | ||||||
|  | 		return errors.New(r.Error) | ||||||
|  | 	} | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // ORNotUpdateStatus ...
 | ||||||
|  | func (o Order) ORNotUpdateStatus(p model.OrderORsNotUpdateStatus) error { | ||||||
|  | 	msg, err := natsio.GetServer().Request(subject.Order.ORNotUpdateStatus, toBytes(p)) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | @ -0,0 +1,81 @@ | ||||||
|  | package client | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"encoding/json" | ||||||
|  | 	"errors" | ||||||
|  | 
 | ||||||
|  | 	"github.com/Selly-Modules/natsio" | ||||||
|  | 	"github.com/Selly-Modules/natsio/model" | ||||||
|  | 	"github.com/Selly-Modules/natsio/subject" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | // Supplier ...
 | ||||||
|  | type Supplier struct{} | ||||||
|  | 
 | ||||||
|  | // GetSupplier ...
 | ||||||
|  | func GetSupplier() Supplier { | ||||||
|  | 	return Supplier{} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (s Supplier) GetListSupplierInfo(p model.GetSupplierRequest) ([]*model.ResponseSupplierInfo, error) { | ||||||
|  | 	msg, err := natsio.GetServer().Request(subject.Supplier.GetListSupplierInfo, toBytes(p)) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	var r struct { | ||||||
|  | 		Data  []*model.ResponseSupplierInfo `json:"data"` | ||||||
|  | 		Error string                        `json:"error"` | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if err := json.Unmarshal(msg.Data, &r); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if r.Error != "" { | ||||||
|  | 		return nil, errors.New(r.Error) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	return r.Data, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (s Supplier) GetSupplierContractBySupplierID(p model.GetSupplierContractRequest) (*model.ResponseSupplierContract, error) { | ||||||
|  | 	msg, err := natsio.GetServer().Request(subject.Supplier.GetSupplierContractBySupplierID, toBytes(p)) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	var r struct { | ||||||
|  | 		Data  *model.ResponseSupplierContract `json:"data"` | ||||||
|  | 		Error string                          `json:"error"` | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if err := json.Unmarshal(msg.Data, &r); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if r.Error != "" { | ||||||
|  | 		return nil, errors.New(r.Error) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	return r.Data, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func (s Supplier) FindAll(supplierID model.SupplierRequestPayload) (*model.SupplierAll, error) { | ||||||
|  | 	msg, err := natsio.GetServer().Request(subject.Supplier.FindAll, toBytes(supplierID)) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	var r struct { | ||||||
|  | 		Data  *model.SupplierAll `json:"data"` | ||||||
|  | 		Error string             `json:"error"` | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if r.Error != "" { | ||||||
|  | 		return nil, errors.New(r.Error) | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	return r.Data, nil | ||||||
|  | } | ||||||
|  | @ -2,6 +2,7 @@ package client | ||||||
| 
 | 
 | ||||||
| import ( | import ( | ||||||
| 	"encoding/json" | 	"encoding/json" | ||||||
|  | 	"go.mongodb.org/mongo-driver/bson" | ||||||
| 	"log" | 	"log" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | @ -12,3 +13,9 @@ func toBytes(data interface{}) []byte { | ||||||
| 	} | 	} | ||||||
| 	return b | 	return b | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | // bsonToBytes ...
 | ||||||
|  | func bsonToBytes(data interface{}) []byte { | ||||||
|  | 	b, _ := bson.Marshal(data) | ||||||
|  | 	return b | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -17,6 +17,42 @@ func GetWarehouse() Warehouse { | ||||||
| 	return Warehouse{} | 	return Warehouse{} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | // AfterCreateWarehouse ...
 | ||||||
|  | func (w Warehouse) AfterCreateWarehouse(p model.WarehouseNatsResponse) error { | ||||||
|  | 	msg, err := natsio.GetServer().Request(subject.Warehouse.AfterCreateWarehouse, toBytes(p)) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	var r struct { | ||||||
|  | 		Error string `json:"error"` | ||||||
|  | 	} | ||||||
|  | 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	if r.Error != "" { | ||||||
|  | 		return errors.New(r.Error) | ||||||
|  | 	} | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // AfterUpdateWarehouse ...
 | ||||||
|  | func (w Warehouse) AfterUpdateWarehouse(p model.WarehouseNatsResponse) error { | ||||||
|  | 	msg, err := natsio.GetServer().Request(subject.Warehouse.AfterUpdateWarehouse, toBytes(p)) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	var r struct { | ||||||
|  | 		Error string `json:"error"` | ||||||
|  | 	} | ||||||
|  | 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	if r.Error != "" { | ||||||
|  | 		return errors.New(r.Error) | ||||||
|  | 	} | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
| // CreateOutboundRequest ...
 | // CreateOutboundRequest ...
 | ||||||
| func (w Warehouse) CreateOutboundRequest(p model.OutboundRequestPayload) (*model.OutboundRequestResponse, error) { | func (w Warehouse) CreateOutboundRequest(p model.OutboundRequestPayload) (*model.OutboundRequestResponse, error) { | ||||||
| 	msg, err := natsio.GetServer().Request(subject.Warehouse.CreateOutboundRequest, toBytes(p)) | 	msg, err := natsio.GetServer().Request(subject.Warehouse.CreateOutboundRequest, toBytes(p)) | ||||||
|  |  | ||||||
|  | @ -0,0 +1,85 @@ | ||||||
|  | package client | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"encoding/json" | ||||||
|  | 	"errors" | ||||||
|  | 	"github.com/Selly-Modules/natsio" | ||||||
|  | 	"github.com/Selly-Modules/natsio/model" | ||||||
|  | 	"github.com/Selly-Modules/natsio/subject" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | // DistinctWithField ...
 | ||||||
|  | func (w Warehouse) DistinctWithField(p model.DistinctWithField) ([]interface{}, error) { | ||||||
|  | 	msg, err := natsio.GetServer().Request(subject.Warehouse.Distinct, bsonToBytes(p)) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	var r struct { | ||||||
|  | 		Data  []interface{} `json:"data"` | ||||||
|  | 		Error string        `json:"error"` | ||||||
|  | 	} | ||||||
|  | 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if r.Error != "" { | ||||||
|  | 		return nil, errors.New(r.Error) | ||||||
|  | 	} | ||||||
|  | 	return r.Data, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // FindOneByCondition ...
 | ||||||
|  | func (w Warehouse) FindOneByCondition(p model.FindOneCondition) (*model.WarehouseNatsResponse, error) { | ||||||
|  | 	msg, err := natsio.GetServer().Request(subject.Warehouse.FindOne, bsonToBytes(p)) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	var r struct { | ||||||
|  | 		Data  *model.WarehouseNatsResponse `json:"data"` | ||||||
|  | 		Error string                       `json:"error"` | ||||||
|  | 	} | ||||||
|  | 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if r.Error != "" { | ||||||
|  | 		return nil, errors.New(r.Error) | ||||||
|  | 	} | ||||||
|  | 	return r.Data, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // CountByCondition ...
 | ||||||
|  | func (w Warehouse) CountByCondition(p model.FindWithCondition) (int64, error) { | ||||||
|  | 	msg, err := natsio.GetServer().Request(subject.Warehouse.Count, bsonToBytes(p)) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return 0, err | ||||||
|  | 	} | ||||||
|  | 	var r struct { | ||||||
|  | 		Data  int64  `json:"data"` | ||||||
|  | 		Error string `json:"error"` | ||||||
|  | 	} | ||||||
|  | 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||||
|  | 		return 0, err | ||||||
|  | 	} | ||||||
|  | 	if r.Error != "" { | ||||||
|  | 		return 0, errors.New(r.Error) | ||||||
|  | 	} | ||||||
|  | 	return r.Data, nil | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // FindByCondition ...
 | ||||||
|  | func (w Warehouse) FindByCondition(p model.FindWithCondition) ([]*model.WarehouseNatsResponse, error) { | ||||||
|  | 	msg, err := natsio.GetServer().Request(subject.Warehouse.FindByCondition, bsonToBytes(p)) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	var r struct { | ||||||
|  | 		Data  []*model.WarehouseNatsResponse `json:"data"` | ||||||
|  | 		Error string                         `json:"error"` | ||||||
|  | 	} | ||||||
|  | 	if err = json.Unmarshal(msg.Data, &r); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if r.Error != "" { | ||||||
|  | 		return nil, errors.New(r.Error) | ||||||
|  | 	} | ||||||
|  | 	return r.Data, nil | ||||||
|  | } | ||||||
							
								
								
									
										2
									
								
								go.mod
								
								
								
								
							
							
						
						
									
										2
									
								
								go.mod
								
								
								
								
							|  | @ -4,9 +4,9 @@ go 1.16 | ||||||
| 
 | 
 | ||||||
| require ( | require ( | ||||||
| 	github.com/golang/protobuf v1.5.2 // indirect | 	github.com/golang/protobuf v1.5.2 // indirect | ||||||
| 	github.com/logrusorgru/aurora v2.0.3+incompatible |  | ||||||
| 	github.com/nats-io/nats-server/v2 v2.6.1 // indirect | 	github.com/nats-io/nats-server/v2 v2.6.1 // indirect | ||||||
| 	github.com/nats-io/nats.go v1.13.0 | 	github.com/nats-io/nats.go v1.13.0 | ||||||
| 	github.com/thoas/go-funk v0.9.1 | 	github.com/thoas/go-funk v0.9.1 | ||||||
|  | 	go.mongodb.org/mongo-driver v1.10.1 | ||||||
| 	google.golang.org/protobuf v1.27.1 // indirect | 	google.golang.org/protobuf v1.27.1 // indirect | ||||||
| ) | ) | ||||||
|  |  | ||||||
							
								
								
									
										37
									
								
								go.sum
								
								
								
								
							
							
						
						
									
										37
									
								
								go.sum
								
								
								
								
							|  | @ -1,5 +1,6 @@ | ||||||
| github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= |  | ||||||
| github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||||
|  | github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= | ||||||
|  | github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||||
| github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= | github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= | ||||||
| github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= | github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= | ||||||
| github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= | github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= | ||||||
|  | @ -9,17 +10,25 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw | ||||||
| github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= | github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= | ||||||
| github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= | github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= | ||||||
| github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= | github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= | ||||||
|  | github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= | ||||||
| github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= | github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= | ||||||
| github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= | github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= | ||||||
| github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= | github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= | ||||||
| github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | ||||||
|  | github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | ||||||
|  | github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= | ||||||
| github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= | ||||||
| github.com/klauspost/compress v1.13.4 h1:0zhec2I8zGnjWcKyLl6i3gPqKANCCn5e9xmviEEeX6s= |  | ||||||
| github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= | github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= | ||||||
|  | github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc= | ||||||
|  | github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= | ||||||
|  | github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= | ||||||
|  | github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= | ||||||
|  | github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= | ||||||
| github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8= | github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8= | ||||||
| github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= | github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4= | ||||||
| github.com/minio/highwayhash v1.0.1 h1:dZ6IIu8Z14VlC0VpfKofAhCy74wu/Qb5gcn52yWoz/0= | github.com/minio/highwayhash v1.0.1 h1:dZ6IIu8Z14VlC0VpfKofAhCy74wu/Qb5gcn52yWoz/0= | ||||||
| github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= | github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= | ||||||
|  | github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= | ||||||
| github.com/nats-io/jwt v1.2.2 h1:w3GMTO969dFg+UOKTmmyuu7IGdusK+7Ytlt//OYH/uU= | github.com/nats-io/jwt v1.2.2 h1:w3GMTO969dFg+UOKTmmyuu7IGdusK+7Ytlt//OYH/uU= | ||||||
| github.com/nats-io/jwt v1.2.2/go.mod h1:/xX356yQA6LuXI9xWW7mZNpxgF2mBmGecH+Fj34sP5Q= | github.com/nats-io/jwt v1.2.2/go.mod h1:/xX356yQA6LuXI9xWW7mZNpxgF2mBmGecH+Fj34sP5Q= | ||||||
| github.com/nats-io/jwt/v2 v2.0.3 h1:i/O6cmIsjpcQyWDYNcq2JyZ3/VTF8SJ4JWluI5OhpvI= | github.com/nats-io/jwt/v2 v2.0.3 h1:i/O6cmIsjpcQyWDYNcq2JyZ3/VTF8SJ4JWluI5OhpvI= | ||||||
|  | @ -34,29 +43,44 @@ github.com/nats-io/nkeys v0.3.0 h1:cgM5tL53EvYRU+2YLXIK0G2mJtK12Ft9oeooSZMA2G8= | ||||||
| github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4= | github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4= | ||||||
| github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= | github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw= | ||||||
| github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= | github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= | ||||||
|  | github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | ||||||
| github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | ||||||
| github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||||||
| github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | ||||||
| github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= |  | ||||||
| github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= | github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= | ||||||
|  | github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0= | ||||||
|  | github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | ||||||
| github.com/thoas/go-funk v0.9.1 h1:O549iLZqPpTUQ10ykd26sZhzD+rmR5pWhuElrhbC20M= | github.com/thoas/go-funk v0.9.1 h1:O549iLZqPpTUQ10ykd26sZhzD+rmR5pWhuElrhbC20M= | ||||||
| github.com/thoas/go-funk v0.9.1/go.mod h1:+IWnUfUmFO1+WVYQWQtIJHeRRdaIyyYglZN7xzUPe4Q= | github.com/thoas/go-funk v0.9.1/go.mod h1:+IWnUfUmFO1+WVYQWQtIJHeRRdaIyyYglZN7xzUPe4Q= | ||||||
|  | github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= | ||||||
|  | github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= | ||||||
|  | github.com/xdg-go/scram v1.1.1/go.mod h1:RaEWvsqvNKKvBPvcKeFjrG2cJqOkHTiyTpzz23ni57g= | ||||||
|  | github.com/xdg-go/stringprep v1.0.3/go.mod h1:W3f5j4i+9rC0kuIEJL0ky1VpHXQU3ocBgklLGvcBnW8= | ||||||
|  | github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= | ||||||
|  | go.mongodb.org/mongo-driver v1.10.1 h1:NujsPveKwHaWuKUer/ceo9DzEe7HIj1SlJ6uvXZG0S4= | ||||||
|  | go.mongodb.org/mongo-driver v1.10.1/go.mod h1:z4XpeoU6w+9Vht+jAFyLgVrD+jGSQQe0+CBWFHNiHt8= | ||||||
| golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | ||||||
| golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | ||||||
| golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= | golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= | ||||||
| golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e h1:gsTQYXdTw2Gq7RBsWvlQ91b+aEQ6bXFUngBGuR8sPpI= |  | ||||||
| golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= | golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= | ||||||
|  | golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d h1:sK3txAijHtOK88l68nt020reeT1ZdKLIYetKl95FzVY= | ||||||
|  | golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= | ||||||
| golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | ||||||
| golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= | golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= | ||||||
|  | golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= | ||||||
|  | golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||||
| golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
| golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||||
| golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
|  | golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||||
| golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4= | golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4= | ||||||
| golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||||
| golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= | golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= | ||||||
| golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||||
| golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= | golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= | ||||||
|  | golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= | ||||||
|  | golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= | ||||||
| golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1 h1:NusfzzA6yGQ+ua51ck7E3omNUX/JuqbFSaRGqU8CcLI= | golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1 h1:NusfzzA6yGQ+ua51ck7E3omNUX/JuqbFSaRGqU8CcLI= | ||||||
| golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | ||||||
| golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | ||||||
|  | @ -72,5 +96,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ | ||||||
| google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= | google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= | ||||||
| google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= | google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= | ||||||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||||
| gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw= | gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||||
| gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= | ||||||
|  | gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||||||
|  | gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | ||||||
|  | gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||||||
|  |  | ||||||
|  | @ -26,3 +26,8 @@ func (e JSONEncoder) Subscribe(subject string, cb nats.Handler) (*nats.Subscript | ||||||
| func (e JSONEncoder) Publish(reply string, data interface{}) error { | func (e JSONEncoder) Publish(reply string, data interface{}) error { | ||||||
| 	return e.encConn.Publish(reply, data) | 	return e.encConn.Publish(reply, data) | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | // Request ...
 | ||||||
|  | func (e JSONEncoder) Request(subject string, data interface{}, res interface{}) error { | ||||||
|  | 	return e.encConn.Request(subject, data, res, requestTimeout) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -0,0 +1,22 @@ | ||||||
|  | package model | ||||||
|  | 
 | ||||||
|  | import "go.mongodb.org/mongo-driver/mongo/options" | ||||||
|  | 
 | ||||||
|  | type FindWithCondition struct { | ||||||
|  | 	Conditions interface{}            `json:"conditions"` | ||||||
|  | 	Opts       []*options.FindOptions `json:"opts"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type FindOneCondition struct { | ||||||
|  | 	Conditions interface{} `json:"conditions"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type DistinctWithField struct { | ||||||
|  | 	Conditions interface{} `json:"conditions"` | ||||||
|  | 	Filed      string      `json:"filed"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type ActionBy struct { | ||||||
|  | 	ID   string `json:"id"` | ||||||
|  | 	Name string `json:"name"` | ||||||
|  | } | ||||||
|  | @ -0,0 +1,23 @@ | ||||||
|  | package model | ||||||
|  | 
 | ||||||
|  | // LocationRequestPayload ...
 | ||||||
|  | type LocationRequestPayload struct { | ||||||
|  | 	Province int `json:"province"` | ||||||
|  | 	District int `json:"district"` | ||||||
|  | 	Ward     int `json:"ward"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // ProvinceRequestPayload ...
 | ||||||
|  | type ProvinceRequestPayload struct { | ||||||
|  | 	Codes []int `json:"codes"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // DistrictRequestPayload ...
 | ||||||
|  | type DistrictRequestPayload struct { | ||||||
|  | 	Codes []int `json:"codes"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // WardRequestPayload ...
 | ||||||
|  | type WardRequestPayload struct { | ||||||
|  | 	Codes []int `json:"codes"` | ||||||
|  | } | ||||||
|  | @ -0,0 +1,43 @@ | ||||||
|  | package model | ||||||
|  | 
 | ||||||
|  | type ResponseLocationAddress struct { | ||||||
|  | 	Province LocationProvince `json:"province"` | ||||||
|  | 	District LocationDistrict `json:"district"` | ||||||
|  | 	Ward     LocationWard     `json:"ward"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // LocationProvince ...
 | ||||||
|  | type LocationProvince struct { | ||||||
|  | 	ID   string `json:"id"` | ||||||
|  | 	Name string `json:"name"` | ||||||
|  | 	Code int    `json:"code"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // LocationDistrict ...
 | ||||||
|  | type LocationDistrict struct { | ||||||
|  | 	ID   string `json:"id"` | ||||||
|  | 	Name string `json:"name"` | ||||||
|  | 	Code int    `json:"code"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // LocationWard ...
 | ||||||
|  | type LocationWard struct { | ||||||
|  | 	ID   string `json:"id"` | ||||||
|  | 	Name string `json:"name"` | ||||||
|  | 	Code int    `json:"code"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // LocationProvinceResponse ...
 | ||||||
|  | type LocationProvinceResponse struct { | ||||||
|  | 	Provinces []LocationProvince `json:"provinces"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // LocationDistrictResponse ...
 | ||||||
|  | type LocationDistrictResponse struct { | ||||||
|  | 	Districts []LocationDistrict `json:"districts"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // LocationWardResponse ...
 | ||||||
|  | type LocationWardResponse struct { | ||||||
|  | 	Wards []LocationWard `json:"wards"` | ||||||
|  | } | ||||||
|  | @ -5,10 +5,36 @@ type OrderUpdateORStatus struct { | ||||||
| 	OrderCode      string      `json:"orderCode"` | 	OrderCode      string      `json:"orderCode"` | ||||||
| 	ORCode         string      `json:"orCode"` | 	ORCode         string      `json:"orCode"` | ||||||
| 	Status         string      `json:"status"` | 	Status         string      `json:"status"` | ||||||
|  | 	DeliveryStatus string      `json:"deliveryStatus"` | ||||||
| 	Reason         string      `json:"reason"` | 	Reason         string      `json:"reason"` | ||||||
|  | 	Data           OrderORData `json:"data"` | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // OrderCancelDelivery ...
 | // OrderCancelDelivery ...
 | ||||||
| type OrderCancelDelivery struct { | type OrderCancelDelivery struct { | ||||||
| 	OrderID string `json:"orderId"` | 	OrderID string `json:"orderId"` | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | // OrderChangeDeliveryStatus ...
 | ||||||
|  | type OrderChangeDeliveryStatus struct { | ||||||
|  | 	OrderID        string   `json:"orderId"` | ||||||
|  | 	DeliveryStatus string   `json:"deliveryStatus"` | ||||||
|  | 	ActionBy       ActionBy `json:"actionBy"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // OrderORData ...
 | ||||||
|  | type OrderORData struct { | ||||||
|  | 	Link string `json:"link"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // OrderUpdateLogisticInfoFailed ...
 | ||||||
|  | type OrderUpdateLogisticInfoFailed struct { | ||||||
|  | 	OrderID string `json:"orderId"` | ||||||
|  | 	ORCode  string `json:"orCode"` | ||||||
|  | 	Reason  string `json:"reason"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // OrderORsNotUpdateStatus ...
 | ||||||
|  | type OrderORsNotUpdateStatus struct { | ||||||
|  | 	ORCodes []string `json:"orCodes"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -0,0 +1,24 @@ | ||||||
|  | package model | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"go.mongodb.org/mongo-driver/bson/primitive" | ||||||
|  | ) | ||||||
|  | 
 | ||||||
|  | // GetSupplierRequest ...
 | ||||||
|  | type GetSupplierRequest struct { | ||||||
|  | 	ListID []primitive.ObjectID `json:"listID"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type GetSupplierContractRequest struct { | ||||||
|  | 	SupplierID primitive.ObjectID `json:"supplierID"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // SupplierRequestPayload ...
 | ||||||
|  | type SupplierRequestPayload struct { | ||||||
|  | 	Limit          int | ||||||
|  | 	Page           int | ||||||
|  | 	Keyword        string | ||||||
|  | 	Status         string | ||||||
|  | 	PIC            string | ||||||
|  | 	ContractStatus string | ||||||
|  | } | ||||||
|  | @ -0,0 +1,29 @@ | ||||||
|  | package model | ||||||
|  | 
 | ||||||
|  | // ResponseSupplierInfo ...
 | ||||||
|  | type ResponseSupplierInfo struct { | ||||||
|  | 	ID   string `json:"id"` | ||||||
|  | 	Name string `json:"name"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // ResponseSupplierContract ...
 | ||||||
|  | type ResponseSupplierContract struct { | ||||||
|  | 	ID       string `json:"id"` | ||||||
|  | 	Supplier string `json:"supplier"` | ||||||
|  | 	Name     string `json:"name"` | ||||||
|  | 	Status   string `json:"status"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // SupplierBrief ...
 | ||||||
|  | type SupplierBrief struct { | ||||||
|  | 	ID        string `json:"_id"` | ||||||
|  | 	Name      string `json:"name"` | ||||||
|  | 	Status    string `json:"status"` | ||||||
|  | 	CreatedAt string `json:"createdAt"` | ||||||
|  | 	UpdatedAt string `json:"updatedAt"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type SupplierAll struct { | ||||||
|  | 	Suppliers []SupplierBrief `json:"suppliers"` | ||||||
|  | 	Total     int64           `json:"total"` | ||||||
|  | } | ||||||
|  | @ -12,6 +12,19 @@ type OutboundRequestPayload struct { | ||||||
| 	TPLCode      string                `json:"tplCode"` | 	TPLCode      string                `json:"tplCode"` | ||||||
| 	Customer     CustomerInfo          `json:"customer"` | 	Customer     CustomerInfo          `json:"customer"` | ||||||
| 	Items        []OutboundRequestItem `json:"items"` | 	Items        []OutboundRequestItem `json:"items"` | ||||||
|  | 	Insurance    *InsuranceOpts        `json:"insurance"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // InsuranceOpts ...
 | ||||||
|  | type InsuranceOpts struct { | ||||||
|  | 	VehicleTypeID    string `json:"vehicleTypeId"` | ||||||
|  | 	VehicleTypeName  string `json:"vehicleTypeName"` | ||||||
|  | 	InsuranceTypeID  string `json:"insuranceTypeId"` | ||||||
|  | 	YearsOfInsurance int    `json:"yearsOfInsurance"` | ||||||
|  | 	License          string `json:"license"` | ||||||
|  | 	Chassis          string `json:"chassis"` | ||||||
|  | 	Engine           string `json:"engine"` | ||||||
|  | 	BeginDate        string `json:"beginDate"` | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // OutboundRequestItem ...
 | // OutboundRequestItem ...
 | ||||||
|  | @ -25,6 +38,7 @@ type OutboundRequestItem struct { | ||||||
| type CustomerInfo struct { | type CustomerInfo struct { | ||||||
| 	Name        string        `json:"name"` | 	Name        string        `json:"name"` | ||||||
| 	PhoneNumber string        `json:"phoneNumber"` | 	PhoneNumber string        `json:"phoneNumber"` | ||||||
|  | 	Email       string        `json:"email"` | ||||||
| 	Address     AddressDetail `json:"address"` | 	Address     AddressDetail `json:"address"` | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -49,3 +63,9 @@ type CancelOutboundRequest struct { | ||||||
| 	ORCode string `json:"orCode"` | 	ORCode string `json:"orCode"` | ||||||
| 	Note   string `json:"note"` | 	Note   string `json:"note"` | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | // SyncORStatusRequest ...
 | ||||||
|  | type SyncORStatusRequest struct { | ||||||
|  | 	ORCode    string `json:"orCode"` | ||||||
|  | 	OrderCode string `json:"orderCode"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -1,5 +1,7 @@ | ||||||
| package model | package model | ||||||
| 
 | 
 | ||||||
|  | import "time" | ||||||
|  | 
 | ||||||
| // OutboundRequestResponse ...
 | // OutboundRequestResponse ...
 | ||||||
| type OutboundRequestResponse struct { | type OutboundRequestResponse struct { | ||||||
| 	// System code
 | 	// System code
 | ||||||
|  | @ -22,6 +24,12 @@ type WarehouseConfiguration struct { | ||||||
| 	Order                   WarehouseOrder    `json:"order"` | 	Order                   WarehouseOrder    `json:"order"` | ||||||
| 	Partner                 WarehousePartner  `json:"partner"` | 	Partner                 WarehousePartner  `json:"partner"` | ||||||
| 	Delivery                WarehouseDelivery `json:"delivery"` | 	Delivery                WarehouseDelivery `json:"delivery"` | ||||||
|  | 	Other                   WarehouseOther    `json:"other"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // WarehouseOther ...
 | ||||||
|  | type WarehouseOther struct { | ||||||
|  | 	DoesSupportSellyExpress bool `json:"doesSupportSellyExpress"` | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // WarehouseSupplier ...
 | // WarehouseSupplier ...
 | ||||||
|  | @ -47,9 +55,9 @@ type WarehousePaymentMethod struct { | ||||||
| // WarehouseDelivery ...
 | // WarehouseDelivery ...
 | ||||||
| type WarehouseDelivery struct { | type WarehouseDelivery struct { | ||||||
| 	DeliveryMethods      []string `json:"deliveryMethods"` | 	DeliveryMethods      []string `json:"deliveryMethods"` | ||||||
| 	PriorityServiceCodes []string `json:"priorityDeliveryServiceCodes"` | 	PriorityServiceCodes []string `json:"priorityServiceCodes"` | ||||||
| 	EnabledSources       []int    `json:"enabledDeliverySources"` | 	EnabledSources       []int    `json:"enabledSources"` | ||||||
| 	Types                []string `json:"type"` | 	Types                []string `json:"types"` | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // WarehousePartner ...
 | // WarehousePartner ...
 | ||||||
|  | @ -59,3 +67,56 @@ type WarehousePartner struct { | ||||||
| 	Enabled        bool   `json:"enabled"` | 	Enabled        bool   `json:"enabled"` | ||||||
| 	Authentication string `json:"authentication"` | 	Authentication string `json:"authentication"` | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | // SyncORStatusResponse ...
 | ||||||
|  | type SyncORStatusResponse struct { | ||||||
|  | 	ORCode         string `json:"orCode"` | ||||||
|  | 	OrderCode      string `json:"orderCode"` | ||||||
|  | 	Status         string `json:"status"` | ||||||
|  | 	DeliveryStatus string `json:"deliveryStatus"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // ResponseWarehouseContact ...
 | ||||||
|  | type ResponseWarehouseContact struct { | ||||||
|  | 	Name    string `json:"name"` | ||||||
|  | 	Phone   string `json:"phone"` | ||||||
|  | 	Address string `json:"address"` | ||||||
|  | 	Email   string `json:"email"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // ResponseWarehouseLocation ...
 | ||||||
|  | type ResponseWarehouseLocation struct { | ||||||
|  | 	Province            CommonLocation `json:"province"` | ||||||
|  | 	District            CommonLocation `json:"district"` | ||||||
|  | 	Ward                CommonLocation `json:"ward"` | ||||||
|  | 	Address             string         `json:"address"` | ||||||
|  | 	LocationCoordinates ResponseLatLng `json:"locationCoordinates"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | type CommonLocation struct { | ||||||
|  | 	ID   string `json:"id"` | ||||||
|  | 	Name string `json:"name"` | ||||||
|  | 	Code int    `json:"code"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // ResponseLatLng ...
 | ||||||
|  | type ResponseLatLng struct { | ||||||
|  | 	Latitude  float64 `json:"latitude"` | ||||||
|  | 	Longitude float64 `json:"longitude"` | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // WarehouseNatsResponse ...
 | ||||||
|  | type WarehouseNatsResponse struct { | ||||||
|  | 	ID             string                    `json:"_id"` | ||||||
|  | 	Staff          string                    `json:"staff"` | ||||||
|  | 	Name           string                    `json:"name"` | ||||||
|  | 	SearchString   string                    `json:"searchString"` | ||||||
|  | 	Slug           string                    `json:"slug"` | ||||||
|  | 	Status         string                    `json:"status"` | ||||||
|  | 	Supplier       string                    `json:"supplier"` | ||||||
|  | 	Contact        ResponseWarehouseContact  `json:"contact"` | ||||||
|  | 	Location       ResponseWarehouseLocation `json:"location"` | ||||||
|  | 	Configurations WarehouseConfiguration    `json:"configurations"` | ||||||
|  | 	CreatedAt      time.Time                 `json:"createdAt"` | ||||||
|  | 	UpdatedAt      time.Time                 `json:"updatedAt"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | @ -18,7 +18,11 @@ func (sv Server) Request(subject string, payload []byte) (*nats.Msg, error) { | ||||||
| 	if sv.Config.RequestTimeout > 0 { | 	if sv.Config.RequestTimeout > 0 { | ||||||
| 		timeout = sv.Config.RequestTimeout | 		timeout = sv.Config.RequestTimeout | ||||||
| 	} | 	} | ||||||
| 	return sv.instance.Request(subject, payload, timeout) | 	msg, err := sv.instance.Request(subject, payload, timeout) | ||||||
|  | 	if errors.Is(err, nats.ErrNoResponders) { | ||||||
|  | 		log.Printf("[NATS SERVER]: request - no responders for subject: %s", subject) | ||||||
|  | 	} | ||||||
|  | 	return msg, err | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Reply ...
 | // Reply ...
 | ||||||
|  |  | ||||||
|  | @ -9,11 +9,7 @@ func getCommunicationValue(val string) string { | ||||||
| var Communication = struct { | var Communication = struct { | ||||||
| 	RequestHTTP  string | 	RequestHTTP  string | ||||||
| 	ResponseHTTP string | 	ResponseHTTP string | ||||||
| 	WebhookTNC        string |  | ||||||
| 	WebhookGlobalCare string |  | ||||||
| }{ | }{ | ||||||
| 	RequestHTTP:  getCommunicationValue("request_http"), | 	RequestHTTP:  getCommunicationValue("request_http"), | ||||||
| 	ResponseHTTP: getCommunicationValue("response_http"), | 	ResponseHTTP: getCommunicationValue("response_http"), | ||||||
| 	WebhookTNC:        getCommunicationValue("webhook_tnc"), |  | ||||||
| 	WebhookGlobalCare: getCommunicationValue("webhook_global_care"), |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -4,8 +4,12 @@ var prefixes = struct { | ||||||
| 	Communication string | 	Communication string | ||||||
| 	Order         string | 	Order         string | ||||||
| 	Warehouse     string | 	Warehouse     string | ||||||
|  | 	Location      string | ||||||
|  | 	Supplier      string | ||||||
| }{ | }{ | ||||||
| 	Communication: "communication", | 	Communication: "communication", | ||||||
| 	Order:         "order", | 	Order:         "order", | ||||||
| 	Warehouse:     "warehouse", | 	Warehouse:     "warehouse", | ||||||
|  | 	Location:      "location", | ||||||
|  | 	Supplier:      "supplier", | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -0,0 +1,19 @@ | ||||||
|  | package subject | ||||||
|  | 
 | ||||||
|  | import "fmt" | ||||||
|  | 
 | ||||||
|  | func getLocationValue(val string) string { | ||||||
|  | 	return fmt.Sprintf("%s.%s", prefixes.Location, val) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | var Location = struct { | ||||||
|  | 	GetLocationByCode   string | ||||||
|  | 	GetProvincesByCodes string | ||||||
|  | 	GetDistrictsByCodes string | ||||||
|  | 	GetWardsByCodes     string | ||||||
|  | }{ | ||||||
|  | 	GetLocationByCode:   getLocationValue("get_location_warehouse"), | ||||||
|  | 	GetProvincesByCodes: getLocationValue("get_provinces_by_codes"), | ||||||
|  | 	GetDistrictsByCodes: getLocationValue("get_districts_by_codes"), | ||||||
|  | 	GetWardsByCodes:     getLocationValue("get_wards_by_codes"), | ||||||
|  | } | ||||||
|  | @ -9,9 +9,13 @@ func getOrderValue(val string) string { | ||||||
| var Order = struct { | var Order = struct { | ||||||
| 	UpdateORStatus           string | 	UpdateORStatus           string | ||||||
| 	CancelDelivery           string | 	CancelDelivery           string | ||||||
| 	WebhookTNC        string | 	ChangeDeliveryStatus     string | ||||||
| 	WebhookGlobalCare string | 	UpdateLogisticInfoFailed string | ||||||
|  | 	ORNotUpdateStatus        string | ||||||
| }{ | }{ | ||||||
| 	UpdateORStatus:           getOrderValue("update_outbound_request_status"), | 	UpdateORStatus:           getOrderValue("update_outbound_request_status"), | ||||||
| 	CancelDelivery:           getOrderValue("cancel_delivery"), | 	CancelDelivery:           getOrderValue("cancel_delivery"), | ||||||
|  | 	ChangeDeliveryStatus:     getOrderValue("change_delivery_status"), | ||||||
|  | 	UpdateLogisticInfoFailed: getOrderValue("update_logistic_info_failed"), | ||||||
|  | 	ORNotUpdateStatus:        getOrderValue("outbound_request_not_update_status"), | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -0,0 +1,17 @@ | ||||||
|  | package subject | ||||||
|  | 
 | ||||||
|  | import "fmt" | ||||||
|  | 
 | ||||||
|  | func getSupplierValue(val string) string { | ||||||
|  | 	return fmt.Sprintf("%s.%s", prefixes.Supplier, val) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | var Supplier = struct { | ||||||
|  | 	GetListSupplierInfo             string | ||||||
|  | 	GetSupplierContractBySupplierID string | ||||||
|  | 	FindAll                         string | ||||||
|  | }{ | ||||||
|  | 	GetListSupplierInfo:             getSupplierValue("get_list_supplier_info"), | ||||||
|  | 	GetSupplierContractBySupplierID: getSupplierValue("get_supplier_contract_by_supplier_id"), | ||||||
|  | 	FindAll:                         getSupplierValue("find_all"), | ||||||
|  | } | ||||||
|  | @ -11,9 +11,27 @@ var Warehouse = struct { | ||||||
| 	UpdateOutboundRequestLogistic string | 	UpdateOutboundRequestLogistic string | ||||||
| 	CancelOutboundRequest         string | 	CancelOutboundRequest         string | ||||||
| 	GetConfiguration              string | 	GetConfiguration              string | ||||||
|  | 	SyncORStatus                  string | ||||||
|  | 	WebhookTNC                    string | ||||||
|  | 	WebhookGlobalCare             string | ||||||
|  | 	FindOne                       string | ||||||
|  | 	FindByCondition               string | ||||||
|  | 	Distinct                      string | ||||||
|  | 	Count                         string | ||||||
|  | 	AfterUpdateWarehouse          string | ||||||
|  | 	AfterCreateWarehouse          string | ||||||
| }{ | }{ | ||||||
|  | 	AfterCreateWarehouse:          getWarehouseValue("after_create_warehouse"), | ||||||
|  | 	AfterUpdateWarehouse:          getWarehouseValue("after_update_warehouse"), | ||||||
| 	CreateOutboundRequest:         getWarehouseValue("create_outbound_request"), | 	CreateOutboundRequest:         getWarehouseValue("create_outbound_request"), | ||||||
| 	UpdateOutboundRequestLogistic: getWarehouseValue("update_outbound_request_logistic_info"), | 	UpdateOutboundRequestLogistic: getWarehouseValue("update_outbound_request_logistic_info"), | ||||||
| 	CancelOutboundRequest:         getWarehouseValue("cancel_outbound_request"), | 	CancelOutboundRequest:         getWarehouseValue("cancel_outbound_request"), | ||||||
| 	GetConfiguration:              getWarehouseValue("get_configuration"), | 	GetConfiguration:              getWarehouseValue("get_configuration"), | ||||||
|  | 	SyncORStatus:                  getWarehouseValue("sync_or_status"), | ||||||
|  | 	WebhookTNC:                    getWarehouseValue("webhook_tnc"), | ||||||
|  | 	WebhookGlobalCare:             getWarehouseValue("webhook_global_care"), | ||||||
|  | 	FindOne:                       getWarehouseValue("find_one"), | ||||||
|  | 	FindByCondition:               getWarehouseValue("find_all_by_condition"), | ||||||
|  | 	Distinct:                      getWarehouseValue("distinct"), | ||||||
|  | 	Count:                         getWarehouseValue("count"), | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue