import initCtx from "@/utils/ctx.js";

export default function () {
	const {utils} = initCtx(this)

	this.viewCert = function (certId) {
		utils.popup("/servers/certs/certPopup?certId=" + certId, {
			width: "48em"
		})
	}

	this.updateTask = function (taskId) {
		utils.popup("/servers/certs/acme/updateTaskPopup?taskId=" + taskId, {
			width: "45em",
			callback: function () {
				utils.success("保存成功，如果证书域名发生了改变，请重新执行生成新证书", function () {
					utils.reload()
				})
			}
		})
	}

	this.deleteTask = function (taskId) {
		let that = this
		utils.confirm("确定要删除此任务吗？", function () {
			that.$post("/servers/certs/acme/deleteTask")
				.params({
					taskId: taskId
				})
				.refresh()
		})
	}


	this.isRunning = false
	this.runningIndex = -1

	this.runTask = function (index, task) {
		let that = this

		utils.confirm("html:确定要立即执行此任务吗？<br/>将会重新发起证书申请。", function () {
			that.isRunning = true
			that.runningIndex = index
			that.tasks[index].isRunning = true

			that.$post(".run")
				.timeout(300)
				.params({
					taskId: task.id
				})
				.success(function (resp) {
					utils.success("任务执行成功", function () {
						utils.reload()
					})
				})
				.done(function () {
					that.isRunning = false
					that.runningIndex = -1
					that.tasks[index].isRunning = false
				})
		})
	}

	this.showError = function (err) {
		utils.popupTip("任务执行失败：" + err)
	}
}