@snabcentr/common-lib 2.19.0 → 2.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/manifest.json +1 -1
  2. package/dist/release_notes.tmp +2 -2
  3. package/dist/sc-common-lib.js +2001 -1620
  4. package/dist/sc-common-lib.js.map +1 -1
  5. package/dist/sc-common-lib.umd.cjs +1 -1
  6. package/dist/sc-common-lib.umd.cjs.map +1 -1
  7. package/dist/src/blog/classes/blog-post-media-file.d.ts +43 -0
  8. package/dist/src/blog/classes/blog-post-media-file.d.ts.map +1 -0
  9. package/dist/src/blog/classes/blog-post-short-info.d.ts +57 -0
  10. package/dist/src/blog/classes/blog-post-short-info.d.ts.map +1 -0
  11. package/dist/src/blog/classes/blog-post.d.ts +41 -0
  12. package/dist/src/blog/classes/blog-post.d.ts.map +1 -0
  13. package/dist/src/blog/classes/blog-posts-list-filters.d.ts +59 -0
  14. package/dist/src/blog/classes/blog-posts-list-filters.d.ts.map +1 -0
  15. package/dist/src/blog/classes/index.d.ts +5 -0
  16. package/dist/src/blog/classes/index.d.ts.map +1 -0
  17. package/dist/src/blog/enums/blog-post-media-type-enum.d.ts +14 -0
  18. package/dist/src/blog/enums/blog-post-media-type-enum.d.ts.map +1 -0
  19. package/dist/src/blog/enums/blog-post-publication-status-enum.d.ts +18 -0
  20. package/dist/src/blog/enums/blog-post-publication-status-enum.d.ts.map +1 -0
  21. package/dist/src/blog/enums/index.d.ts +3 -0
  22. package/dist/src/blog/enums/index.d.ts.map +1 -0
  23. package/dist/src/blog/index.d.ts +5 -0
  24. package/dist/src/blog/index.d.ts.map +1 -0
  25. package/dist/src/blog/interfaces/i-blog-post-media-file.d.ts +28 -0
  26. package/dist/src/blog/interfaces/i-blog-post-media-file.d.ts.map +1 -0
  27. package/dist/src/blog/interfaces/i-blog-post-save-data.d.ts +23 -0
  28. package/dist/src/blog/interfaces/i-blog-post-save-data.d.ts.map +1 -0
  29. package/dist/src/blog/interfaces/i-blog-post-short-info.d.ts +24 -0
  30. package/dist/src/blog/interfaces/i-blog-post-short-info.d.ts.map +1 -0
  31. package/dist/src/blog/interfaces/i-blog-post.d.ts +16 -0
  32. package/dist/src/blog/interfaces/i-blog-post.d.ts.map +1 -0
  33. package/dist/src/blog/interfaces/i-blog-posts-list-filters.d.ts +37 -0
  34. package/dist/src/blog/interfaces/i-blog-posts-list-filters.d.ts.map +1 -0
  35. package/dist/src/blog/interfaces/index.d.ts +6 -0
  36. package/dist/src/blog/interfaces/index.d.ts.map +1 -0
  37. package/dist/src/blog/providers/blog-provider.d.ts +116 -0
  38. package/dist/src/blog/providers/blog-provider.d.ts.map +1 -0
  39. package/dist/src/blog/providers/index.d.ts +2 -0
  40. package/dist/src/blog/providers/index.d.ts.map +1 -0
  41. package/dist/src/index.d.ts +1 -0
  42. package/dist/src/index.d.ts.map +1 -1
  43. package/dist/src/orders/index.d.ts +1 -0
  44. package/dist/src/orders/index.d.ts.map +1 -1
  45. package/dist/src/orders/symbols/current-order-injection-key.d.ts +7 -0
  46. package/dist/src/orders/symbols/current-order-injection-key.d.ts.map +1 -0
  47. package/dist/src/orders/symbols/index.d.ts +2 -0
  48. package/dist/src/orders/symbols/index.d.ts.map +1 -0
  49. package/package.json +1 -1
