Upstream sync
This commit is contained in:
@@ -14,6 +14,10 @@ import (
|
||||
"gitlab.com/pactual1/backend/shared"
|
||||
)
|
||||
|
||||
const (
|
||||
BlockchainSecretLength = 16
|
||||
)
|
||||
|
||||
func GetLatestContracts(c *gin.Context) {
|
||||
// Existing parameters
|
||||
limitStr := c.DefaultQuery("limit", "50")
|
||||
@@ -200,24 +204,25 @@ func CreateContract(c *gin.Context) {
|
||||
db := shared.GetDb()
|
||||
|
||||
newContract := models.Contract{
|
||||
BuyerID: payload.BuyerID,
|
||||
SellerID: payload.SellerID,
|
||||
Description: payload.Description,
|
||||
ProductID: payload.ProductID,
|
||||
MinTemp: payload.MinTemp,
|
||||
MaxTemp: payload.MaxTemp,
|
||||
ArrivalDate: time.Unix(payload.ArrivalDate, 0),
|
||||
PenaltyType: payload.PenaltyType,
|
||||
PenaltyValue: payload.PenaltyValue,
|
||||
PenaltyRec: payload.PenaltyRec,
|
||||
StartLat: payload.StartLat,
|
||||
StartLon: payload.StartLon,
|
||||
Status: models.ContractStatusDraft,
|
||||
StartPlaceName: payload.StartPlaceName,
|
||||
EndPlaceName: payload.EndPlaceName,
|
||||
Name: payload.Name,
|
||||
EndLat: payload.EndLat,
|
||||
EndLon: payload.EndLon,
|
||||
BuyerID: payload.BuyerID,
|
||||
SellerID: payload.SellerID,
|
||||
Description: payload.Description,
|
||||
ProductID: payload.ProductID,
|
||||
MinTemp: payload.MinTemp,
|
||||
MaxTemp: payload.MaxTemp,
|
||||
ArrivalDate: time.Unix(payload.ArrivalDate, 0),
|
||||
PenaltyType: payload.PenaltyType,
|
||||
PenaltyValue: payload.PenaltyValue,
|
||||
PenaltyRec: payload.PenaltyRec,
|
||||
StartLat: payload.StartLat,
|
||||
StartLon: payload.StartLon,
|
||||
Status: models.ContractStatusPending,
|
||||
StartPlaceName: payload.StartPlaceName,
|
||||
EndPlaceName: payload.EndPlaceName,
|
||||
Name: payload.Name,
|
||||
EndLat: payload.EndLat,
|
||||
EndLon: payload.EndLon,
|
||||
BlockchainSecret: shared.GenerateRandomString(BlockchainSecretLength),
|
||||
}
|
||||
|
||||
if err := db.Create(&newContract).Error; err != nil {
|
||||
|
||||
@@ -46,7 +46,16 @@ func SaveDeviceInfo(c *gin.Context) {
|
||||
|
||||
if deviceContract.Status == models.ContractStatusActive {
|
||||
deviceInfoBytes, _ := json.Marshal(deviceInfo)
|
||||
deviceInfoEncryptedStr, err := shared.NewEncryptionClient(config.AppConfig.Service.BlockchainSecret).Encrypt(string(deviceInfoBytes))
|
||||
if deviceContract.BlockchainSecret == "" {
|
||||
deviceContract.BlockchainSecret = shared.GenerateRandomString(BlockchainSecretLength)
|
||||
_, _, err := contract.UpdateContract(deviceContract)
|
||||
if err != nil {
|
||||
log.Printf("SaveDeviceInfo Update Contract error: %v", err)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Could not update contract secret"})
|
||||
return
|
||||
}
|
||||
}
|
||||
deviceInfoEncryptedStr, err := shared.NewEncryptionClient(deviceContract.BlockchainSecret).Encrypt(string(deviceInfoBytes))
|
||||
if err != nil {
|
||||
log.Printf("SaveDeviceInfo - Enrypt error : %v", err)
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Could not encrypt device info"})
|
||||
|
||||
Reference in New Issue
Block a user