# Copyright (C) 2012-2016 Zammad Foundation, http://zammad-foundation.org/ class LinksController < ApplicationController prepend_before_action :authentication_check # GET /api/v1/links def index links = Link.list( link_object: params[:link_object], link_object_value: params[:link_object_value], ) assets = {} link_list = [] links.each { |item| link_list.push item if item['link_object'] == 'Ticket' ticket = Ticket.lookup(id: item['link_object_value']) assets = ticket.assets(assets) end } # return result render json: { links: link_list, assets: assets, } end # POST /api/v1/links/add def add object = Ticket.find_by(number: params[:link_object_source_number]) if !object render json: { error: 'No such object!' }, status: :unprocessable_entity return end link = Link.add( link_type: params[:link_type], link_object_target: params[:link_object_target], link_object_target_value: params[:link_object_target_value], link_object_source: params[:link_object_source], link_object_source_value: object.id, ) if link render json: link, status: :created else render json: link.errors, status: :unprocessable_entity end end # DELETE /api/v1/links/remove def remove link = Link.remove(params) if link render json: link, status: :created else render json: link.errors, status: :unprocessable_entity end end end