From ce69b1204c26d6c33934f1e41688ba46edaa4b7f Mon Sep 17 00:00:00 2001 From: Seth Call Date: Tue, 2 Jun 2020 23:14:39 -0500 Subject: [PATCH] ars get or create --- admin/app/controllers/arses_controller.rb | 31 +++++++++++++++++++++++ admin/config/routes.rb | 2 ++ db/up/find_sessions_2020.sql | 10 ++++++++ 3 files changed, 43 insertions(+) create mode 100644 admin/app/controllers/arses_controller.rb diff --git a/admin/app/controllers/arses_controller.rb b/admin/app/controllers/arses_controller.rb new file mode 100644 index 000000000..2c0fcc8b6 --- /dev/null +++ b/admin/app/controllers/arses_controller.rb @@ -0,0 +1,31 @@ +class ArsesController < ApplicationController + + respond_to :json + + # create or update a client_artifact row + def get_or_create + name = params[:name] + provider = params[:provider] + active = params[:active] + + ars = Ars.find_by_name(name) + if ars.nil? + ars = Ars.new + ars.name = name + end + + ars.provider = provider + ars.active = active + ars.save + + @ars = ars + unless @ars.errors.any? + @ars = Ars.find_by_name(name) + render :json => {id_int: @ars.id_int, id: @ars.id, name: @ars.name, provider: @ars.provider, active: @ars.active}, :status => :ok + else + response.status = :unprocessable_entity + respond_with @ars + end + + end +end diff --git a/admin/config/routes.rb b/admin/config/routes.rb index 7c671b018..080111afc 100644 --- a/admin/config/routes.rb +++ b/admin/config/routes.rb @@ -34,6 +34,8 @@ JamAdmin::Application.routes.draw do match '/jam_tracks/top/:code' => 'jam_track#dump_top_selling', :via => :get match '/api/jam_tracks/released' => 'jam_track#dump_released', :via => :get, as: 'released_jamtracks_csv' + match '/api/arses/register' => 'arses#get_or_create', :via => :post + mount Resque::Server.new, :at => "/resque" diff --git a/db/up/find_sessions_2020.sql b/db/up/find_sessions_2020.sql index 1b19ed3fc..9447e9308 100644 --- a/db/up/find_sessions_2020.sql +++ b/db/up/find_sessions_2020.sql @@ -33,6 +33,16 @@ CREATE TABLE arses ( updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); +ALTER TABLE arses DROP COLUMN ip; +ALTER TABLE arses DROP COLUMN id_int; +--ALTER TABLE arses DROP COLUMN provider; +--ALTER TABLE arses DROP COLUMN provider_instance_id; +ALTER TABLE arses ADD COLUMN provider varchar(20) NOT NULL default 'gcp'; + +create sequence arses_id_int_seq; +alter table arses add column id_int int not null default nextval('arses_id_int_seq'); + + ------ ALTER TABLE generic_state ADD COLUMN top_message VARCHAR(100000); \ No newline at end of file