Введение: Простой CRUD

Простой CRUD предназначен для того, чтобы работать с сущностями, полностью соответствующими тем, которые есть в БД Кортеос.

Для работы с CRUD из-под агента необходимо получить контекст клиента на основании идентификатора договора. 

 

Объектная модель выглядит следующим образом:

 

Персона (имя в базе данных - RW_Person) связана со следующими сущностями:

  • Контакт (например, адрес электронной почты и телефон, имя в базе данных RW_Contact) - "1 ко многим", т. е. одна персона может иметь 0 и более контактов;

  • Документ (например, паспорт или заграничный паспорт, имя в базе данных RW_Document) - "1 ко многим", т. е. одна персона может иметь 0 и более документов;

  • Мильная карта или карта РЖД (имя в базе данных - RW_MileCards) - "1 ко многим", т. е. одна персона может иметь 0 и более мильных карт;

  • Тревел-политика (имя в базе данных ORG_Policy) - "многие ко многим", т. е. одна персона может иметь несколько тревел-политик, в том числе и по одной услуге, а одна тревел-политика может быть сразу у нескольких персон. Связь реализована через таблицу ORG_PolicyRelationJV3;

  • Пользователь (имя в базе данных CL_Client) - один к одному, т. е. одна персона может быть или не быть пользователем;

  • Структурный (или структурный меняемый код) (имя в базе данных - JV3_ORG_MetaCode) - содержится в справочнике JV3_ORG_MetaDictionary; "многие ко многим", т. е. одна персона может иметь несколько кодов, а один код может быть привязан к нескольким персонам. Связь реализована через таблицу JV3_ORG_MetaRelation.

Кроме того, персона привязана к организации (ORG_Organization), в которой она работает, а организация, в свою очередь, содержится внутри некой группы компаний (ORG_Group).

Например, есть ООО "Лютик" и ООО "Ромашка", а вместе они - холдинг "Цветы мира". В том случае, когда мы получаем контекст клиента для работы с персональными данными, мы как раз и выбираем эту компанию по идентификатору договора.

В большинстве случаев для каждой сущности предусмотрены следующие методы:

 

  • List - получение списка элементов по внешнему ключу или в рамках контекста договора клиента

  • Get - получить элемент по первичному ключу

  • Save - сохраняет элемент в БД

  • Delete - удаляет объект из базы данных (помечает его как удаленный - устанавливает флаг deleted=true).

Ответы методов всех трех типов содержатся в контейнере UniversalApiResponse, подробнее о нем можно почитать в разделе "Введение к API".



____