SubjectRepository
Документация для класса SubjectRepository.
Методы
fireUserForAdmin
Описание
Увольнение пользователя из администрирования
HTTP метод: DELETE
URL: /api/v1/subject/admin/users/fire/{param}
Параметры:
| Имя | Тип | Описание |
|---|---|---|
userId | number |
Возвращает: Promise<void>
getSubjectEntities
Описание
Получение единиц компании.
Сама компания, подразделения компании, сотрудники компании
HTTP метод: GET
URL: /api/v1/subject/admin/units
Параметры: Нет
Возвращает: Promise<SubjectEntityT[]>
getSubjectEntityById
Описание
Получение единицы компании по ID
HTTP метод: GET
URL: /api/v1/subject/admin/units/{param}
Параметры:
| Имя | Тип | Описание |
|---|---|---|
subjectEntityId | SubjectEntityT['id'] |
Возвращает: Promise<SubjectEntityT<typeAlias>>
createSubjectDepartment
Описание
Создание подразделения как в компании, так и внутри другого подразделения
HTTP метод: POST
URL: /api/v1/subject/admin/units
Параметры:
| Имя | Тип | Описание |
|---|---|---|
payload | SubjectEntityEditorT |
Возвращает: Promise<SubjectEntityT>
editSubjectDepartment
Описание
Редактирование департамента компании по ID
HTTP метод: POST
URL: /api/v1/subject/admin/units/{param}
Параметры:
| Имя | Тип | Описание |
|---|---|---|
subjectEntityId | SubjectEntityT['id'] | |
payload | SubjectEntityEditorT |
Возвращает: Promise<SubjectEntityT>
deleteSubjectDepartment
Описание
Удаление подразделение в компании любого уровня по ID подразделения
HTTP метод: DELETE
URL: /api/v1/subject/admin/units/{param}
Параметры:
| Имя | Тип | Описание |
|---|---|---|
departmentId | number |
Возвращает: Promise<void>
getUsersForAdmin
Описание
Получение пользователей для администрирования
HTTP метод: GET
URL: /api/v1/subject/admin/users
Параметры:
| Имя | Тип | Описание |
|---|---|---|
payload | IGetUsersForAdminPayload |
Возвращает: Promise<IPaginationShell<IAdminUser[]>>
addUserInSubjectDepartment
Описание
Добавление пользователя в подразделение компании
HTTP метод: POST
URL: /api/v1/subject/admin/units/add-user
Параметры:
| Имя | Тип | Описание |
|---|---|---|
payload | IAddUserInSubjectDepartmentPayload |
Возвращает: Promise<SubjectEntityT>
transferSubjectEntity
Описание
Перемещение единицы(подразделение, пользовать) компании
HTTP метод: POST
URL: /api/v1/subject/admin/units/move
Параметры:
| Имя | Тип | Описание |
|---|---|---|
payload | ITransferSubjectEntityPayload[] |
Возвращает: Promise<void>
updateUserForAdmin
Описание
Обновление данных пользователя из администрирования
HTTP метод: PUT
URL: /api/v1/subject/admin/users/{param}
Параметры:
| Имя | Тип | Описание |
|---|---|---|
userId | number | |
payload | IUpdateUserForAdminPayload |
Возвращает: Promise<IAdminUser>
updateRequestState
Описание
Изменение состояния запроса в компанию пользователя. Например: Принять/Отказать
HTTP метод: PUT
URL: /api/v1/subject/admin/users/change-state/{param}
Параметры:
| Имя | Тип | Описание |
|---|---|---|
requestId | number | |
payload | IUpdateRequestStatePayload |
Возвращает: Promise<void>
findUserForAdmin
Описание
Поиск пользователя для администрирования
HTTP метод: GET
URL: /api/v1/subject/admin/users/find
Параметры:
| Имя | Тип | Описание |
|---|---|---|
payload | IFindUserForAdminPayload |
Возвращает: Promise<IFindUserForAdminResponse[]>
addUserInSubject
Описание
Добавление пользователя в компанию/подразделение
HTTP метод: POST
URL: /api/v1/subject/admin/users/invite-link/direct
Параметры:
| Имя | Тип | Описание |
|---|---|---|
payload | IAddUserInSubjectPayload |
Возвращает: Promise<void>
inviteUsersInSubject
Описание
Приглашения пользователей по email.
HTTP метод: POST
URL: /api/v1/subject/admin/users/invite-link/send
Параметры:
| Имя | Тип | Описание |
|---|---|---|
payload | IInviteUsersInSubjectPayload |
Возвращает: Promise<void>
generateInviteLinkInSubject
Описание
Генерация ссылки для приглашения пользователей.
HTTP метод: GET
URL: /api/v1/subject/admin/users/invite-link/generate
Параметры:
| Имя | Тип | Описание |
|---|---|---|
payload | IGenerateInviteLinkInSubjectPayload |
Возвращает: Promise<IGenerateInviteLinkInSubjectResponse>
unlockAdminUser
Описание
Разблокировка пользователя в администрировании
HTTP метод: POST
URL: /api/v1/subject/admin/users/restore-disabled
Параметры:
| Имя | Тип | Описание |
|---|---|---|
payload | IUnlockAdminUserPayload |
Возвращает: Promise<IAdminUser>
restoreAdminUser
Описание
Восстановление уволенного сотрудника
HTTP метод: POST
URL: /api/v1/subject/admin/users/restore-fired
Параметры:
| Имя | Тип | Описание |
|---|---|---|
payload | IUnlockAdminUserPayload |
Возвращает: Promise<IAdminUser>
getSubjectUsers
Описание
Получение пользователей компании
HTTP метод: GET
URL: /api/v1/subject/users
Параметры:
| Имя | Тип | Описание |
|---|---|---|
payload | IGetSubjectUsersPayload |
Возвращает: Promise<IUser[]>
addBill
Описание
Добавление банковского счета компании
HTTP метод: POST
URL: /api/v1/subject/bill/
Параметры:
| Имя | Тип | Описание |
|---|---|---|
payload | IEditorBill |
Возвращает: Promise<void>
editBill
Описание
Редактирование банковского счета компании
HTTP метод: PUT
URL: /api/v1/subject/bill/{param}
Параметры:
| Имя | Тип | Описание |
|---|---|---|
billId | IBill['id'] | |
payload | IEditorBill |
Возвращает: Promise<void>
deleteBill
Описание
Удаление банковского счета компании
HTTP метод: DELETE
URL: /api/v1/subject/bill/{param}
Параметры:
| Имя | Тип | Описание |
|---|---|---|
billId | IBill['id'] |
Возвращает: Promise<void>
addContact
Описание
Добавление контакта компании
HTTP метод: POST
URL: /api/v1/subject/contact/
Параметры:
| Имя | Тип | Описание |
|---|---|---|
payload | IEditorContact |
Возвращает: Promise<void>
editContact
Описание
Редактирование контакта компании
HTTP метод: PUT
URL: /api/v1/subject/contact/{param}
Параметры:
| Имя | Тип | Описание |
|---|---|---|
contactId | IContact['id'] | |
payload | IEditorContact |
Возвращает: Promise<void>
deleteContact
Описание
Удаление контакта компании
HTTP метод: DELETE
URL: /api/v1/subject/contact/{param}
Параметры:
| Имя | Тип | Описание |
|---|---|---|
contactId | IContact['id'] |
Возвращает: Promise<void>
updateAvatar
Описание
Обновление аватар текущей компании
HTTP метод: POST
URL: /api/v1/subject/logo/upload
Параметры:
| Имя | Тип | Описание |
|---|---|---|
file | File |
Возвращает: Promise<void>
getSubject
Описание
Получение текущей компании
HTTP метод: GET
URL: /api/v1/subject
Параметры: Нет
Возвращает: Promise<ISubject>
getSubjects
Описание
Получение словаря компаний
HTTP метод: GET
URL: /api/v1/subject/list
Параметры:
| Имя | Тип | Описание |
|---|---|---|
payload | IGetSubjectsPayload |
Возвращает: Promise<Pick<ISubject, 'id' \| 'identifier' \| 'name' \| 'parent_id'>[]>
getSuperAdminSubjects
Описание
Получение участников для СуперАдминистрирования
HTTP метод: GET
URL: /api-admin/v1/subjects
Параметры:
| Имя | Тип | Описание |
|---|---|---|
payload | IGetSuperAdminSubjectsPayload |
Возвращает: Promise<IPaginationShell<ISuperAdminSubject[]>>
getSuperAdminSubjectById
Описание
Получение участника по ID для СуперАдминистрирования
HTTP метод: GET
URL: /api-admin/v1/subjects/{param}
Параметры:
| Имя | Тип | Описание |
|---|---|---|
subjectId | ISuperAdminSubject['id'] |
Возвращает: Promise<ISubject>
updateSuperAdminSubject
Описание
Обновление данных участника для СуперАдминистрирования
HTTP метод: PUT
URL: /api-admin/v1/subjects/{param}
Параметры:
| Имя | Тип | Описание |
|---|---|---|
subjectId | ISuperAdminSubject['id'] | |
payload | ISuperAdminSubjectEditor |
Возвращает: Promise<ISubject>
getRelations
Описание
Получение связанных компаний Пока что используется для выбора организатора
HTTP метод: GET
URL: /api/v1/subject/relations
Параметры:
| Имя | Тип | Описание |
|---|---|---|
payload | IGetRelationsPayload |
Возвращает: Promise<ISubject[]>
Определения типов
Определения интерфейсов, перечислений и псевдонимов типов, используемых в методах этого репозитория.
IAddUserInSubjectDepartmentPayload
| Свойство | Тип | Описание |
|---|---|---|
id | number | ID пользователя |
sys_subject_units_id | number | ID подразделения |
sort_pid | number |
IAddUserInSubjectPayload
| Свойство | Тип | Описание |
|---|---|---|
email | string | |
job_title | string | |
sys_subject_unit_id | null | number |
IAdminRole
| Свойство | Тип | Описание |
|---|---|---|
id | number | |
role | IUserRole | |
sys_subjects_id | ISubject['id'] | |
sys_users_id | number |
IAdminUser
| Свойство | Тип | Описание |
|---|---|---|
id | number | |
created_at | RefDate | |
deleted_at (опц.) | RefDate | |
is_disable | boolean | |
is_disabled_reason (опц.) | null | string | |
job_title | string | |
job_title_ru | string | |
job_title_kz | string | |
job_title_en | string | |
sort_pid | SubjectEntityT['sort_pid'] | |
sys_subject_unit | SubjectEntityT<ESubjectEntityTypeAlias.Division> | |
expires_at (опц.) | RefDateTime | |
email (опц.) | string | |
uuid (опц.) | string | |
request_type | RefEntityShell | |
status | RefEntityShell | |
user | Omit<IUser, 'email_verified' | 'set_password' | 'permissions'> | |
roles | IAdminRole[] |
IBank
| Свойство | Тип | Описание |
|---|---|---|
id | number | |
name | string | |
address | string | |
bik | string | |
code | number | |
country | ICountry | |
is_active | boolean | |
is_head | boolean |
IBill
| Свойство | Тип | Описание |
|---|---|---|
id | number | |
iik | string | |
is_default | boolean | |
kbe | RefNumberInString | |
sys_subjects_id | number | |
country | ICountry | |
currency | ICurrency | |
bank | IBank | |
bill_type | Omit<RefEntityShell<undefined, EBillTypeId>, 'alias'> |
IContact
| Свойство | Тип | Описание |
|---|---|---|
id | number | |
fulladdress | string | |
is_default | boolean | |
phone | string | |
postal | string | |
sys_subjects_id | number | |
contact_type | RefEntityShell | |
country | ICountry | |
kato (опц.) | IKATO |
ICountry
| Свойство | Тип | Описание |
|---|---|---|
alpha2 | CountryIsoCode | |
code | RefNumberInString | |
id | number | |
is_active | boolean | |
name | string |
ICurrency
| Свойство | Тип | Описание |
|---|---|---|
id | RefNumberInString | |
name | string | |
code | number | |
is_active | boolean | |
current | `{ |
id: number
code: string
publish_date: string
amount: string
description: string
}` | |
IEditorBill
| Свойство | Тип | Описание |
|---|---|---|
iik | string | |
is_default | boolean | |
kbe | string | |
ref_banks_id | number | null | |
ref_bill_type_id | number | null | |
ref_countries_id | number | null | |
ref_currency_id | number | null |
IEditorContact
| Свойство | Тип | Описание |
|---|---|---|
fulladdress | string | |
is_default | boolean | |
phone | string | null | |
postal | string | |
ref_contact_type_id | number | null | |
ref_countries_id | number | null | |
ref_kato_id (опц.) | number | null |
IFindUserForAdminPayload
| Свойство | Тип | Описание |
|---|---|---|
q | string | Точно неясно с чем работает. Но точно можно искать по ИИН. |
IFindUserForAdminResponse
| Свойство | Тип | Описание |
|---|---|---|
email | string | |
id | number | |
identifier | string | |
lastname | string | |
name | string | |
phone | string | |
surname | string |
IGenerateInviteLinkInSubjectPayload
| Свойство | Тип | Описание |
|---|---|---|
ttl | number |
IGenerateInviteLinkInSubjectResponse
| Свойство | Тип | Описание |
|---|---|---|
uuid | string | |
link | string |
IGetRelationsPayload
| Свойство | Тип | Описание |
|---|---|---|
q (опц.) | string | |
status (опц.) | ESubjectRelationStatus |
IGetSubjectsPayload
| Свойство | Тип | Описание |
|---|---|---|
q (опц.) | string |
IGetSubjectUsersPayload
| Свойство | Тип | Описание |
|---|---|---|
q (опц.) | string | |
sys_subjects_id (опц.) | ISubject['id'] |
IGetSuperAdminSubjectsPayload
Наследует: IPaginationPayload
| Свойство | Тип | Описание |
|---|---|---|
q (опц.) | string |
IGetUsersForAdminPayload
Наследует: IPaginationPayload
| Свойство | Тип | Описание |
|---|---|---|
status | EUserStatusId | |
is_disable (опц.) | boolean | |
request_type (опц.) | EUserRequestTypeId | |
sys_subject_units_id (опц.) | number | |
q (опц.) | string |
IInviteUsersInSubjectPayload
| Свойство | Тип | Описание |
|---|---|---|
emails | string[] | |
ttl | number |
IKATO
| Свойство | Тип | Описание |
|---|---|---|
id | number | |
full_name | string | |
name | string | |
te | string |
IPaginationLinks
| Свойство | Тип | Описание |
|---|---|---|
first | string | null | |
last | string | null | |
next | string | null | |
prev | string | null |
IPaginationMeta
| Свойство | Тип | Описание |
|---|---|---|
path | string | |
current_page | number | |
per_page | number | |
to | number | |
from | number | |
total | number | |
links | IPaginationMetaLink[] | |
last_page | number |
IPaginationMetaLink
| Свойство | Тип | Описание |
|---|---|---|
active | boolean | |
label | string | |
url | string | null |
IPaginationPayload
| Свойство | Тип | Описание |
|---|---|---|
page | number | |
per_page | number |
IPaginationShell
| Свойство | Тип | Описание |
|---|---|---|
links | IPaginationLinks[] | |
meta | IPaginationMeta | |
data | list |
ISubject
| Свойство | Тип | Описание |
|---|---|---|
id | number | Id компании |
name | string | |
name_ru | string | |
name_kz | string | |
name_en | string | |
created_at | RefDate | |
identifier | string | |
parent_id (опц.) | RefParentId | |
bills | IBill[] | |
contacts | IContact[] | |
country | ICountry | |
logo | `{ |
default: boolean
url: string
}` | |
| kopf | { id: number name: number alias: string code: string } | | | available_document_types | Omit<RefEntityShell<EDocumentTypeAlias, EDocumentTypeIds>, 'name'>[] | | | is_customer (опц.) | boolean | | | is_supplier (опц.) | boolean | |
ISubjectEntityBase
Базовые поля всех видов единиц.
| Свойство | Тип | Описание |
|---|---|---|
id | number | |
name | string | |
sort_pid | number | Это номер порядка единицы в компании. Для рендера на фронте. |
| Сейчас им не пользуются. Но раньше нужен был для ручного выставления порядка единиц компании. | ||
| Единица - это либо подразделение, либо пользователь. Порядок зависит от это числа в их parent_id | ||
sys_subjects_id | ISubject['id'] | |
type | ESubjectEntityTypeAlias | |
parent_id (опц.) | RefParentId |
ISubjectEntityDepartment
Поля для единицы подразделения.
| Свойство | Тип | Описание |
|---|---|---|
name_ru | string | |
name_kz | string | |
name_en | string |
ISubjectEntityEditorBase
Базовые общие поля модельки формы редактирования единицы компании
| Свойство | Тип | Описание |
|---|---|---|
parent_id | null | number | |
sort_pid | null | number |
ISubjectEntityEditorDepartment
Поля для редактора формы подразделения
| Свойство | Тип | Описание |
|---|---|---|
name_ru | string | |
name_kz | string |
ISubjectEntityUser
Поля для единицы пользователя.
| Свойство | Тип | Описание |
|---|---|---|
profile_photo (опц.) | RefEntityMedia | |
job_title (опц.) | string | |
roles | `{ |
id: number
sys_subjects_id: number
sys_users_id: number
role: IUserRole
}[]` | |
ISubjectRepository
Интерфейс не содержит собственных свойств и не наследует другие локальные интерфейсы.
ISubjectRole
| Свойство | Тип | Описание |
|---|---|---|
id | number | |
name | string | |
current | boolean | |
identifier | string | |
kopf | ISubject['kopf'] | |
permissions | string[] | |
roles | IUserRole[] |
ISuperAdminSubjectEditor
| Свойство | Тип | Описание |
|---|---|---|
name_ru | ISubject['name_ru'] | |
name_kz | ISubject['name_kz'] | |
role | ESubjectRoleAlias | null |
ITransferSubjectEntityPayload
| Свойство | Тип | Описание |
|---|---|---|
type | ESubjectEntityTypeAlias | |
id | number | ID - перемещаемого подразделение или пользователя |
parent_id | number | null | ID - подразделение, куда перемещается. |
| null - Это сама компания. | ||
sort_pid | number |
IUnlockAdminUserPayload
| Свойство | Тип | Описание |
|---|---|---|
id | IAdminUser['id'] |
IUpdateRequestStatePayload
| Свойство | Тип | Описание |
|---|---|---|
type | EUserRequestTypeAlias | |
is_verified (опц.) | EAdminUserVerifiedId | |
job_title (опц.) | string | |
sys_subject_units_id (опц.) | null | number |
IUpdateUserForAdminPayload
| Свойство | Тип | Описание |
|---|---|---|
job_title_ru | string | |
job_title_kz | string | |
is_disabled | boolean | |
is_disabled_reason | string | |
roles | number[] |
IUser
| Свойство | Тип | Описание |
|---|---|---|
id | number | |
created_at | RefDate | |
birth_date | RefDate | |
email | string | |
email_verified | boolean | |
verification_token (опц.) | string | |
identifier | string | |
is_disable | boolean | |
phone | string | |
set_password | boolean | |
lastname (опц.) | string | |
name | string | |
surname (опц.) | string | |
unread_notifications_count | number | |
permissions | EUserPermissions[] | |
profile_photo_url | RefEntityMedia | |
roles | IUserRole[] | |
subject_roles | ISubjectRole[] | |
is_disabled_reason (опц.) | string | |
has_password (опц.) | boolean |
IUserRole
| Свойство | Тип | Описание |
|---|---|---|
id | number | |
name | string | |
alias | EUserRoleAlias | |
created_at | RefDate |
RefEntityMedia
| Свойство | Тип | Описание |
|---|---|---|
default | boolean | |
url | string |
RefEntityShell
| Свойство | Тип | Описание |
|---|---|---|
id | id | |
alias | alias | |
name | string |