# Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/ Zammad::Application.routes.draw do api_path = Rails.configuration.api_path # ticket shared drafts resource api_path + '/tickets/:ticket_id/shared_draft', controller: 'ticket_shared_draft_zoom', except: %w[new edit create] do collection do post :import_attachments, as: nil end end resources api_path + '/tickets/shared_drafts', controller: 'tickets_shared_draft_starts', except: %w[new edit] do member do post :import_attachments, as: nil end end scope Rails.configuration.api_path do resources '/tickets/:ticket_id/time_accountings', controller: 'time_accountings', only: %i[index show create update destroy] end # tickets match api_path + '/tickets/search', to: 'tickets#search', via: %i[get post] match api_path + '/tickets', to: 'tickets#index', via: :get match api_path + '/tickets/:id', to: 'tickets#show', via: :get match api_path + '/tickets', to: 'tickets#create', via: :post match api_path + '/tickets/:id', to: 'tickets#update', via: :put match api_path + '/tickets/:id', to: 'tickets#destroy', via: :delete match api_path + '/tickets/mass_macro', to: 'tickets_mass#macro', via: :post match api_path + '/tickets/mass_update', to: 'tickets_mass#update', via: :post match api_path + '/ticket_create', to: 'tickets#ticket_create', via: :get match api_path + '/ticket_split', to: 'tickets#ticket_split', via: :get match api_path + '/ticket_history/:id', to: 'tickets#ticket_history', via: :get match api_path + '/ticket_customer', to: 'tickets#ticket_customer', via: :get match api_path + '/ticket_related/:ticket_id', to: 'tickets#ticket_related', via: :get match api_path + '/ticket_recent', to: 'tickets#ticket_recent', via: :get match api_path + '/ticket_merge/:source_ticket_id/:target_ticket_number', to: 'tickets#ticket_merge', via: :put match api_path + '/ticket_stats', to: 'tickets#stats', via: %i[get post] # ticket overviews match api_path + '/ticket_overview', to: 'ticket_overviews#data', via: :get match api_path + '/ticket_overviews', to: 'ticket_overviews#show', via: :get # ticket priority match api_path + '/ticket_priorities', to: 'ticket_priorities#index', via: :get match api_path + '/ticket_priorities/:id', to: 'ticket_priorities#show', via: :get match api_path + '/ticket_priorities', to: 'ticket_priorities#create', via: :post match api_path + '/ticket_priorities/:id', to: 'ticket_priorities#update', via: :put match api_path + '/ticket_priorities/:id', to: 'ticket_priorities#destroy', via: :delete # ticket state match api_path + '/ticket_states', to: 'ticket_states#index', via: :get match api_path + '/ticket_states/:id', to: 'ticket_states#show', via: :get match api_path + '/ticket_states', to: 'ticket_states#create', via: :post match api_path + '/ticket_states/:id', to: 'ticket_states#update', via: :put match api_path + '/ticket_states/:id', to: 'ticket_states#destroy', via: :delete # ticket articles match api_path + '/ticket_articles', to: 'ticket_articles#index', via: :get match api_path + '/ticket_articles/:id', to: 'ticket_articles#show', via: :get match api_path + '/ticket_articles/by_ticket/:id', to: 'ticket_articles#index_by_ticket', via: :get match api_path + '/ticket_articles', to: 'ticket_articles#create', via: :post match api_path + '/ticket_articles/:id', to: 'ticket_articles#update', via: :put match api_path + '/ticket_articles/:id', to: 'ticket_articles#destroy', via: :delete match api_path + '/ticket_attachment/:ticket_id/:article_id/:id', to: 'ticket_articles#attachment', via: :get match api_path + '/ticket_attachment_upload_clone_by_article/:article_id', to: 'ticket_articles#ticket_attachment_upload_clone_by_article', via: :post match api_path + '/ticket_article_plain/:id', to: 'ticket_articles#article_plain', via: :get match api_path + '/ticket_articles/:id/retry_security_process', to: 'ticket_articles#retry_security_process', via: :post match api_path + '/ticket_articles/:id/retry_whatsapp_attachment_download', to: 'ticket_articles#retry_whatsapp_attachment_download', via: :post # ticket checklist match api_path + '/tickets/:ticket_id/checklist/completed', to: 'ticket_checklist#completed', via: :get scope Rails.configuration.api_path do scope 'tickets/:ticket_id' do resource 'checklist', controller: 'ticket_checklist', only: %i[show create destroy update] do member do resources :items, controller: 'ticket_checklist_items', only: %i[create update destroy] end end end end end