@@ -0,0 +1,43 @@
1
+ import { BlogPostMediaTypeEnum } from '../enums/blog-post-media-type-enum';
2
+ import { IBlogPostMediaFile } from '../interfaces/i-blog-post-media-file';
3
+ import { Identity } from '../../system/classes/identity';
4
+ /**
5
+ * Данные о медиафайле статьи блога.
6
+ */
7
+ export declare class BlogPostMediaFile extends Identity<string> implements IBlogPostMediaFile {
8
+ /**
9
+ * @inheritDoc
10
+ */
11
+ mediaType: BlogPostMediaTypeEnum;
12
+ /**
13
+ * @inheritDoc
14
+ */
15
+ isCover: boolean;
16
+ /**
17
+ * @inheritDoc
18
+ */
19
+ isUnused: boolean;
20
+ /**
21
+ * @inheritDoc
22
+ */
23
+ url: string;
24
+ /**
25
+ * @inheritDoc
26
+ */
27
+ urlWebp?: string;
28
+ /**
29
+ * Инициализирует экземпляр класса {@link BlogPostMediaFile}.
30
+ *
31
+ * @param data Данные для первоначальной инициализации.
32
+ */
33
+ constructor(data?: Partial<IBlogPostMediaFile>);
34
+ /**
35
+ * Возвращает признак того, что медиафайл является изображением.
36
+ */
37
+ isImage(): boolean;
38
+ /**
39
+ * Возвращает признак того, что медиафайл является видео.
40
+ */
41
+ isVideo(): boolean;
42
+ }
43
+ //# sourceMappingURL=blog-post-media-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blog-post-media-file.d.ts","sourceRoot":"","sources":["../../../../src/blog/classes/blog-post-media-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,QAAQ,CAAC,MAAM,CAAE,YAAW,kBAAkB;IACjF;;OAEG;IACI,SAAS,EAAE,qBAAqB,CAAC;IAExC;;OAEG;IACI,OAAO,EAAE,OAAO,CAAC;IAExB;;OAEG;IACI,QAAQ,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACI,GAAG,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;gBACgB,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;IAUrD;;OAEG;IACI,OAAO,IAAI,OAAO;IAIzB;;OAEG;IACI,OAAO,IAAI,OAAO;CAG5B"}
@@ -0,0 +1,57 @@
1
+ import { BlogPostPublicationStatusEnum } from '../enums/blog-post-publication-status-enum';
2
+ import { IBlogPostShortInfo } from '../interfaces/i-blog-post-short-info';
3
+ import { Identity } from '../../system/classes/identity';
4
+ /**
5
+ * Краткие данные о статье блога.
6
+ */
7
+ export declare class BlogPostShortInfo extends Identity implements IBlogPostShortInfo {
8
+ /**
9
+ * Возвращает состояние публикации статьи по дате её публикации.
10
+ *
11
+ * @param publishedAt Дата и время публикации статьи.
12
+ */
13
+ static resolvePublicationStatus(publishedAt?: Date | null): BlogPostPublicationStatusEnum;
14
+ /**
15
+ * Возвращает описание ошибки символьного обозначения статьи либо пустую строку,
16
+ * если обозначение заполнено правильно.
17
+ *
18
+ * Портал принимает обозначение вида `kak-vybrat-podokonnik`: строчные латинские буквы
19
+ * и цифры, разделённые одиночными дефисами.
20
+ *
21
+ * @param slug Символьное обозначение статьи.
22
+ */
23
+ static getSlugError(slug?: string | null): string;
24
+ /**
25
+ * Преобразует значение даты, полученное из API, в объект {@link Date}.
26
+ *
27
+ * @param value Значение даты.
28
+ */
29
+ protected static parseDate(value?: Date | string | null): Date | null;
30
+ /**
31
+ * @inheritDoc
32
+ */
33
+ slug: string;
34
+ /**
35
+ * @inheritDoc
36
+ */
37
+ title: string;
38
+ /**
39
+ * @inheritDoc
40
+ */
41
+ publishedAt: Date | null;
42
+ /**
43
+ * @inheritDoc
44
+ */
45
+ createdAt: Date;
46
+ /**
47
+ * Инициализирует экземпляр класса {@link BlogPostShortInfo}.
48
+ *
49
+ * @param data Данные для первоначальной инициализации.
50
+ */
51
+ constructor(data?: Partial<IBlogPostShortInfo>);
52
+ /**
53
+ * Возвращает состояние публикации статьи.
54
+ */
55
+ getPublicationStatus(): BlogPostPublicationStatusEnum;
56
+ }
57
+ //# sourceMappingURL=blog-post-short-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blog-post-short-info.d.ts","sourceRoot":"","sources":["../../../../src/blog/classes/blog-post-short-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAIvD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,QAAS,YAAW,kBAAkB;IACzE;;;;OAIG;WACW,wBAAwB,CAAC,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,6BAA6B;IAQhG;;;;;;;;OAQG;WACW,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;IAoBxD;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;IAQrE;;OAEG;IACI,IAAI,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACI,KAAK,EAAE,MAAM,CAAC;IAErB;;OAEG;IACI,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACI,SAAS,EAAE,IAAI,CAAC;IAEvB;;;;OAIG;gBACgB,IAAI,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC;IASrD;;OAEG;IACI,oBAAoB,IAAI,6BAA6B;CAG/D"}
@@ -0,0 +1,41 @@
1
+ import { BlogPostMediaFile } from './blog-post-media-file';
2
+ import { BlogPostShortInfo } from './blog-post-short-info';
3
+ import { IBlogPost } from '../interfaces/i-blog-post';
4
+ import { IBlogPostSaveData } from '../interfaces/i-blog-post-save-data';
5
+ /**
6
+ * Полные данные о статье блога.
7
+ */
8
+ export declare class BlogPost extends BlogPostShortInfo implements IBlogPost {
9
+ /**
10
+ * @inheritDoc
11
+ */
12
+ content: string;
13
+ /**
14
+ * @inheritDoc
15
+ */
16
+ media: BlogPostMediaFile[];
17
+ /**
18
+ * Инициализирует экземпляр класса {@link BlogPost}.
19
+ *
20
+ * @param data Данные для первоначальной инициализации.
21
+ */
22
+ constructor(data?: Partial<IBlogPost>);
23
+ /**
24
+ * Возвращает данные статьи для отправки на портал.
25
+ *
26
+ * Пустое символьное обозначение не передаётся. При создании статьи портал формирует его
27
+ * самостоятельно из заголовка, при изменении - оставляет прежнее значение без изменений.
28
+ *
29
+ * @param withContent Признак того, что в данные необходимо включить текст статьи.
30
+ */
31
+ toSaveData(withContent?: boolean): IBlogPostSaveData;
32
+ /**
33
+ * Возвращает данные обложки статьи.
34
+ */
35
+ getCover(): BlogPostMediaFile | undefined;
36
+ /**
37
+ * Возвращает список медиафайлов, не используемых в тексте статьи.
38
+ */
39
+ getUnusedMedia(): BlogPostMediaFile[];
40
+ }
41
+ //# sourceMappingURL=blog-post.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blog-post.d.ts","sourceRoot":"","sources":["../../../../src/blog/classes/blog-post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E;;GAEG;AACH,qBAAa,QAAS,SAAQ,iBAAkB,YAAW,SAAS;IAChE;;OAEG;IACI,OAAO,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACI,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAElC;;;;OAIG;gBACgB,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;IAO5C;;;;;;;OAOG;IACI,UAAU,CAAC,WAAW,GAAE,OAAe,GAAG,iBAAiB;IASlE;;OAEG;IACI,QAAQ,IAAI,iBAAiB,GAAG,SAAS;IAKhD;;OAEG;IACI,cAAc,IAAI,iBAAiB,EAAE;CAI/C"}
@@ -0,0 +1,59 @@
1
+ import { BlogPostPublicationStatusEnum } from '../enums/blog-post-publication-status-enum';
2
+ import { IBlogPostsListFilters } from '../interfaces/i-blog-posts-list-filters';
3
+ import { PaginationFiltersBase } from '../../pagination/filters/pagination-filters-base';
4
+ import { IDatePeriod } from '../../system/interfaces/i-date-period';
5
+ /**
6
+ * Данные о параметрах фильтрации списка статей блога.
7
+ */
8
+ export declare class BlogPostsListFilters extends PaginationFiltersBase implements IBlogPostsListFilters {
9
+ /**
10
+ * @inheritDoc
11
+ */
12
+ id?: string;
13
+ /**
14
+ * @inheritDoc
15
+ */
16
+ title?: string;
17
+ /**
18
+ * @inheritDoc
19
+ */
20
+ slug?: string;
21
+ /**
22
+ * @inheritDoc
23
+ */
24
+ content?: string;
25
+ /**
26
+ * @inheritDoc
27
+ */
28
+ publicationStatus?: BlogPostPublicationStatusEnum;
29
+ /**
30
+ * @inheritDoc
31
+ */
32
+ publishedAt: IDatePeriod;
33
+ /**
34
+ * @inheritDoc
35
+ */
36
+ createdAt: IDatePeriod;
37
+ /**
38
+ * Инициализирует экземпляр класса {@link BlogPostsListFilters}.
39
+ *
40
+ * @param data Данные для первоначальной инициализации.
41
+ */
42
+ constructor(data?: IBlogPostsListFilters);
43
+ /**
44
+ * Выполняет сброс указанного фильтра в значение по умолчанию.
45
+ *
46
+ * @param key Название фильтра, значение которого необходимо сбросить.
47
+ */
48
+ resetFilterValue(key: string): this;
49
+ /**
50
+ * Возвращает очищенное значение фильтров, содержащие
51
+ * только актуальные данные.
52
+ *
53
+ * TODO: Удаление незаполненных периодов повторяется в фильтрах нескольких доменов.
54
+ * Общий механизм стоит перенести в {@link PaginationFiltersBase} отдельной
55
+ * задачей по унификации.
56
+ */
57
+ asClearRaw(): Record<string, any>;
58
+ }
59
+ //# sourceMappingURL=blog-posts-list-filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blog-posts-list-filters.d.ts","sourceRoot":"","sources":["../../../../src/blog/classes/blog-posts-list-filters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,+CAA+C,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAElE;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,qBAAsB,YAAW,qBAAqB;IAC5F;;OAEG;IACI,EAAE,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACI,KAAK,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACI,IAAI,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACI,OAAO,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACI,iBAAiB,CAAC,EAAE,6BAA6B,CAAC;IAEzD;;OAEG;IACI,WAAW,EAAE,WAAW,CAAC;IAEhC;;OAEG;IACI,SAAS,EAAE,WAAW,CAAC;IAE9B;;;;OAIG;gBACgB,IAAI,CAAC,EAAE,qBAAqB;IAY/C;;;;OAIG;IACI,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAyB1C;;;;;;;OAOG;IACI,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAe3C"}
@@ -0,0 +1,5 @@
1
+ export * from './blog-post';
2
+ export * from './blog-post-short-info';
3
+ export * from './blog-post-media-file';
4
+ export * from './blog-posts-list-filters';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/blog/classes/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Перечисление допустимых типов медиафайлов статьи блога.
3
+ */
4
+ export declare enum BlogPostMediaTypeEnum {
5
+ /**
6
+ * Изображение.
7
+ */
8
+ Image = "image",
9
+ /**
10
+ * Видео.
11
+ */
12
+ Video = "video"
13
+ }
14
+ //# sourceMappingURL=blog-post-media-type-enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blog-post-media-type-enum.d.ts","sourceRoot":"","sources":["../../../../src/blog/enums/blog-post-media-type-enum.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,oBAAY,qBAAqB;IAC7B;;OAEG;IACH,KAAK,UAAU;IAEf;;OAEG;IACH,KAAK,UAAU;CAClB"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Перечисление допустимых состояний публикации статьи блога.
3
+ */
4
+ export declare enum BlogPostPublicationStatusEnum {
5
+ /**
6
+ * Черновик: дата публикации не задана, на сайте статья не отображается.
7
+ */
8
+ Draft = "draft",
9
+ /**
10
+ * Опубликована: дата публикации наступила, статья отображается на сайте.
11
+ */
12
+ Published = "published",
13
+ /**
14
+ * Запланирована: дата публикации задана, но ещё не наступила.
15
+ */
16
+ Scheduled = "scheduled"
17
+ }
18
+ //# sourceMappingURL=blog-post-publication-status-enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blog-post-publication-status-enum.d.ts","sourceRoot":"","sources":["../../../../src/blog/enums/blog-post-publication-status-enum.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,oBAAY,6BAA6B;IACrC;;OAEG;IACH,KAAK,UAAU;IAEf;;OAEG;IACH,SAAS,cAAc;IAEvB;;OAEG;IACH,SAAS,cAAc;CAC1B"}
@@ -0,0 +1,3 @@
1
+ export * from './blog-post-media-type-enum';
2
+ export * from './blog-post-publication-status-enum';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/blog/enums/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qCAAqC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './classes';
2
+ export * from './enums';
3
+ export * from './interfaces';
4
+ export * from './providers';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/blog/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { BlogPostMediaTypeEnum } from '../enums/blog-post-media-type-enum';
2
+ import { IIdentity } from '../../system/interfaces/i-identity';
3
+ /**
4
+ * Данные о медиафайле статьи блога.
5
+ */
6
+ export interface IBlogPostMediaFile extends IIdentity<string> {
7
+ /**
8
+ * Тип медиафайла.
9
+ */
10
+ mediaType: BlogPostMediaTypeEnum;
11
+ /**
12
+ * Признак того, что файл является обложкой статьи.
13
+ */
14
+ isCover: boolean;
15
+ /**
16
+ * Признак того, что файл не используется в тексте статьи.
17
+ */
18
+ isUnused: boolean;
19
+ /**
20
+ * Ссылка на основной файл.
21
+ */
22
+ url: string;
23
+ /**
24
+ * Ссылка на основной файл в формате WebP.
25
+ */
26
+ urlWebp?: string;
27
+ }
28
+ //# sourceMappingURL=i-blog-post-media-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-blog-post-media-file.d.ts","sourceRoot":"","sources":["../../../../src/blog/interfaces/i-blog-post-media-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,SAAS,CAAC,MAAM,CAAC;IACzD;;OAEG;IACH,SAAS,EAAE,qBAAqB,CAAC;IAEjC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Данные статьи блога, необходимые для её сохранения.
3
+ */
4
+ export interface IBlogPostSaveData {
5
+ /**
6
+ * Заголовок статьи. Портал требует его и при создании, и при изменении статьи.
7
+ */
8
+ title: string;
9
+ /**
10
+ * Символьное обозначение статьи. Если не задано, формируется на стороне
11
+ * портала из заголовка статьи.
12
+ */
13
+ slug?: string;
14
+ /**
15
+ * Содержимое статьи в формате HTML.
16
+ */
17
+ content?: string;
18
+ /**
19
+ * Дата и время публикации статьи. Значение `null` снимает статью с публикации.
20
+ */
21
+ publishedAt?: Date | null;
22
+ }
23
+ //# sourceMappingURL=i-blog-post-save-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-blog-post-save-data.d.ts","sourceRoot":"","sources":["../../../../src/blog/interfaces/i-blog-post-save-data.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAC7B"}
@@ -0,0 +1,24 @@
1
+ import { ICreatedAt } from '../../system/interfaces/i-created-at';
2
+ import { IIdentity } from '../../system/interfaces/i-identity';
3
+ /**
4
+ * Краткие данные о статье блога.
5
+ */
6
+ export interface IBlogPostShortInfo extends IIdentity, ICreatedAt {
7
+ /**
8
+ * Символьное обозначение статьи.
9
+ */
10
+ slug: string;
11
+ /**
12
+ * Заголовок статьи.
13
+ */
14
+ title: string;
15
+ /**
16
+ * Дата и время публикации статьи. Если не задано, статья не опубликована.
17
+ */
18
+ publishedAt: Date | null;
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ createdAt: Date;
23
+ }
24
+ //# sourceMappingURL=i-blog-post-short-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-blog-post-short-info.d.ts","sourceRoot":"","sources":["../../../../src/blog/interfaces/i-blog-post-short-info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,SAAS,EAAE,UAAU;IAC7D;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,SAAS,EAAE,IAAI,CAAC;CACnB"}
@@ -0,0 +1,16 @@
1
+ import { IBlogPostMediaFile } from './i-blog-post-media-file';
2
+ import { IBlogPostShortInfo } from './i-blog-post-short-info';
3
+ /**
4
+ * Полные данные о статье блога.
5
+ */
6
+ export interface IBlogPost extends IBlogPostShortInfo {
7
+ /**
8
+ * Содержимое статьи в формате HTML.
9
+ */
10
+ content: string;
11
+ /**
12
+ * Список медиафайлов статьи.
13
+ */
14
+ media: IBlogPostMediaFile[];
15
+ }
16
+ //# sourceMappingURL=i-blog-post.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-blog-post.d.ts","sourceRoot":"","sources":["../../../../src/blog/interfaces/i-blog-post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,kBAAkB;IACjD;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,EAAE,kBAAkB,EAAE,CAAC;CAC/B"}
@@ -0,0 +1,37 @@
1
+ import { BlogPostPublicationStatusEnum } from '../enums/blog-post-publication-status-enum';
2
+ import { IPaginationFiltersBase } from '../../pagination/filters/i-pagination-filters-base';
3
+ import { IDatePeriod } from '../../system/interfaces/i-date-period';
4
+ /**
5
+ * Данные о параметрах фильтрации списка статей блога.
6
+ */
7
+ export interface IBlogPostsListFilters extends IPaginationFiltersBase {
8
+ /**
9
+ * Идентификатор статьи.
10
+ */
11
+ id?: string;
12
+ /**
13
+ * Заголовок статьи.
14
+ */
15
+ title?: string;
16
+ /**
17
+ * Символьное обозначение статьи.
18
+ */
19
+ slug?: string;
20
+ /**
21
+ * Текст, содержащийся в статье.
22
+ */
23
+ content?: string;
24
+ /**
25
+ * Состояние публикации статьи.
26
+ */
27
+ publicationStatus?: BlogPostPublicationStatusEnum;
28
+ /**
29
+ * Период публикации.
30
+ */
31
+ publishedAt: IDatePeriod;
32
+ /**
33
+ * Период создания.
34
+ */
35
+ createdAt: IDatePeriod;
36
+ }
37
+ //# sourceMappingURL=i-blog-posts-list-filters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-blog-posts-list-filters.d.ts","sourceRoot":"","sources":["../../../../src/blog/interfaces/i-blog-posts-list-filters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IACjE;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,iBAAiB,CAAC,EAAE,6BAA6B,CAAC;IAElD;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;IAEzB;;OAEG;IACH,SAAS,EAAE,WAAW,CAAC;CAC1B"}
@@ -0,0 +1,6 @@
1
+ export * from './i-blog-post';
2
+ export * from './i-blog-post-media-file';
3
+ export * from './i-blog-post-save-data';
4
+ export * from './i-blog-post-short-info';
5
+ export * from './i-blog-posts-list-filters';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/blog/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,116 @@
1
+ import { IBlogPost } from '../interfaces/i-blog-post';
2
+ import { IBlogPostMediaFile } from '../interfaces/i-blog-post-media-file';
3
+ import { IBlogPostSaveData } from '../interfaces/i-blog-post-save-data';
4
+ import { IBlogPostShortInfo } from '../interfaces/i-blog-post-short-info';
5
+ import { IPaginatedResponse } from '../../pagination/interfaces/i-paginated-response';
6
+ import { BasePaginationProvider } from '../../pagination/providers/base-pagination-provider';
7
+ import { IFile } from '../../system/interfaces/i-file';
8
+ import { IFilterGroup } from '../../table-data/interfaces/i-filter-group';
9
+ import { IPaginationRequestParams } from '../../table-data/interfaces/i-pagination-request-params';
10
+ import { ISortRequestParams } from '../../table-data/interfaces/i-sort-request-params';
11
+ import { IFieldValidationResultData } from '../../validation/interfaces/i-field-validation-result-data';
12
+ /**
13
+ * Предоставляет механизмы получения/управления статьями блога.
14
+ */
15
+ export declare class BlogProvider extends BasePaginationProvider {
16
+ /**
17
+ * Возвращает данные статьи блога, подготовленные для отправки на портал.
18
+ *
19
+ * TODO: Преобразование даты в формат портала повторяется в нескольких провайдерах
20
+ * библиотеки. Общий механизм стоит вынести отдельной задачей по унификации.
21
+ *
22
+ * @param data Данные статьи блога.
23
+ */
24
+ private static preparePostSaveData;
25
+ /**
26
+ * Возвращает список статей блога.
27
+ *
28
+ * TODO: При слиянии с develop заменить тело метода на `getTypedPaginated(BlogPostShortInfo, '/internal/blog', ...)`,
29
+ * который появляется в базовом провайдере пагинации там.
30
+ *
31
+ * @param filters Параметры фильтрации данных.
32
+ * @param sortParams Параметры сортировки.
33
+ * @param paginationParams Параметры пагинации.
34
+ *
35
+ * @see /doc/api/internal#/operations/api_internal_blog_get_list
36
+ */
37
+ getPostList(filters?: IFilterGroup, sortParams?: ISortRequestParams[] | ISortRequestParams, paginationParams?: IPaginationRequestParams): Promise<IPaginatedResponse<IBlogPostShortInfo>>;
38
+ /**
39
+ * Возвращает данные о статье блога.
40
+ *
41
+ * @param postId Идентификатор статьи блога.
42
+ *
43
+ * @see /doc/api/internal#/operations/api_internal_blog_get
44
+ */
45
+ getPost(postId: number): Promise<IBlogPost>;
46
+ /**
47
+ * Создаёт новую статью блога.
48
+ *
49
+ * @param data Данные для создания статьи блога.
50
+ * @param validationFieldResultData Список полей, для которых необходимо
51
+ * установить данные об ошибках валидации
52
+ * в случае ошибок в запросах.
53
+ *
54
+ * @see /doc/api/internal#/operations/api_internal_blog_create
55
+ */
56
+ createPost(data: IBlogPostSaveData, validationFieldResultData?: Record<string, IFieldValidationResultData>): Promise<IBlogPost>;
57
+ /**
58
+ * Изменяет данные о статье блога.
59
+ *
60
+ * @param postId Идентификатор статьи блога.
61
+ * @param data Данные для изменения статьи блога.
62
+ * @param validationFieldResultData Список полей, для которых необходимо
63
+ * установить данные об ошибках валидации
64
+ * в случае ошибок в запросах.
65
+ *
66
+ * @see /doc/api/internal#/operations/api_internal_blog_update
67
+ */
68
+ updatePost(postId: number, data: IBlogPostSaveData, validationFieldResultData?: Record<string, IFieldValidationResultData>): Promise<IBlogPost>;
69
+ /**
70
+ * Удаляет статью блога.
71
+ *
72
+ * @param postId Идентификатор статьи блога.
73
+ *
74
+ * @see /doc/api/internal#/operations/api_internal_blog_delete
75
+ */
76
+ removePost(postId: number): Promise<void>;
77
+ /**
78
+ * Загружает медиафайл и привязывает его к статье блога.
79
+ *
80
+ * @param postId Идентификатор статьи блога.
81
+ * @param file Данные загружаемого файла.
82
+ * @param isCover Признак того, что файл является обложкой статьи.
83
+ * @param uploadProgressHandler Обработчик хода отправки файла, получающий процент отправленных данных.
84
+ * @param validationFieldResultData Список полей, для которых необходимо
85
+ * установить данные об ошибках валидации
86
+ * в случае ошибок в запросах.
87
+ *
88
+ * @see /doc/api/internal#/operations/api_internal_blog_upload_media
89
+ */
90
+ uploadMedia(postId: number, file: IFile, isCover?: boolean, uploadProgressHandler?: (percentage: number) => void, validationFieldResultData?: Record<string, IFieldValidationResultData>): Promise<IBlogPostMediaFile>;
91
+ /**
92
+ * Изменяет данные медиафайла статьи блога.
93
+ *
94
+ * @param postId Идентификатор статьи блога.
95
+ * @param mediaId Идентификатор медиафайла.
96
+ * @param isCover Признак того, что файл является обложкой статьи.
97
+ * @param validationFieldResultData Список полей, для которых необходимо
98
+ * установить данные об ошибках валидации
99
+ * в случае ошибок в запросах.
100
+ *
101
+ * @see /doc/api/internal#/operations/api_internal_blog_update_media
102
+ */
103
+ updateMedia(postId: number, mediaId: string, isCover: boolean, validationFieldResultData?: Record<string, IFieldValidationResultData>): Promise<IBlogPostMediaFile>;
104
+ /**
105
+ * Удаляет медиафайл статьи блога.
106
+ *
107
+ * Портал запрещает удалять медиафайл, используемый в тексте статьи.
108
+ *
109
+ * @param postId Идентификатор статьи блога.
110
+ * @param mediaId Идентификатор медиафайла.
111
+ *
112
+ * @see /doc/api/internal#/operations/api_internal_blog_delete_media
113
+ */
114
+ removeMedia(postId: number, mediaId: string): Promise<void>;
115
+ }
116
+ //# sourceMappingURL=blog-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blog-provider.d.ts","sourceRoot":"","sources":["../../../../src/blog/providers/blog-provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mDAAmD,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AAItG;;GAEG;AACH,qBAAa,YAAa,SAAQ,sBAAsB;IACpD;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAwBlC;;;;;;;;;;;OAWG;IACI,WAAW,CACd,OAAO,CAAC,EAAE,YAAY,EACtB,UAAU,CAAC,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,EACtD,gBAAgB,CAAC,EAAE,wBAAwB,GAC5C,OAAO,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IAQlD;;;;;;OAMG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAIlD;;;;;;;;;OASG;IACI,UAAU,CAAC,IAAI,EAAE,iBAAiB,EAAE,yBAAyB,GAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAI1I;;;;;;;;;;OAUG;IACI,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,yBAAyB,GAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAI1J;;;;;;OAMG;IACI,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD;;;;;;;;;;;;OAYG;IACI,WAAW,CACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,KAAK,EACX,OAAO,CAAC,EAAE,OAAO,EACjB,qBAAqB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,EACpD,yBAAyB,GAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAM,GAC3E,OAAO,CAAC,kBAAkB,CAAC;IAiB9B;;;;;;;;;;;OAWG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,yBAAyB,GAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAS9K;;;;;;;;;OASG;IACI,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrE"}
@@ -0,0 +1,2 @@
1
+ export * from './blog-provider';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/blog/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './auth';
2
+ export * from './blog';
2
3
  export * from './cart';
3
4
  export * from './catalog';
4
5
  export * from './clients';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -2,4 +2,5 @@ export * from './enums';
2
2
  export * from './interfaces';
3
3
  export * from './classes';
4
4
  export * from './providers';
5
+ export * from './symbols';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/orders/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/orders/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { IOrderInfo } from '../interfaces/i-order-info';
2
+ import { InjectionKey } from 'vue';
3
+ /**
4
+ * Ключ для инъекции данных текущего заказа.
5
+ */
6
+ export declare const currentOrderInjectionKey: InjectionKey<IOrderInfo>;
7
+ //# sourceMappingURL=current-order-injection-key.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"current-order-injection-key.d.ts","sourceRoot":"","sources":["../../../../src/orders/symbols/current-order-injection-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,KAAK,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,UAAU,CAA0B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './current-order-injection-key';
2
+ //# sourceMappingURL=index.d.ts.map