Initial commit
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
module Carto
|
||||
module Api
|
||||
class SynchronizationsController < ::Api::ApplicationController
|
||||
|
||||
ssl_required :show, :index, :syncing?
|
||||
|
||||
before_filter :load_synchronization, only: [:show, :syncing?]
|
||||
|
||||
def show
|
||||
render_jsonp(@synchronization)
|
||||
rescue => exception
|
||||
CartoDB.notify_exception(exception)
|
||||
head(404)
|
||||
end
|
||||
|
||||
def index
|
||||
synchronizations = Carto::Synchronization.where(user_id: current_user.id)
|
||||
representation = synchronizations.map(&:to_hash)
|
||||
response = {
|
||||
synchronizations: representation,
|
||||
total_entries: synchronizations.count
|
||||
}
|
||||
render_jsonp(response)
|
||||
rescue => exception
|
||||
CartoDB.notify_exception(exception)
|
||||
head(404)
|
||||
end
|
||||
|
||||
def syncing?
|
||||
render_jsonp( { state: @synchronization.state } )
|
||||
rescue => exception
|
||||
CartoDB.notify_exception(exception)
|
||||
head(404)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def load_synchronization
|
||||
@synchronization = Carto::Synchronization::where(id: params[:id]).first
|
||||
head(404) and return unless @synchronization
|
||||
head(401) and return unless @synchronization.authorize?(current_user)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user