Skip to content

Commit d9ca447

Browse files
committed
Sort queues by name and put OPENC3_DEFAULT_QUEUE on top
1 parent f02bc0a commit d9ca447

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

openc3-cosmos-cmd-tlm-api/app/controllers/queues_controller.rb

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,23 @@ def initialize
3838
def index
3939
return unless authorization('cmd_info')
4040
begin
41-
queues = @model_class.all(scope: params[:scope])
42-
ret = []
43-
queues.each do |_, trigger|
44-
ret << trigger
41+
models = @model_class.all(scope: params[:scope])
42+
queues = []
43+
models.each do |_, queue|
44+
queues << queue
4545
end
46-
render json: ret
46+
# Sort queues by name
47+
queues.sort_by! { |queue| queue['name'] }
48+
# If OPENC3_DEFAULT_QUEUE is set, move it to the front of the list
49+
default_queue = ENV['OPENC3_DEFAULT_QUEUE']
50+
if default_queue
51+
default_index = queues.find_index { |queue| queue['name'] == default_queue }
52+
if default_index
53+
default_queue_obj = queues.delete_at(default_index)
54+
queues.unshift(default_queue_obj)
55+
end
56+
end
57+
render json: queues
4758
rescue StandardError => e
4859
log_error(e)
4960
render json: { status: 'error', message: e.message, type: e.class.to_s, backtrace: e.backtrace }, status: 500

0 commit comments

Comments
 (0)