clientService
clientService
- clientService
- GetTable(params, [mapper]) ⇒
Promise.<({successfully: boolean, pagination: {values: Array.<Object>, totalCount: number}}|null)> - GetById(id, [mapper]) ⇒
Promise.<(Object|null)> - UpdateStatus(params) ⇒
Promise.<({successfully: boolean}|null)> - Update(clientData) ⇒
Promise.<({successfully: boolean}|null)> - Create(clientData) ⇒
Promise.<({successfully: boolean}|null)> - GetFiles(params, [mapper]) ⇒
Promise.<({successfully: boolean, pagination: {values: Array.<{id: number, fileType: number, fileName: string, filePath: string, createdAt: string}>, totalCount: number}}|null)> - AddFiles(params) ⇒
Promise.<({successfully: boolean}|null)> - MarkAsNotClient(params) ⇒
Promise.<({successfully: boolean}|null)>
- GetTable(params, [mapper]) ⇒
GetTable(params, [mapper]) ⇒ Promise.<({successfully: boolean, pagination: {values: Array.<Object>, totalCount: number}}|null)>
Получает список клиентов с пагинацией и фильтрами статуса
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| params | Object | |
| params.pagination | Object | Параметры пагинации (page, rowsPerPage, sortBy, descending) |
| params.clientStatusFilters | Array.<number> | Фильтры по статусу клиента |
| params.clientStatuses | Array.<number> | Список статусов клиента |
| [params.contactId] | string | ID контакта для фильтрации |
| [mapper] | function | Функция трансформации ответа. См. clientTableMapper |
Возвращаемые данные
Returns: Promise.<({successfully: boolean, pagination: {values: Array.<Object>, totalCount: number}}|null)> - Объект с пагинацией или null при ошибке
Пример
// Ответ (без маппера):
{
successfully: true,
pagination: {
values: [
{
id: 123, contactId: 456, clientStatus: 1,
firstName: "Max", lastName: "Mustermann",
birthdate: "1985-03-15T00:00:00", gender: 1,
address: {
googlePlaceId: "ChIJ...", country: "Germany", region: "Berlin",
regionCodeId: 1, city: "Berlin", street: "Hauptstraße",
house: "10", flat: "2A", postalCode: "10115",
location: { x: 13.388, y: 52.517 }, addressComment: ""
},
insurance: { type: 1, number: "A123456", insuranceCompanyId: 7, coveragePercentage: 100 },
careServiceTypes: [1, 2], socialServicesOfficeId: 5,
startCareDate: "2024-01-15", endCareDate: null, severityLevel: 3,
assistanceTypes: [1], referralId: null, referral: null,
partnerId: 10, preferredMailingTypes: [1],
hasPets: false, hasHearingProblems: false, callViaRelatives: false,
commentForAdministration: "", commentForEmployee: "",
isDied: false, phoneLinkContacts: [...], emailLinkContacts: [...]
}
],
totalCount: 42
}
}GetById(id, [mapper]) ⇒ Promise.<(Object|null)>
Получает данные клиента по ID
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| id | string | ID клиента |
| [mapper] | function | Функция трансформации ответа. См. clientByIdMapper, clientByIdForEditMapper |
Возвращаемые данные
Returns: Promise.<(Object|null)> - Данные клиента или null при ошибке
Пример
// Ответ (без маппера):
{
id: 123, contactId: 456, clientStatus: 1,
firstName: "Max", lastName: "Mustermann",
birthdate: "1985-03-15T00:00:00", gender: 1,
address: {
googlePlaceId: "ChIJ...", country: "Germany", region: "Berlin",
regionCodeId: 1, city: "Berlin", street: "Hauptstraße",
house: "10", flat: "2A", postalCode: "10115",
location: { x: 13.388, y: 52.517 }, addressComment: ""
},
insurance: { type: 1, number: "A123456", insuranceCompanyId: 7, coveragePercentage: 100 },
careServiceTypes: [1, 2], socialServicesOfficeId: 5,
startCareDate: "2024-01-15", endCareDate: null, severityLevel: 3,
assistanceTypes: [1], referralId: null,
referral: { sourceType: 1, detailType: 2, name: "Dr. Schmidt" },
partnerId: 10, preferredMailingTypes: [1],
hasPets: false, hasHearingProblems: false, callViaRelatives: false,
commentForAdministration: "", commentForEmployee: "",
isDied: false, phoneLinkContacts: [...], emailLinkContacts: [...]
}UpdateStatus(params) ⇒ Promise.<({successfully: boolean}|null)>
Обновляет статус клиента
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| params | Object | |
| params.clientId | string | ID клиента |
| params.status | number | Новый статус (значение из CLIENT_STATUSES_MAP) |
Возвращаемые данные
Returns: Promise.<({successfully: boolean}|null)> - Ответ API или null при ошибке
Пример
// Ответ:
{ successfully: true }Update(clientData) ⇒ Promise.<({successfully: boolean}|null)>
Обновляет данные существующего клиента
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| clientData | Object | Данные клиента (id, contactId, firstName, lastName, birthDate, gender, address, insurance, careServiceTypes и др.) |
Возвращаемые данные
Returns: Promise.<({successfully: boolean}|null)> - Ответ API или null при ошибке
Пример
// Ответ:
{ successfully: true }Create(clientData) ⇒ Promise.<({successfully: boolean}|null)>
Создаёт нового клиента
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| clientData | Object | Данные клиента (contactId, status, firstName, lastName, birthDate, gender, address, insurance, careServiceTypes и др.) |
Возвращаемые данные
Returns: Promise.<({successfully: boolean}|null)> - Ответ API или null при ошибке
Пример
// Ответ:
{ successfully: true }GetFiles(params, [mapper]) ⇒ Promise.<({successfully: boolean, pagination: {values: Array.<{id: number, fileType: number, fileName: string, filePath: string, createdAt: string}>, totalCount: number}}|null)>
Получает файлы клиента с пагинацией
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| params | Object | |
| params.clientId | string | ID клиента |
| params.pagination | Object | Параметры пагинации (page, rowsPerPage, sortBy, descending) |
| [mapper] | function | Функция трансформации ответа |
Возвращаемые данные
Returns: Promise.<({successfully: boolean, pagination: {values: Array.<{id: number, fileType: number, fileName: string, filePath: string, createdAt: string}>, totalCount: number}}|null)> - Объект с пагинацией файлов или null при ошибке
Пример
// Ответ:
{
successfully: true,
pagination: {
values: [
{ id: 1, fileType: 2, fileName: "contract.pdf", filePath: "/files/contract.pdf", createdAt: "2024-03-10T14:30:00" }
],
totalCount: 5
}
}AddFiles(params) ⇒ Promise.<({successfully: boolean}|null)>
Добавляет файлы клиенту
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| params | Object | |
| params.clientId | string | ID клиента |
| params.files | Array | Массив файлов [{ fileType: number, file: File }] |
Возвращаемые данные
Returns: Promise.<({successfully: boolean}|null)> - Ответ API или null при ошибке
Пример
// Ответ:
{ successfully: true }MarkAsNotClient(params) ⇒ Promise.<({successfully: boolean}|null)>
Вносит данные об отказе клиента
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| params | Object | |
| params.clientId | string | ID клиента |
| params.reason | string | Причина отказа |
Возвращаемые данные
Returns: Promise.<({successfully: boolean}|null)> - Ответ API или null при ошибке
Пример
// Ответ:
{ successfully: true }