2026-01-02 13:41:09 +00:00
|
|
|
# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
|
2013-06-12 15:59:58 +00:00
|
|
|
|
2012-12-27 20:17:33 +00:00
|
|
|
class PackagesController < ApplicationController
|
2023-03-19 20:43:36 +00:00
|
|
|
prepend_before_action :authenticate_and_authorize!
|
2012-12-27 20:17:33 +00:00
|
|
|
|
2013-08-06 22:10:28 +00:00
|
|
|
# GET /api/v1/packages
|
2012-12-27 20:17:33 +00:00
|
|
|
def index
|
2015-04-27 13:42:53 +00:00
|
|
|
render json: {
|
2023-09-15 07:24:53 +00:00
|
|
|
packages: Package.reorder('name'),
|
2024-05-28 14:23:04 +00:00
|
|
|
package_installation: Package.app_package_installation?,
|
2024-11-11 14:03:21 +00:00
|
|
|
local_gemfiles: Package.gem_files?,
|
2012-12-27 20:17:33 +00:00
|
|
|
}
|
|
|
|
|
end
|
|
|
|
|
|
2013-08-06 22:10:28 +00:00
|
|
|
# POST /api/v1/packages
|
2012-12-27 23:29:11 +00:00
|
|
|
def install
|
2016-06-30 08:24:03 +00:00
|
|
|
Package.install(string: params[:file_upload].read)
|
2013-09-22 22:28:33 +00:00
|
|
|
redirect_to '/#system/package'
|
2012-12-27 23:29:11 +00:00
|
|
|
end
|
|
|
|
|
|
2013-08-06 22:10:28 +00:00
|
|
|
# DELETE /api/v1/packages
|
2012-12-27 23:29:11 +00:00
|
|
|
def uninstall
|
2016-06-30 08:24:03 +00:00
|
|
|
package = Package.find(params[:id])
|
|
|
|
|
Package.uninstall(name: package.name, version: package.version)
|
2015-04-27 13:42:53 +00:00
|
|
|
render json: {
|
|
|
|
|
success: true
|
2012-12-27 20:17:33 +00:00
|
|
|
}
|
|
|
|
|
end
|
2012-12-27 23:29:11 +00:00
|
|
|
|
2013-06-12 15:59:58 +00:00
|
|
|
end
|