Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
ACS
Public
VILLASframework
VILLASweb-backend-go
Commits
03341dbe
Commit
03341dbe
authored
Oct 26, 2020
by
Sonja Happ
Browse files
check if state field exists before processing a message
parent
cf8775b3
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
routes/infrastructure-component/amqpclient.go
View file @
03341dbe
...
...
@@ -261,26 +261,27 @@ func processMessage(message amqp.Delivery) error {
return
fmt
.
Errorf
(
"AMQP: Could not unmarshal message to JSON: %v err: %v"
,
string
(
message
.
Body
),
err
)
}
ICUUID
:=
payload
.
Properties
.
UUID
_
,
err
=
uuid
.
Parse
(
ICUUID
)
if
payload
.
State
!=
nil
{
// if a message contains a "state" field, it is an update for an IC
ICUUID
:=
payload
.
Properties
.
UUID
_
,
err
=
uuid
.
Parse
(
ICUUID
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"AMQP: UUID not valid: %v, message ignored: %v
\n
"
,
ICUUID
,
string
(
message
.
Body
))
}
var
sToBeUpdated
InfrastructureComponent
err
=
sToBeUpdated
.
ByUUID
(
ICUUID
)
if
err
==
gorm
.
ErrRecordNotFound
{
//
create
new record
err
=
createNewICviaAMQP
(
payload
)
}
else
if
err
!=
nil
{
// database error
err
=
fmt
.
Errorf
(
"AMQP: Database error for IC %v DB error message: %v"
,
ICUUID
,
err
)
}
else
{
// update record based on
payload
err
=
sToBeUpdated
.
updateICviaAMQP
(
payload
)
if
err
!=
nil
{
return
fmt
.
Errorf
(
"AMQP: UUID not valid: %v, message ignored: %v
\n
"
,
ICUUID
,
string
(
message
.
Body
))
}
var
sToBeUpdated
InfrastructureComponent
err
=
sToBeUpdated
.
ByUUID
(
ICUUID
)
if
err
==
gorm
.
ErrRecordNotFound
{
// create new record
err
=
create
NewICviaAMQP
(
payload
)
}
else
if
err
!
=
nil
{
// database error
err
=
fmt
.
Errorf
(
"AMQP: Database error for IC %v DB error message: %v"
,
ICUUID
,
err
)
}
else
{
// update record based on payload
err
=
sToBeUpdated
.
updateICviaAMQP
(
payload
)
}
}
return
err
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment