SCScript
SCScript
SCScript
Класс для работы с серверными скриптами приложения
.init(id, path)
Инициализация скрипта
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
id | String |
Обязательный, если не задан path | Идентификатор серверного скрипта | "57484fb91c5666544db25675" |
path | String |
Обязательный, если не задан id | Полный путь до скрипта вместе с именем | "/newScript.js" |
Пример
let script = SCScript(path: "/newScript.js")
let script2 = SCScript(id: "57484fb91c5666544db25675")
.run(scriptID, pool, callback)
Метод для запуска серверного скрипта
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
scriptID | String |
Обязательный | Идентификатор серверного скрипта | "57484fb91c5666544db25675" |
pool | [String: AnyObject] |
Пул данных, которые будут переданы серверному скрипту | ["data": {"array": [0,1,2,3,"строка"], "logic": false}, "weekday": "friday"] | |
callback | (Bool, SCError?) -> Void |
Коллбэк для выполняемого запроса |
Пример
SCScript.run("57484fb91c5666544db25675", ["collname": "items", "key": "relToQuests", "val": ["CF4Gk9WP6L", "MwORD9llTM", "Jw4INX328A"]]) {
success, error in
}
.create(callback)
Метод для создания серверного скрипта
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
callback | (Bool, SCError?,[String:Any]?) -> Void |
Коллбэк для выполняемого запроса |
Пример
// инициализируем скрит
let script = SCScript(path: "/newScript.js")
// Дадим права на запуск пользователю с id = HCP8lrIAsV
script.ACL = ["HCP8lrIAsV"]
// Запишем код скрипта
script.code = "console.log(\"test\")"
// Добавим описание
script.description = "test script"
// Вкл или Откл запуск по расписанию
script.isActiveJob = true
// дата запуска
let dateString = "21 Oct 2017 07:45"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd MMM yyyy hh:mm"
dateFormatter.timeZone = TimeZone.current
let date = dateFormatter.date(from: dateString)
script.jobStartAt = SCDate(date!)
// Запускать ежедневно
script.jobType = .daily
// в 10 часов 45 минут
script.repeatTimer.daily.hours = 10
script.repeatTimer.daily.minutes = 45
// По понедельникам и средам
script.repeatTimer.daily.on = [1,3]
// Создадим скрипт на сервере
script.create { (success, error, result) in
print(result)
}
.load(callback)
Метод для загрузки настроек серверного скрипта
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
callback | (Bool, SCError?,[String:Any]?) -> Void |
Коллбэк для выполняемого запроса |
Пример
let script = SCScript(id: "5909ac0176e5e712788c9b66")
script.load { (success, error, result) in
print(script.code)
}
.save(callback)
Метод для сохранения настроек серверного скрипта
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
callback | (Bool, SCError?,[String:Any]?) -> Void |
Коллбэк для выполняемого запроса |
Пример
// Инициализируем существующий скрипт
let script = SCScript(id: "5909ac0176e5e712788c9b66")
// Загрузим настройки скрипта
script.load { (success, error, result) in
if error == nil {
// Если все ок, добавим права на запуск пользователю с id = HCP8lrIAsV
script.ACL.append("HCP8lrIAsV")
// Изменим код срипта
script.code = "console.log(\"this is new code\")"
// Сохраним изменения на сервер
script.save(callback: { (success, error, result) in
print(result)
})
}
}
.delete(callback)
Метод для удаления серверного скрипта
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
callback | (Bool, SCError?,[String:Any]?) -> Void |
Коллбэк для выполняемого запроса |
Пример
let script = SCScript(id: "5909ac0176e5e712788c9b66")
script.delete { (success, error, result) in
if error == nil {
print("Скрипт удален")
}
}