SCCollection
SCCollection
Класс для работы с коллекциями приложения
- SCCollection
- init(id, name)
- .create(callback)
- .save(callback)
- .delete(callback)
- .clone(name,callback)
- .load(callback)
- .createIndex(indexName,fieldName,order,callback)
- .deleteIndex(indexName,callback)
- .createField(fieldName,fieldType,targetCollectionName,callback)
- .deleteField(fieldName,callback)
- .saveTriggers(callback)
init(id, name)
Инициализация SCСollection
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
id | String |
Необязательный | id коллекции | "98bc4bacb5edea727cfb8fae25f71b59" |
name | String |
Обязательный | Имя коллекции | "Books" |
Пример
let collection = SCCollection(name: "Books")
.create(callback)
Метод для создания новой коллекции
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
callback | (Bool, SCError?, [String: AnyObject]?) -> Void |
Коллбэк для выполняемого запроса. |
Пример
// Инициализуем коллекцию
let collection = SCCollection(name: "Books")
// Дадим права на удаление записей коллекции двум пользователям с id = axCBar6eJI и 2lk8PTaVjH
collection.useDocsACL = true
collection.acl.remove = SCArray(stringArray: ["axCBar6eJI", "2lk8PTaVjH"])
collection.create() {
(success, error, result) in
print(result)
}
.save(callback)
Метод сохранения параметров коллекции
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
callback | (Bool, SCError?, [String: AnyObject]?) -> Void |
Коллбэк для выполняемого запроса. |
Пример
// Инициализируем коллекцию
let collection = SCCollection(name: "books")
// Загрузим параметры существующей коллекции
collection.load {
(success, error, result) in
if error == nil {
// дополним список пользователей, которым разрешено удалять записи коллекции, пользователем с id = snvrEKS1hs
collection.acl.remove.append("snvrEKS1hs")
// сохраним параметры коллекции
collection.save {
(success, error, result) in
print(result)
}
}
}
.delete(callback)
Метод для удаления коллекции
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
callback | (Bool, SCError?, [String: AnyObject]?) -> Void |
Коллбэк для выполняемого запроса. |
Пример
// Инициализируем коллекцию
let collection = SCCollection(name: "books")
// Удалим коллекцию
collection.delete(callback: { (success, error, result) in
print(result)
})
.clone(name, callback)
Метод для создания копии существующей коллекции
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
name | String |
Обязательный | Имя новой коллекции | "BooksCopy" |
callback | (Bool, SCError?, [String: AnyObject]?) -> Void |
Коллбэк для выполняемого запроса. |
Пример
// Инициализируем коллекцию
let collection = SCCollection(name: "books")
// Зададим настройки коллекции
collection.acl.remove = ["3TB1tL5v7m", "HCP8lrIAsV"]
collection.useDocsACL = true
// Создадим коллекцию
collection.create {(success, error, result) in
if error == nil {
// Если коллекция создалась успешно, то создадим копию коллекции с новым именем "books_copy"
collection.clone(name: "books_copy", callback: { (success, error, result) in
print(result)
})
}
}
.load(callback)
Загрузка триггеров и настроек конкретной коллекции
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
callback | (Bool, SCError?, [String: AnyObject]?) -> Void |
Коллбэк для выполняемого запроса. |
Пример
// Инициализируем коллекцию
let collection = SCCollection(name: "books")
// Загрузим настройки и триггеры коллекции
collection.load { (success, error, result) in
if error == nil {
print(collection.acl.remove)
print(collection.triggers.afterUpdate.code)
}
}
.createIndex(indexName,fieldName,order,callback)
Создание индекса коллекции
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
indexName | String |
Обязательный | Название индекса | "UserNameIndex" |
fieldName | String |
Обязательный | Имя поля коллекции | "Name" |
order | IndexSortOrder |
Обязательный | Сортировка | .descending |
callback | (Bool, SCError?, [String: AnyObject]?) -> Void |
Коллбэк для выполняемого запроса. |
Пример
// Инициализируем коллекцию
let collection = SCCollection(name: "users")
// Создадим индекс с именем "UserNameIndex" для поля "name" с сортировкой по убыванию
collection.createIndex(indexName: "UserNameIndex", fieldName: "name", order: .descending) {
(success, error, result) in
print(result)
}
.deleteIndex(indexName,callback)
Удаление индекса коллекции
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
indexName | String |
Обязательный | Название индекса | "UserNameIndex" |
callback | (Bool, SCError?, [String: AnyObject]?) -> Void |
Коллбэк для выполняемого запроса. |
Пример
// Инициализируем коллекцию
let collection = SCCollection(name: "users")
// Удалим индекс "UserNameIndex"
collection.deleteIndex(indexName: "UserNameIndex") {
(succes, error, result) in
print(result)
}
.createField(fieldName,fieldType,targetCollectionName,callback)
Создание поля коллекции
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
fieldName | String |
Обязательный | Имя поля | "town" |
fieldType | FieldType |
Обязательный | Тип Поля | .Pointer |
targetCollectionName | String |
Обязательный для полей с типом .Pointer или .Relation | Имя целевой коллекции | "towns" |
callback | (Bool, SCError?, [String: AnyObject]?) -> Void |
Коллбэк для выполняемого запроса. |
Пример
// Инициализируем коллекцию
let collection = SCCollection(name: "users")
// добавим пользователям поле "town" и свяжем это поле с коллекцией "towns"
collection.createField(fieldName: "town", fieldType: .Pointer, targetCollectionName: "towns") { (success, error, result) in
print(result)
}
.deleteField(fieldName,callback)
Удаление поля коллекции
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
fieldName | String |
Обязательный | Имя поля | "town" |
callback | (Bool, SCError?, [String: AnyObject]?) -> Void |
Коллбэк для выполняемого запроса. |
Пример
// Инициализируем коллекцию
let collection = SCCollection(name: "users")
// Удалим поле "town"
collection.deleteField(fieldName: "town") { (success, error, result) in
print(result)
}
.saveTriggers(callback)
Сохранение триггеров коллекции
Параметр | Тип | Свойства | Описание | Пример значения |
---|---|---|---|---|
callback | (Bool, SCError?, [String: AnyObject]?) -> Void |
Коллбэк для выполняемого запроса. |
Пример
// Инициализируем коллекцию
let collection = SCCollection(name: "users")
// Загрузим триггеры коллекции
collection.load { (success, error, result) in
if error == nil {
// если все ок, то изменим некоторые триггеры
collection.triggers.afterUpdate.isActive = true
collection.triggers.afterUpdate.code = "console.log(\"after update trigger\")"
let isActive = collection.triggers.beforeRemove.isActive
collection.triggers.beforeRemove.isActive = !isActive
// запишем изменения
collection.saveTriggers(callback: { (success, error, result) in
print(result)
})
}
}