require 'sinatra/base' require 'helix_sync/change_service' require 'helix_sync/client_service' module HelixSync class App < Sinatra::Base # Fetch the latest changelist for a project get '/helix_sync/v1/changes/:project_id' do |project_id| require_p4 service = ChangeService.new(env: env) change = service.find_latest_change(project_id) halt 404 unless change {change: change}.to_json end # Create a pending changelist for a project post '/helix_sync/v1/changes/:project_id' do |project_id| require_p4_with_temp_client service = ChangeService.new(env: env) change = service.create_pending_change(project_id) halt 404 unless change {change: change}.to_json end # Get a pending changelist for the user to use for a project get '/helix_sync/v1/changes/:project_id/pending' do |project_id| require_p4 service = ChangeService.new(env: env) change = service.find_pending_change(project_id) halt 404 unless change {change: change}.to_json end # Submit a pending changelist for a project post '/helix_sync/v1/changes/:project/pending' do |project_id| require_p4 service = ChangeService.new(env: env) service.submit_pending_change(project_id) '' end # Create/update the client for a Helix Sync project post '/helix_sync/v1/clients' do require_p4 project = params['project'] device = params['device'] root = params['root'] service = ClientService.new(env: env) client_name = service.create_client(project, device, root) halt 404 unless client_name {client: client_name}.to_json end end end
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 15741 | ptomiak | Branch HWS for my use. | ||
//guest/perforce_software/helix-web-services/main/source/helix_web_services/lib/helix_sync/app.rb | |||||
#1 | 15622 | tjuricek |
Move source code to 'source/' subdirectory of branch. build/ will remain where it is. |
||
//guest/perforce_software/helix-web-services/main/helix_web_services/lib/helix_sync/app.rb | |||||
#7 | 15517 | tjuricek | Do not require changelist ID for submitting Helix Sync pending changelists. | ||
#6 | 15499 | tjuricek | Naive implementation of helix sync project submit for "helix versioning engine projects". | ||
#5 | 15497 | tjuricek | Add support to fetch the latest change of a project. | ||
#4 | 15496 | tjuricek |
Revise GET /helix_sync/v1/changes/[project] to /helix_sync/v1/changes/[project]/pending The base method is really intended for the latest changelist number. Meh. |
||
#3 | 15487 | tjuricek | Add basic ability to create pending changelists for helix sync projects. | ||
#2 | 15479 | tjuricek | Added a basic "HVE project" implementation for creating clients. | ||
#1 | 15242 | tjuricek | Add Helix Sync stubs and documentation |