diff --git a/src/views/SQSView.vue b/src/views/SQSView.vue
index 3d3b996..6214512 100644
--- a/src/views/SQSView.vue
+++ b/src/views/SQSView.vue
@@ -85,7 +85,8 @@
Delay: {{ queue.attributes.DelaySeconds || 0 }}s •
- Visibility: {{ queue.attributes.VisibilityTimeoutSeconds || 30 }}s
+ Visibility: {{ queue.attributes.VisibilityTimeoutSeconds || 30 }}s •
+ Fifo: {{ queue?.attributes?.FifoQueue ? 'Sim' : 'Não' }}
@@ -239,6 +240,7 @@
>
+
+
@@ -305,7 +315,8 @@ const newQueue = ref({
const newMessage = ref({
body: '',
- delaySeconds: 0
+ delaySeconds: 0,
+ messageGroupId: ''
})
const queueNameRules = [
@@ -444,12 +455,15 @@ const receiveMessages = async () => {
const sendMessage = async () => {
if (!newMessage.value.body || !currentQueue.value) return
+ const isFifo = isCurrentQueueFifo()
+
sending.value = true
try {
const params = {
QueueUrl: currentQueue.value.url,
MessageBody: newMessage.value.body,
- DelaySeconds: newMessage.value.delaySeconds
+ DelaySeconds: isFifo ? undefined: newMessage.value.delaySeconds,
+ MessageGroupId: isFifo ? newMessage.value.messageGroupId : undefined
}
await sqs.value.send(new SendMessageCommand(params))
@@ -491,6 +505,10 @@ const parseAndFormatDate = (timestamp) => {
return formatDate(parseInt(timestamp))
}
+const isCurrentQueueFifo = () => {
+ return currentQueue.value?.attributes?.FifoQueue === 'true'
+}
+
onMounted(() => {
loadQueues()
})