diff options
author | Chris Baumbauer <cab@cabnetworks.net> | 2018-12-16 23:31:38 -0800 |
---|---|---|
committer | Chris Baumbauer <cab@cabnetworks.net> | 2019-01-10 14:13:41 -0800 |
commit | 1102deb0bd04a1bdf550ed74cf381a6bd400a7e0 (patch) | |
tree | d734488f04098bdabbae3ce0621debf0eb6bf918 /app/controllers/projects/serverless | |
parent | 71026ffd7e71da726a9b740d42093926f8477c3e (diff) | |
download | gitlab-ce-1102deb0bd04a1bdf550ed74cf381a6bd400a7e0.tar.gz |
Initial Serverless Functions detailed view
Diffstat (limited to 'app/controllers/projects/serverless')
-rw-r--r-- | app/controllers/projects/serverless/functions_controller.rb | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/app/controllers/projects/serverless/functions_controller.rb b/app/controllers/projects/serverless/functions_controller.rb index 0af2b7ef343..39eca10134f 100644 --- a/app/controllers/projects/serverless/functions_controller.rb +++ b/app/controllers/projects/serverless/functions_controller.rb @@ -7,19 +7,17 @@ module Projects before_action :authorize_read_cluster! - INDEX_PRIMING_INTERVAL = 10_000 - INDEX_POLLING_INTERVAL = 30_000 + INDEX_PRIMING_INTERVAL = 15_000 + INDEX_POLLING_INTERVAL = 60_000 def index - finder = Projects::Serverless::FunctionsFinder.new(project.clusters) - respond_to do |format| format.json do functions = finder.execute if functions.any? Gitlab::PollingInterval.set_header(response, interval: INDEX_POLLING_INTERVAL) - render json: Projects::Serverless::ServiceSerializer.new(current_user: @current_user).represent(functions) + render json: serialize_function(functions) else Gitlab::PollingInterval.set_header(response, interval: INDEX_PRIMING_INTERVAL) head :no_content @@ -32,6 +30,29 @@ module Projects end end end + + def show + @service = serialize_function(finder.service(params[:environment_id], params[:id])) + return not_found if @service.nil? + + respond_to do |format| + format.json do + render json: @service + end + + format.html + end + end + + private + + def finder + Projects::Serverless::FunctionsFinder.new(project.clusters) + end + + def serialize_function(function) + Projects::Serverless::ServiceSerializer.new(current_user: @current_user, project: project).represent(function) + end end end end |