e22m4u 1 месяц назад
Родитель
Сommit
b198fed1b6
1 измененных файлов с 90 добавлено и 14 удалено
  1. 90 14
      README.md

+ 90 - 14
README.md

@@ -35,13 +35,13 @@
   - [count](#repositorycount)
 - [Фильтрация](#фильтрация)
 - [Связи](#связи)
-  - [belongsTo](#belongs-to)
-  - [hasOne](#has-one)
-  - [hasMany](#has-many)
-  - [referencesMany](#references-many)
-  - [belongsTo (полиморфная)](#belongs-to-полиморфная-версия)
-  - [hasOne (полиморфная)](#has-one-полиморфная-версия)
-  - [hasMany (полиморфная)](#has-many-полиморфная-версия)
+  - [Belongs To](#belongs-to)
+  - [Has One](#has-one)
+  - [Has Many](#has-many)
+  - [References Many](#references-many)
+  - [Belongs To (полиморфная)](#belongs-to-полиморфная-версия)
+  - [Has One (полиморфная)](#has-one-полиморфная-версия)
+  - [Has Many (полиморфная)](#has-many-полиморфная-версия)
 - [Расширение](#расширение)
 - [TypeScript](#typescript)
 - [Тесты](#тесты)
@@ -2069,8 +2069,11 @@ console.log(user);
 связи можно будет использовать в опции `include` методах репозитория.
 
 ```js
-import {DataType} from '@e22m4u/js-repository';
-import {RelationType} from '@e22m4u/js-repository';
+import {
+  DataType,
+  RelationType,
+  DatabaseSchema,
+} from '@e22m4u/js-repository';
 
 dbs.defineModel({
   name: 'user',
@@ -2110,12 +2113,29 @@ dbs.defineModel({
 *i. Полиморфный режим позволяет динамически определять целевую модель
 по ее названию, которое хранит документ в свойстве-дискриминаторе.*
 
-**Типы связи**
+### Типы связей
+
+- [Belongs To](#belongs-to)  
+  Текущая модель ссылается на целевую по идентификатору.  
+  `type: "belongsTo"` или `type: RelationType.BELONGS_TO`  
+  
+- [Has One](#has-one)  
+  Обратная сторона `belongsTo` по принципу "один к одному".  
+  `type: "hasOne"` или `type: RelationType.HAS_ONE`  
+
+- [Has Many](#has-many)  
+  Обратная сторона `belongsTo` по принципу "один ко многим".  
+  `type: "hasMany"` или `type: RelationType.HAS_MANY`  
+
+- [References Many](#references-many)  
+  Текущая модель ссылается на целевую через массив идентификаторов.  
+  `type: "referencesMany"` или `type: RelationType.REFERENCES_MANY`  
 
-- `belongsTo` - текущая модель ссылается на целевую по идентификатору;
-- `hasOne` - обратная сторона `belongsTo` по принципу "один к одному";
-- `hasMany` - обратная сторона `belongsTo` по принципу "один ко многим";
-- `referencesMany` - модель ссылается через массив идентификаторов;
+Полиморфные версии:
+
+- [Belongs To (полиморфная)](#belongs-to-полиморфная-версия)
+- [Has One (полиморфная)](#has-one-полиморфная-версия)
+- [Has Many (полиморфная)](#has-many-полиморфная-версия)
 
 Параметр `type` в определении связи принимает строку с названием типа. Чтобы исключить опечатку, рекомендуется использовать константы объекта `RelationType`
 указанные ниже.
@@ -2146,6 +2166,12 @@ dbs.defineModel({
 Определение связи:
 
 ```js
+import {RelationType, DatabaseSchema} from '@e22m4u/js-repository';
+
+const dbs = new DatabaseSchema();
+
+// dbs.defineModel({name: 'role', ...
+
 dbs.defineModel({
   name: 'user',
   relations: {
@@ -2177,6 +2203,10 @@ dbs.defineModel({
 Определение связи:
 
 ```js
+import {RelationType, DatabaseSchema} from '@e22m4u/js-repository';
+
+const dbs = new DatabaseSchema();
+
 dbs.defineModel({
   name: 'profile',
   relations: {
@@ -2187,6 +2217,8 @@ dbs.defineModel({
     },
   },
 });
+
+// dbs.defineModel({name: 'user', ...
 ```
 
 #### Has Many
@@ -2210,6 +2242,10 @@ dbs.defineModel({
 Определение связи:
 
 ```js
+import {RelationType, DatabaseSchema} from '@e22m4u/js-repository';
+
+const dbs = new DatabaseSchema();
+
 dbs.defineModel({
   name: 'role',
   relations: {
@@ -2220,6 +2256,8 @@ dbs.defineModel({
     },
   },
 });
+
+// dbs.defineModel({name: 'user', ...
 ```
 
 #### References Many
@@ -2241,6 +2279,12 @@ dbs.defineModel({
 Определение связи:
 
 ```js
+import {RelationType, DatabaseSchema} from '@e22m4u/js-repository';
+
+const dbs = new DatabaseSchema();
+
+// dbs.defineModel({name: 'category', ...
+
 dbs.defineModel({
   name: 'article',
   relations: {
@@ -2279,6 +2323,10 @@ dbs.defineModel({
 Определение связи:
 
 ```js
+import {RelationType, DatabaseSchema} from '@e22m4u/js-repository';
+
+const dbs = new DatabaseSchema();
+
 dbs.defineModel({
   name: 'file',
   relations: {
@@ -2298,6 +2346,10 @@ dbs.defineModel({
 Определение связи с указанием свойств:
 
 ```js
+import {RelationType, DatabaseSchema} from '@e22m4u/js-repository';
+
+const dbs = new DatabaseSchema();
+
 dbs.defineModel({
   name: 'file',
   relations: {
@@ -2327,6 +2379,12 @@ dbs.defineModel({
 Определение связи с указанием названия связи целевой модели:
 
 ```js
+import {RelationType, DatabaseSchema} from '@e22m4u/js-repository';
+
+const dbs = new DatabaseSchema();
+
+// dbs.defineModel({name: 'license', ...
+
 dbs.defineModel({
   name: 'company',
   relations: {
@@ -2342,6 +2400,12 @@ dbs.defineModel({
 Определение связи с указанием свойств целевой модели:
 
 ```js
+import {RelationType, DatabaseSchema} from '@e22m4u/js-repository';
+
+const dbs = new DatabaseSchema();
+
+// dbs.defineModel({name: 'license', ...
+
 dbs.defineModel({
   name: 'company',
   relations: {
@@ -2377,6 +2441,12 @@ dbs.defineModel({
 Определение связи с указанием названия связи целевой модели:
 
 ```js
+import {RelationType, DatabaseSchema} from '@e22m4u/js-repository';
+
+const dbs = new DatabaseSchema();
+
+// dbs.defineModel({name: 'file', ...
+
 dbs.defineModel({
   name: 'letter',
   relations: {
@@ -2392,6 +2462,12 @@ dbs.defineModel({
 Определение связи с указанием свойств целевой модели:
 
 ```js
+import {RelationType, DatabaseSchema} from '@e22m4u/js-repository';
+
+const dbs = new DatabaseSchema();
+
+// dbs.defineModel({name: 'file', ...
+
 dbs.defineModel({
   name: 'letter',
   relations: {