@purpleschool/student-works 0.0.9 → 0.0.11

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.
@@ -12,3 +12,4 @@ export * from './promocode';
12
12
  export * from './page';
13
13
  export * from './writer';
14
14
  export * from './files';
15
+ export * from './user-balance';
@@ -0,0 +1,6 @@
1
+ export const USER_BALANCE_CONTROLLER_PRIVATE = 'private/balance' as const;
2
+ export const USER_BALANCE_CONTROLLER_PUBLIC = 'public/balance' as const;
3
+
4
+ export const USER_BALANCE_ROUTES = {
5
+ BALANCE: '',
6
+ } as const;
@@ -6,7 +6,6 @@ export const USER_ROUTES = {
6
6
  CHECK_EMAIL: 'check-email',
7
7
  FIND_BY_CRITERIA: 'criteria',
8
8
  FIND_BY_UUID: (uuid: string) => `${uuid}`,
9
- GET_BALANCE: (uuid: string) => `balance/${uuid}`,
10
9
  GET_ORDERS: (uuid: string) => `orders/${uuid}`,
11
10
  GET_SUBSCRIPTIONS: (uuid: string) => `subscriptions/${uuid}`,
12
11
  GET_PRODUCTS: (uuid: string) => `products/${uuid}`,
@@ -0,0 +1,6 @@
1
+ export const USER_BALANCE_CONTROLLER_PRIVATE = 'private/balance' as const;
2
+ export const USER_BALANCE_CONTROLLER_PUBLIC = 'public/balance' as const;
3
+
4
+ export const USER_BALANCE_ROUTES = {
5
+ GET_BALANCE: '',
6
+ } as const;
package/api/routes.ts CHANGED
@@ -12,6 +12,12 @@ export const REST_API = {
12
12
  VERIFY_EMAIL_RETRY: `${ROOT}/${CONTROLLERS.AUTH_CONTROLLER}/${CONTROLLERS.AUTH_ROUTES.VERIFY_EMAIL_RETRY}`,
13
13
  },
14
14
  UNREGISTERED_USERS: {},
15
+ USER_BALANCE_PRIVATE: {
16
+ GET_BALANCE: `${ROOT}/${CONTROLLERS.USER_BALANCE_CONTROLLER_PRIVATE}/${CONTROLLERS.USER_BALANCE_ROUTES.BALANCE}`,
17
+ },
18
+ USER_BALANCE_PUBLIC: {
19
+ GET_BALANCE: `${ROOT}/${CONTROLLERS.USER_BALANCE_CONTROLLER_PUBLIC}/${CONTROLLERS.USER_BALANCE_ROUTES.BALANCE}`,
20
+ },
15
21
  USERS: {
16
22
  GET: `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.GET}`,
17
23
  POST: `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.POST}`,
@@ -19,8 +25,6 @@ export const REST_API = {
19
25
  FIND_BY_CRITERIA: `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.FIND_BY_CRITERIA}`,
20
26
  FIND_BY_UUID: (uuid: string) =>
21
27
  `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.FIND_BY_UUID(uuid)}`,
22
- GET_BALANCE: (uuid: string) =>
23
- `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.GET_BALANCE(uuid)}`,
24
28
  GET_ORDERS: (uuid: string) =>
25
29
  `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.GET_ORDERS(uuid)}`,
26
30
  DELETE_ACCOUNT: `${ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.DELETE_ACCOUNT}`,
@@ -28,3 +28,4 @@ __exportStar(require("./promocode"), exports);
28
28
  __exportStar(require("./page"), exports);
29
29
  __exportStar(require("./writer"), exports);
30
30
  __exportStar(require("./files"), exports);
31
+ __exportStar(require("./user-balance"), exports);
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USER_BALANCE_ROUTES = exports.USER_BALANCE_CONTROLLER_PUBLIC = exports.USER_BALANCE_CONTROLLER_PRIVATE = void 0;
4
+ exports.USER_BALANCE_CONTROLLER_PRIVATE = 'private/balance';
5
+ exports.USER_BALANCE_CONTROLLER_PUBLIC = 'public/balance';
6
+ exports.USER_BALANCE_ROUTES = {
7
+ BALANCE: '',
8
+ };
@@ -8,7 +8,6 @@ exports.USER_ROUTES = {
8
8
  CHECK_EMAIL: 'check-email',
9
9
  FIND_BY_CRITERIA: 'criteria',
10
10
  FIND_BY_UUID: (uuid) => `${uuid}`,
11
- GET_BALANCE: (uuid) => `balance/${uuid}`,
12
11
  GET_ORDERS: (uuid) => `orders/${uuid}`,
13
12
  GET_SUBSCRIPTIONS: (uuid) => `subscriptions/${uuid}`,
14
13
  GET_PRODUCTS: (uuid) => `products/${uuid}`,
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USER_BALANCE_ROUTES = exports.USER_BALANCE_CONTROLLER_PUBLIC = exports.USER_BALANCE_CONTROLLER_PRIVATE = void 0;
4
+ exports.USER_BALANCE_CONTROLLER_PRIVATE = 'private/balance';
5
+ exports.USER_BALANCE_CONTROLLER_PUBLIC = 'public/balance';
6
+ exports.USER_BALANCE_ROUTES = {
7
+ GET_BALANCE: '',
8
+ };
@@ -47,13 +47,18 @@ exports.REST_API = {
47
47
  VERIFY_EMAIL_RETRY: `${exports.ROOT}/${CONTROLLERS.AUTH_CONTROLLER}/${CONTROLLERS.AUTH_ROUTES.VERIFY_EMAIL_RETRY}`,
48
48
  },
49
49
  UNREGISTERED_USERS: {},
50
+ USER_BALANCE_PRIVATE: {
51
+ GET_BALANCE: `${exports.ROOT}/${CONTROLLERS.USER_BALANCE_CONTROLLER_PRIVATE}/${CONTROLLERS.USER_BALANCE_ROUTES.BALANCE}`,
52
+ },
53
+ USER_BALANCE_PUBLIC: {
54
+ GET_BALANCE: `${exports.ROOT}/${CONTROLLERS.USER_BALANCE_CONTROLLER_PUBLIC}/${CONTROLLERS.USER_BALANCE_ROUTES.BALANCE}`,
55
+ },
50
56
  USERS: {
51
57
  GET: `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.GET}`,
52
58
  POST: `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.POST}`,
53
59
  CHECK_EMAIL: `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.CHECK_EMAIL}`,
54
60
  FIND_BY_CRITERIA: `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.FIND_BY_CRITERIA}`,
55
61
  FIND_BY_UUID: (uuid) => `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.FIND_BY_UUID(uuid)}`,
56
- GET_BALANCE: (uuid) => `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.GET_BALANCE(uuid)}`,
57
62
  GET_ORDERS: (uuid) => `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.GET_ORDERS(uuid)}`,
58
63
  DELETE_ACCOUNT: `${exports.ROOT}/${CONTROLLERS.USER_CONTROLLER}/${CONTROLLERS.USER_ROUTES.DELETE_ACCOUNT}`,
59
64
  },
@@ -28,3 +28,4 @@ __exportStar(require("./page"), exports);
28
28
  __exportStar(require("./writer"), exports);
29
29
  __exportStar(require("./account-merge"), exports);
30
30
  __exportStar(require("./files"), exports);
31
+ __exportStar(require("./user-balance"), exports);
@@ -19,7 +19,6 @@ __exportStar(require("./find-user-by-uuid.command"), exports);
19
19
  __exportStar(require("./get-me.command"), exports);
20
20
  __exportStar(require("./up-token-bonus-balance.command"), exports);
21
21
  __exportStar(require("./find-users-by-criteria.command"), exports);
22
- __exportStar(require("./get-user-balance.command"), exports);
23
22
  __exportStar(require("./get-user-orders.command"), exports);
24
23
  __exportStar(require("./get-user-subscriptions.command"), exports);
25
24
  __exportStar(require("./get-user-products.command"), exports);
@@ -4,12 +4,14 @@ exports.GetUserBalanceCommand = void 0;
4
4
  const zod_1 = require("zod");
5
5
  var GetUserBalanceCommand;
6
6
  (function (GetUserBalanceCommand) {
7
- GetUserBalanceCommand.RequestSchema = zod_1.z.object({
8
- uuid: zod_1.z.string().uuid(),
9
- });
10
7
  GetUserBalanceCommand.ResponseSchema = zod_1.z.object({
11
8
  data: zod_1.z.object({
12
9
  totalTokenBalance: zod_1.z.number(),
10
+ tokenBonusBalance: zod_1.z.number(),
11
+ subscriptionBalance: zod_1.z.number(),
12
+ productBalance: zod_1.z.number(),
13
+ referralBonusBalance: zod_1.z.number(),
14
+ carriedOverBalance: zod_1.z.number(),
13
15
  }),
14
16
  });
15
17
  })(GetUserBalanceCommand || (exports.GetUserBalanceCommand = GetUserBalanceCommand = {}));
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./get-user-balance.command"), exports);
@@ -662,206 +662,206 @@ exports.ERRORS = {
662
662
  },
663
663
  // WRITER - MODELS
664
664
  WRITER_MODEL_NOT_FOUND: {
665
- message: 'Модель Writer не найдена',
665
+ message: 'Модель не найдена',
666
666
  code: 'WRITER_MODEL_001',
667
667
  httpCode: 404,
668
668
  },
669
669
  WRITER_MODEL_INACTIVE: {
670
- message: 'Модель Writer неактивна',
670
+ message: 'Модель неактивна',
671
671
  code: 'WRITER_MODEL_002',
672
672
  httpCode: 400,
673
673
  },
674
674
  WRITER_MODEL_ACCESS_DENIED: {
675
- message: 'Нет доступа к модели Writer',
675
+ message: 'Нет доступа к модели',
676
676
  code: 'WRITER_MODEL_003',
677
677
  httpCode: 403,
678
678
  },
679
679
  WRITER_MODEL_BALANCE_NOT_ENOUGH: {
680
- message: 'Недостаточно баланса для использования модели Writer',
680
+ message: 'Недостаточно баланса для использования модели',
681
681
  code: 'WRITER_MODEL_004',
682
682
  httpCode: 400,
683
683
  },
684
684
  WRITER_MODEL_FIND_ERROR: {
685
- message: 'Ошибка при поиске модели Writer',
685
+ message: 'Ошибка при поиске модели',
686
686
  code: 'WRITER_MODEL_005',
687
687
  httpCode: 404,
688
688
  },
689
689
  WRITER_MODEL_SAVE_ERROR: {
690
- message: 'Ошибка при сохранении модели Writer',
690
+ message: 'Ошибка при сохранении модели',
691
691
  code: 'WRITER_MODEL_006',
692
692
  httpCode: 500,
693
693
  },
694
694
  // WRITER - CONFIG
695
695
  WRITER_CONFIG_ERROR: {
696
- message: 'Ошибка при получении конфигурации Writer',
696
+ message: 'Ошибка при получении конфигурации',
697
697
  code: 'WRITER_CONFIG_001',
698
698
  httpCode: 500,
699
699
  },
700
700
  // WRITER - DOCUMENTS
701
701
  WRITER_DOCUMENT_NOT_FOUND: {
702
- message: 'Документ Writer не найден',
702
+ message: 'Документ не найден',
703
703
  code: 'WRITER_DOCUMENT_001',
704
704
  httpCode: 404,
705
705
  },
706
706
  WRITER_DOCUMENT_FIND_ERROR: {
707
- message: 'Ошибка при поиске документа Writer',
707
+ message: 'Ошибка при поиске документа',
708
708
  code: 'WRITER_DOCUMENT_002',
709
709
  httpCode: 500,
710
710
  },
711
711
  WRITER_DOCUMENT_FIND_MULTIPLE_ERROR: {
712
- message: 'Ошибка при поиске документов Writer',
712
+ message: 'Ошибка при поиске документов',
713
713
  code: 'WRITER_DOCUMENT_003',
714
714
  httpCode: 500,
715
715
  },
716
716
  WRITER_DOCUMENT_SAVE_ERROR: {
717
- message: 'Ошибка при сохранении документа Writer',
717
+ message: 'Ошибка при сохранении документа',
718
718
  code: 'WRITER_DOCUMENT_004',
719
719
  httpCode: 500,
720
720
  },
721
721
  WRITER_DOCUMENT_DELETE_ERROR: {
722
- message: 'Ошибка при удалении документа Writer',
722
+ message: 'Ошибка при удалении документа',
723
723
  code: 'WRITER_DOCUMENT_005',
724
724
  httpCode: 500,
725
725
  },
726
726
  WRITER_DOCUMENT_SOFT_DELETE_ERROR: {
727
- message: 'Ошибка при мягком удалении документов Writer',
727
+ message: 'Ошибка при мягком удалении документов',
728
728
  code: 'WRITER_DOCUMENT_006',
729
729
  httpCode: 500,
730
730
  },
731
731
  WRITER_DOCUMENT_GENERATE_OUTLINE_ERROR: {
732
- message: 'Ошибка при генерации плана документа Writer',
732
+ message: 'Ошибка при генерации плана документа',
733
733
  code: 'WRITER_DOCUMENT_007',
734
734
  httpCode: 500,
735
735
  },
736
736
  WRITER_DOCUMENT_GENERATE_CONTENT_ERROR: {
737
- message: 'Ошибка при генерации содержимого документа Writer',
737
+ message: 'Ошибка при генерации содержимого документа',
738
738
  code: 'WRITER_DOCUMENT_008',
739
739
  httpCode: 500,
740
740
  },
741
741
  WRITER_DOCUMENT_GENERATE_CONTENT_AI_ERROR: {
742
- message: 'Ошибка при генерации содержимого документа Writer с помощью AI',
742
+ message: 'Ошибка при генерации содержимого документа с помощью AI',
743
743
  code: 'WRITER_DOCUMENT_009',
744
744
  httpCode: 500,
745
745
  },
746
746
  WRITER_DOCUMENT_ANALYZE_TOPIC_ERROR: {
747
- message: 'Ошибка при анализе темы документа Writer',
747
+ message: 'Ошибка при анализе темы документа',
748
748
  code: 'WRITER_DOCUMENT_010',
749
749
  httpCode: 500,
750
750
  },
751
751
  WRITER_DOCUMENT_COLLECT_SOURCES_ERROR: {
752
- message: 'Ошибка при сборе источников для документа Writer',
752
+ message: 'Ошибка при сборе источников для документа',
753
753
  code: 'WRITER_DOCUMENT_011',
754
754
  httpCode: 500,
755
755
  },
756
756
  WRITER_DOCUMENT_OUTLINE_UPDATE_ERROR: {
757
- message: 'Ошибка при обновлении плана документа Writer',
757
+ message: 'Ошибка при обновлении плана документа',
758
758
  code: 'WRITER_DOCUMENT_012',
759
759
  httpCode: 500,
760
760
  },
761
761
  WRITER_DOCUMENT_DOCX_EXPORT_ERROR: {
762
- message: 'Ошибка при экспорте документа Writer в формат docx',
762
+ message: 'Ошибка при экспорте документа в формат docx',
763
763
  code: 'WRITER_DOCUMENT_013',
764
764
  httpCode: 500,
765
765
  },
766
766
  WRITER_DOCUMENT_TOPIC_TOO_LONG: {
767
- message: 'Тема документа Writer слишком длинная',
767
+ message: 'Тема документа слишком длинная',
768
768
  code: 'WRITER_DOCUMENT_014',
769
769
  httpCode: 400,
770
770
  },
771
771
  WRITER_DOCUMENT_DOCUMENT_TYPE_NOT_FOUND: {
772
- message: 'Тип документа Writer не найден',
772
+ message: 'Тип документа не найден',
773
773
  code: 'WRITER_DOCUMENT_015',
774
774
  httpCode: 404,
775
775
  },
776
776
  WRITER_DOCUMENT_TOO_MANY_PAGES: {
777
- message: 'Слишком много страниц в документе Writer',
777
+ message: 'Слишком много страниц в документе',
778
778
  code: 'WRITER_DOCUMENT_016',
779
779
  httpCode: 400,
780
780
  },
781
781
  WRITER_DOCUMENT_TOO_FEW_PAGES: {
782
- message: 'Слишком мало страниц в документе Writer',
782
+ message: 'Слишком мало страниц в документе',
783
783
  code: 'WRITER_DOCUMENT_017',
784
784
  httpCode: 400,
785
785
  },
786
786
  WRITER_DOCUMENT_NOT_OWNER: {
787
- message: 'Пользователь не является владельцем документа Writer',
787
+ message: 'Пользователь не является владельцем документа',
788
788
  code: 'WRITER_DOCUMENT_018',
789
789
  httpCode: 403,
790
790
  },
791
791
  WRITER_DOCUMENT_STAGE_OUTLINE_GENERATED_REQUIRED: {
792
- message: 'Требуется стадия генерации плана документа Writer',
792
+ message: 'Требуется стадия генерации плана документа',
793
793
  code: 'WRITER_DOCUMENT_019',
794
794
  httpCode: 400,
795
795
  },
796
796
  WRITER_DOCUMENT_STAGE_CONTENT_GENERATED_REQUIRED: {
797
- message: 'Требуется стадия генерации содержимого документа Writer',
797
+ message: 'Требуется стадия генерации содержимого документа',
798
798
  code: 'WRITER_DOCUMENT_020',
799
799
  httpCode: 400,
800
800
  },
801
801
  // WRITER - AI ACTIONS
802
802
  WRITER_AI_ACTION_NOT_FOUND: {
803
- message: 'Действие AI Writer не найдено',
803
+ message: 'Действие AI не найдено',
804
804
  code: 'WRITER_ACTION_001',
805
805
  httpCode: 404,
806
806
  },
807
807
  WRITER_AI_ACTION_INSUFFICIENT_BALANCE: {
808
- message: 'Недостаточно баланса для действия AI Writer',
808
+ message: 'Недостаточно баланса для действия AI',
809
809
  code: 'WRITER_ACTION_002',
810
810
  httpCode: 400,
811
811
  },
812
812
  WRITER_AI_ACTION_PROMPT_TOO_LONG: {
813
- message: 'Промпт для действия AI Writer слишком длинный',
813
+ message: 'Промпт для действия AI слишком длинный',
814
814
  code: 'WRITER_ACTION_003',
815
815
  httpCode: 400,
816
816
  },
817
817
  WRITER_AI_ACTION_SAVE_ERROR: {
818
- message: 'Ошибка при сохранении действия AI Writer',
818
+ message: 'Ошибка при сохранении действия AI',
819
819
  code: 'WRITER_ACTION_004',
820
820
  httpCode: 500,
821
821
  },
822
822
  WRITER_AI_ACTION_AI_ERROR: {
823
- message: 'Ошибка при отправке действия AI Writer',
823
+ message: 'Ошибка при отправке действия AI',
824
824
  code: 'WRITER_ACTION_005',
825
825
  httpCode: 500,
826
826
  },
827
827
  WRITER_AI_ACTION_CALL_NOT_FOUND: {
828
- message: 'Вызов действия AI Writer не найден',
828
+ message: 'Вызов действия AI не найден',
829
829
  code: 'WRITER_ACTION_006',
830
830
  httpCode: 404,
831
831
  },
832
832
  WRITER_AI_ACTION_CALL_FIND_ERROR: {
833
- message: 'Ошибка при поиске вызова действия AI Writer',
833
+ message: 'Ошибка при поиске вызова действия AI',
834
834
  code: 'WRITER_ACTION_007',
835
835
  httpCode: 500,
836
836
  },
837
837
  WRITER_AI_ACTION_CALL_SAVE_ERROR: {
838
- message: 'Ошибка при сохранении вызова действия AI Writer',
838
+ message: 'Ошибка при сохранении вызова действия AI',
839
839
  code: 'WRITER_ACTION_008',
840
840
  httpCode: 500,
841
841
  },
842
842
  // WRITER - SOURCES
843
843
  WRITER_SOURCE_NOT_FOUND: {
844
- message: 'Источник Writer не найден',
844
+ message: 'Источник не найден',
845
845
  code: 'WRITER_SOURCE_001',
846
846
  httpCode: 404,
847
847
  },
848
848
  WRITER_SOURCE_FIND_ERROR: {
849
- message: 'Ошибка при поиске источников Writer',
849
+ message: 'Ошибка при поиске источников',
850
850
  code: 'WRITER_SOURCE_002',
851
851
  httpCode: 500,
852
852
  },
853
853
  WRITER_SOURCE_SAVE_ERROR: {
854
- message: 'Ошибка при сохранении источника Writer',
854
+ message: 'Ошибка при сохранении источника',
855
855
  code: 'WRITER_SOURCE_003',
856
856
  httpCode: 500,
857
857
  },
858
858
  WRITER_SOURCE_CREATE_ERROR: {
859
- message: 'Ошибка при создании источника Writer',
859
+ message: 'Ошибка при создании источника',
860
860
  code: 'WRITER_SOURCE_004',
861
861
  httpCode: 500,
862
862
  },
863
863
  WRITER_SOURCE_DELETE_ERROR: {
864
- message: 'Ошибка при удалении источника Writer',
864
+ message: 'Ошибка при удалении источника',
865
865
  code: 'WRITER_SOURCE_005',
866
866
  httpCode: 500,
867
867
  },
@@ -870,19 +870,24 @@ exports.ERRORS = {
870
870
  code: 'WRITER_SOURCE_006',
871
871
  httpCode: 400,
872
872
  },
873
+ WRITER_SOURCE_METADATA_EXTRACTION_FAILED: {
874
+ message: 'Ошибка при извлечении данных об источнике',
875
+ code: 'WRITER_SOURCE_007',
876
+ httpCode: 500,
877
+ },
873
878
  // WRITER - TITLE PAGE TEMPLATE
874
879
  WRITER_TITLE_PAGE_TEMPLATE_NOT_FOUND: {
875
- message: 'Шаблон титульной страницы Writer не найден',
880
+ message: 'Шаблон титульной страницы не найден',
876
881
  code: 'WRITER_TITLE_PAGE_TEMPLATE_001',
877
882
  httpCode: 404,
878
883
  },
879
884
  WRITER_TITLE_PAGE_TEMPLATE_FIND_ERROR: {
880
- message: 'Ошибка при поиске шаблона титульной страницы Writer',
885
+ message: 'Ошибка при поиске шаблона титульной страницы',
881
886
  code: 'WRITER_TITLE_PAGE_TEMPLATE_002',
882
887
  httpCode: 500,
883
888
  },
884
889
  WRITER_TITLE_PAGE_TEMPLATE_SAVE_ERROR: {
885
- message: 'Ошибка при сохранении шаблона титульной страницы Writer',
890
+ message: 'Ошибка при сохранении шаблона титульной страницы',
886
891
  code: 'WRITER_TITLE_PAGE_TEMPLATE_003',
887
892
  httpCode: 500,
888
893
  },
@@ -893,27 +898,27 @@ exports.ERRORS = {
893
898
  httpCode: 500,
894
899
  },
895
900
  WRITER_EXPORT_DOCX_ERROR: {
896
- message: 'Ошибка при экспорте документа Writer в формат docx',
901
+ message: 'Ошибка при экспорте документа в формат docx',
897
902
  code: 'WRITER_GENERATE_002',
898
903
  httpCode: 500,
899
904
  },
900
905
  WRITER_GENERATE_DOCUMENT_CONTENTS_ERROR: {
901
- message: 'Ошибка при генерации содержимого документа Writer',
906
+ message: 'Ошибка при генерации содержимого документа',
902
907
  code: 'WRITER_GENERATE_003',
903
908
  httpCode: 500,
904
909
  },
905
910
  WRITER_DELETE_ALL_DOCUMENTS_ERROR: {
906
- message: 'Ошибка при удалении всех документов Writer',
911
+ message: 'Ошибка при удалении всех документов',
907
912
  code: 'WRITER_GENERATE_004',
908
913
  httpCode: 500,
909
914
  },
910
915
  WRITER_SET_REACTION_ERROR: {
911
- message: 'Ошибка при установке реакции на документ Writer',
916
+ message: 'Ошибка при установке реакции на документ',
912
917
  code: 'WRITER_GENERATE_005',
913
918
  httpCode: 500,
914
919
  },
915
920
  WRITER_UPDATE_DOCUMENT_CONTENTS_ERROR: {
916
- message: 'Ошибка при обновлении содержимого документа Writer',
921
+ message: 'Ошибка при обновлении содержимого документа',
917
922
  code: 'WRITER_GENERATE_006',
918
923
  httpCode: 500,
919
924
  },
@@ -943,7 +948,7 @@ exports.ERRORS = {
943
948
  httpCode: 500,
944
949
  },
945
950
  WRITER_CREATE_DOCUMENT_ERROR: {
946
- message: 'Ошибка при создании документа Writer',
951
+ message: 'Ошибка при создании документа',
947
952
  code: 'WRITER_GENERATE_012',
948
953
  httpCode: 500,
949
954
  },
@@ -4,5 +4,6 @@ exports.FILE_TYPE = void 0;
4
4
  var FILE_TYPE;
5
5
  (function (FILE_TYPE) {
6
6
  FILE_TYPE["PDF"] = "pdf";
7
+ FILE_TYPE["DOCX"] = "docx";
7
8
  FILE_TYPE["UNKNOWN"] = "unknown";
8
9
  })(FILE_TYPE || (exports.FILE_TYPE = FILE_TYPE = {}));
@@ -1,6 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SUPPORTED_FILES = exports.MAX_PDF_UPLOAD_SIZE = void 0;
3
+ exports.SUPPORTED_FILES = exports.MAX_DOCX_UPLOAD_SIZE = exports.MAX_PDF_UPLOAD_SIZE = void 0;
4
4
  const enums_1 = require("./enums");
5
5
  exports.MAX_PDF_UPLOAD_SIZE = 5 * 1024 * 1024; // 5 MB
6
- exports.SUPPORTED_FILES = new Map([['application/pdf', { type: enums_1.FILE_TYPE.PDF, size: exports.MAX_PDF_UPLOAD_SIZE }]]);
6
+ exports.MAX_DOCX_UPLOAD_SIZE = 5 * 1024 * 1024; // 5 MB
7
+ exports.SUPPORTED_FILES = new Map([
8
+ ['application/pdf', { type: enums_1.FILE_TYPE.PDF, size: exports.MAX_PDF_UPLOAD_SIZE }],
9
+ [
10
+ 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
11
+ { type: enums_1.FILE_TYPE.DOCX, size: exports.MAX_DOCX_UPLOAD_SIZE },
12
+ ],
13
+ ]);
package/commands/index.ts CHANGED
@@ -12,3 +12,4 @@ export * from './page';
12
12
  export * from './writer';
13
13
  export * from './account-merge';
14
14
  export * from './files';
15
+ export * from './user-balance';
@@ -3,7 +3,6 @@ export * from './find-user-by-uuid.command';
3
3
  export * from './get-me.command';
4
4
  export * from './up-token-bonus-balance.command';
5
5
  export * from './find-users-by-criteria.command';
6
- export * from './get-user-balance.command';
7
6
  export * from './get-user-orders.command';
8
7
  export * from './get-user-subscriptions.command';
9
8
  export * from './get-user-products.command';
@@ -1,17 +1,15 @@
1
1
  import { z } from 'zod';
2
2
 
3
3
  export namespace GetUserBalanceCommand {
4
- export const RequestSchema = z.object({
5
- uuid: z.string().uuid(),
6
- });
7
-
8
- export type Request = z.infer<typeof RequestSchema>;
9
-
10
4
  export const ResponseSchema = z.object({
11
5
  data: z.object({
12
6
  totalTokenBalance: z.number(),
7
+ tokenBonusBalance: z.number(),
8
+ subscriptionBalance: z.number(),
9
+ productBalance: z.number(),
10
+ referralBonusBalance: z.number(),
11
+ carriedOverBalance: z.number(),
13
12
  }),
14
13
  });
15
-
16
14
  export type Response = z.infer<typeof ResponseSchema>;
17
15
  }
@@ -0,0 +1 @@
1
+ export * from './get-user-balance.command';
@@ -659,206 +659,206 @@ export const ERRORS = {
659
659
  },
660
660
  // WRITER - MODELS
661
661
  WRITER_MODEL_NOT_FOUND: {
662
- message: 'Модель Writer не найдена',
662
+ message: 'Модель не найдена',
663
663
  code: 'WRITER_MODEL_001',
664
664
  httpCode: 404,
665
665
  },
666
666
  WRITER_MODEL_INACTIVE: {
667
- message: 'Модель Writer неактивна',
667
+ message: 'Модель неактивна',
668
668
  code: 'WRITER_MODEL_002',
669
669
  httpCode: 400,
670
670
  },
671
671
  WRITER_MODEL_ACCESS_DENIED: {
672
- message: 'Нет доступа к модели Writer',
672
+ message: 'Нет доступа к модели',
673
673
  code: 'WRITER_MODEL_003',
674
674
  httpCode: 403,
675
675
  },
676
676
  WRITER_MODEL_BALANCE_NOT_ENOUGH: {
677
- message: 'Недостаточно баланса для использования модели Writer',
677
+ message: 'Недостаточно баланса для использования модели',
678
678
  code: 'WRITER_MODEL_004',
679
679
  httpCode: 400,
680
680
  },
681
681
  WRITER_MODEL_FIND_ERROR: {
682
- message: 'Ошибка при поиске модели Writer',
682
+ message: 'Ошибка при поиске модели',
683
683
  code: 'WRITER_MODEL_005',
684
684
  httpCode: 404,
685
685
  },
686
686
  WRITER_MODEL_SAVE_ERROR: {
687
- message: 'Ошибка при сохранении модели Writer',
687
+ message: 'Ошибка при сохранении модели',
688
688
  code: 'WRITER_MODEL_006',
689
689
  httpCode: 500,
690
690
  },
691
691
  // WRITER - CONFIG
692
692
  WRITER_CONFIG_ERROR: {
693
- message: 'Ошибка при получении конфигурации Writer',
693
+ message: 'Ошибка при получении конфигурации',
694
694
  code: 'WRITER_CONFIG_001',
695
695
  httpCode: 500,
696
696
  },
697
697
  // WRITER - DOCUMENTS
698
698
  WRITER_DOCUMENT_NOT_FOUND: {
699
- message: 'Документ Writer не найден',
699
+ message: 'Документ не найден',
700
700
  code: 'WRITER_DOCUMENT_001',
701
701
  httpCode: 404,
702
702
  },
703
703
  WRITER_DOCUMENT_FIND_ERROR: {
704
- message: 'Ошибка при поиске документа Writer',
704
+ message: 'Ошибка при поиске документа',
705
705
  code: 'WRITER_DOCUMENT_002',
706
706
  httpCode: 500,
707
707
  },
708
708
  WRITER_DOCUMENT_FIND_MULTIPLE_ERROR: {
709
- message: 'Ошибка при поиске документов Writer',
709
+ message: 'Ошибка при поиске документов',
710
710
  code: 'WRITER_DOCUMENT_003',
711
711
  httpCode: 500,
712
712
  },
713
713
  WRITER_DOCUMENT_SAVE_ERROR: {
714
- message: 'Ошибка при сохранении документа Writer',
714
+ message: 'Ошибка при сохранении документа',
715
715
  code: 'WRITER_DOCUMENT_004',
716
716
  httpCode: 500,
717
717
  },
718
718
  WRITER_DOCUMENT_DELETE_ERROR: {
719
- message: 'Ошибка при удалении документа Writer',
719
+ message: 'Ошибка при удалении документа',
720
720
  code: 'WRITER_DOCUMENT_005',
721
721
  httpCode: 500,
722
722
  },
723
723
  WRITER_DOCUMENT_SOFT_DELETE_ERROR: {
724
- message: 'Ошибка при мягком удалении документов Writer',
724
+ message: 'Ошибка при мягком удалении документов',
725
725
  code: 'WRITER_DOCUMENT_006',
726
726
  httpCode: 500,
727
727
  },
728
728
  WRITER_DOCUMENT_GENERATE_OUTLINE_ERROR: {
729
- message: 'Ошибка при генерации плана документа Writer',
729
+ message: 'Ошибка при генерации плана документа',
730
730
  code: 'WRITER_DOCUMENT_007',
731
731
  httpCode: 500,
732
732
  },
733
733
  WRITER_DOCUMENT_GENERATE_CONTENT_ERROR: {
734
- message: 'Ошибка при генерации содержимого документа Writer',
734
+ message: 'Ошибка при генерации содержимого документа',
735
735
  code: 'WRITER_DOCUMENT_008',
736
736
  httpCode: 500,
737
737
  },
738
738
  WRITER_DOCUMENT_GENERATE_CONTENT_AI_ERROR: {
739
- message: 'Ошибка при генерации содержимого документа Writer с помощью AI',
739
+ message: 'Ошибка при генерации содержимого документа с помощью AI',
740
740
  code: 'WRITER_DOCUMENT_009',
741
741
  httpCode: 500,
742
742
  },
743
743
  WRITER_DOCUMENT_ANALYZE_TOPIC_ERROR: {
744
- message: 'Ошибка при анализе темы документа Writer',
744
+ message: 'Ошибка при анализе темы документа',
745
745
  code: 'WRITER_DOCUMENT_010',
746
746
  httpCode: 500,
747
747
  },
748
748
  WRITER_DOCUMENT_COLLECT_SOURCES_ERROR: {
749
- message: 'Ошибка при сборе источников для документа Writer',
749
+ message: 'Ошибка при сборе источников для документа',
750
750
  code: 'WRITER_DOCUMENT_011',
751
751
  httpCode: 500,
752
752
  },
753
753
  WRITER_DOCUMENT_OUTLINE_UPDATE_ERROR: {
754
- message: 'Ошибка при обновлении плана документа Writer',
754
+ message: 'Ошибка при обновлении плана документа',
755
755
  code: 'WRITER_DOCUMENT_012',
756
756
  httpCode: 500,
757
757
  },
758
758
  WRITER_DOCUMENT_DOCX_EXPORT_ERROR: {
759
- message: 'Ошибка при экспорте документа Writer в формат docx',
759
+ message: 'Ошибка при экспорте документа в формат docx',
760
760
  code: 'WRITER_DOCUMENT_013',
761
761
  httpCode: 500,
762
762
  },
763
763
  WRITER_DOCUMENT_TOPIC_TOO_LONG: {
764
- message: 'Тема документа Writer слишком длинная',
764
+ message: 'Тема документа слишком длинная',
765
765
  code: 'WRITER_DOCUMENT_014',
766
766
  httpCode: 400,
767
767
  },
768
768
  WRITER_DOCUMENT_DOCUMENT_TYPE_NOT_FOUND: {
769
- message: 'Тип документа Writer не найден',
769
+ message: 'Тип документа не найден',
770
770
  code: 'WRITER_DOCUMENT_015',
771
771
  httpCode: 404,
772
772
  },
773
773
  WRITER_DOCUMENT_TOO_MANY_PAGES: {
774
- message: 'Слишком много страниц в документе Writer',
774
+ message: 'Слишком много страниц в документе',
775
775
  code: 'WRITER_DOCUMENT_016',
776
776
  httpCode: 400,
777
777
  },
778
778
  WRITER_DOCUMENT_TOO_FEW_PAGES: {
779
- message: 'Слишком мало страниц в документе Writer',
779
+ message: 'Слишком мало страниц в документе',
780
780
  code: 'WRITER_DOCUMENT_017',
781
781
  httpCode: 400,
782
782
  },
783
783
  WRITER_DOCUMENT_NOT_OWNER: {
784
- message: 'Пользователь не является владельцем документа Writer',
784
+ message: 'Пользователь не является владельцем документа',
785
785
  code: 'WRITER_DOCUMENT_018',
786
786
  httpCode: 403,
787
787
  },
788
788
  WRITER_DOCUMENT_STAGE_OUTLINE_GENERATED_REQUIRED: {
789
- message: 'Требуется стадия генерации плана документа Writer',
789
+ message: 'Требуется стадия генерации плана документа',
790
790
  code: 'WRITER_DOCUMENT_019',
791
791
  httpCode: 400,
792
792
  },
793
793
  WRITER_DOCUMENT_STAGE_CONTENT_GENERATED_REQUIRED: {
794
- message: 'Требуется стадия генерации содержимого документа Writer',
794
+ message: 'Требуется стадия генерации содержимого документа',
795
795
  code: 'WRITER_DOCUMENT_020',
796
796
  httpCode: 400,
797
797
  },
798
798
  // WRITER - AI ACTIONS
799
799
  WRITER_AI_ACTION_NOT_FOUND: {
800
- message: 'Действие AI Writer не найдено',
800
+ message: 'Действие AI не найдено',
801
801
  code: 'WRITER_ACTION_001',
802
802
  httpCode: 404,
803
803
  },
804
804
  WRITER_AI_ACTION_INSUFFICIENT_BALANCE: {
805
- message: 'Недостаточно баланса для действия AI Writer',
805
+ message: 'Недостаточно баланса для действия AI',
806
806
  code: 'WRITER_ACTION_002',
807
807
  httpCode: 400,
808
808
  },
809
809
  WRITER_AI_ACTION_PROMPT_TOO_LONG: {
810
- message: 'Промпт для действия AI Writer слишком длинный',
810
+ message: 'Промпт для действия AI слишком длинный',
811
811
  code: 'WRITER_ACTION_003',
812
812
  httpCode: 400,
813
813
  },
814
814
  WRITER_AI_ACTION_SAVE_ERROR: {
815
- message: 'Ошибка при сохранении действия AI Writer',
815
+ message: 'Ошибка при сохранении действия AI',
816
816
  code: 'WRITER_ACTION_004',
817
817
  httpCode: 500,
818
818
  },
819
819
  WRITER_AI_ACTION_AI_ERROR: {
820
- message: 'Ошибка при отправке действия AI Writer',
820
+ message: 'Ошибка при отправке действия AI',
821
821
  code: 'WRITER_ACTION_005',
822
822
  httpCode: 500,
823
823
  },
824
824
  WRITER_AI_ACTION_CALL_NOT_FOUND: {
825
- message: 'Вызов действия AI Writer не найден',
825
+ message: 'Вызов действия AI не найден',
826
826
  code: 'WRITER_ACTION_006',
827
827
  httpCode: 404,
828
828
  },
829
829
  WRITER_AI_ACTION_CALL_FIND_ERROR: {
830
- message: 'Ошибка при поиске вызова действия AI Writer',
830
+ message: 'Ошибка при поиске вызова действия AI',
831
831
  code: 'WRITER_ACTION_007',
832
832
  httpCode: 500,
833
833
  },
834
834
  WRITER_AI_ACTION_CALL_SAVE_ERROR: {
835
- message: 'Ошибка при сохранении вызова действия AI Writer',
835
+ message: 'Ошибка при сохранении вызова действия AI',
836
836
  code: 'WRITER_ACTION_008',
837
837
  httpCode: 500,
838
838
  },
839
839
  // WRITER - SOURCES
840
840
  WRITER_SOURCE_NOT_FOUND: {
841
- message: 'Источник Writer не найден',
841
+ message: 'Источник не найден',
842
842
  code: 'WRITER_SOURCE_001',
843
843
  httpCode: 404,
844
844
  },
845
845
  WRITER_SOURCE_FIND_ERROR: {
846
- message: 'Ошибка при поиске источников Writer',
846
+ message: 'Ошибка при поиске источников',
847
847
  code: 'WRITER_SOURCE_002',
848
848
  httpCode: 500,
849
849
  },
850
850
  WRITER_SOURCE_SAVE_ERROR: {
851
- message: 'Ошибка при сохранении источника Writer',
851
+ message: 'Ошибка при сохранении источника',
852
852
  code: 'WRITER_SOURCE_003',
853
853
  httpCode: 500,
854
854
  },
855
855
  WRITER_SOURCE_CREATE_ERROR: {
856
- message: 'Ошибка при создании источника Writer',
856
+ message: 'Ошибка при создании источника',
857
857
  code: 'WRITER_SOURCE_004',
858
858
  httpCode: 500,
859
859
  },
860
860
  WRITER_SOURCE_DELETE_ERROR: {
861
- message: 'Ошибка при удалении источника Writer',
861
+ message: 'Ошибка при удалении источника',
862
862
  code: 'WRITER_SOURCE_005',
863
863
  httpCode: 500,
864
864
  },
@@ -867,19 +867,24 @@ export const ERRORS = {
867
867
  code: 'WRITER_SOURCE_006',
868
868
  httpCode: 400,
869
869
  },
870
+ WRITER_SOURCE_METADATA_EXTRACTION_FAILED: {
871
+ message: 'Ошибка при извлечении данных об источнике',
872
+ code: 'WRITER_SOURCE_007',
873
+ httpCode: 500,
874
+ },
870
875
  // WRITER - TITLE PAGE TEMPLATE
871
876
  WRITER_TITLE_PAGE_TEMPLATE_NOT_FOUND: {
872
- message: 'Шаблон титульной страницы Writer не найден',
877
+ message: 'Шаблон титульной страницы не найден',
873
878
  code: 'WRITER_TITLE_PAGE_TEMPLATE_001',
874
879
  httpCode: 404,
875
880
  },
876
881
  WRITER_TITLE_PAGE_TEMPLATE_FIND_ERROR: {
877
- message: 'Ошибка при поиске шаблона титульной страницы Writer',
882
+ message: 'Ошибка при поиске шаблона титульной страницы',
878
883
  code: 'WRITER_TITLE_PAGE_TEMPLATE_002',
879
884
  httpCode: 500,
880
885
  },
881
886
  WRITER_TITLE_PAGE_TEMPLATE_SAVE_ERROR: {
882
- message: 'Ошибка при сохранении шаблона титульной страницы Writer',
887
+ message: 'Ошибка при сохранении шаблона титульной страницы',
883
888
  code: 'WRITER_TITLE_PAGE_TEMPLATE_003',
884
889
  httpCode: 500,
885
890
  },
@@ -890,27 +895,27 @@ export const ERRORS = {
890
895
  httpCode: 500,
891
896
  },
892
897
  WRITER_EXPORT_DOCX_ERROR: {
893
- message: 'Ошибка при экспорте документа Writer в формат docx',
898
+ message: 'Ошибка при экспорте документа в формат docx',
894
899
  code: 'WRITER_GENERATE_002',
895
900
  httpCode: 500,
896
901
  },
897
902
  WRITER_GENERATE_DOCUMENT_CONTENTS_ERROR: {
898
- message: 'Ошибка при генерации содержимого документа Writer',
903
+ message: 'Ошибка при генерации содержимого документа',
899
904
  code: 'WRITER_GENERATE_003',
900
905
  httpCode: 500,
901
906
  },
902
907
  WRITER_DELETE_ALL_DOCUMENTS_ERROR: {
903
- message: 'Ошибка при удалении всех документов Writer',
908
+ message: 'Ошибка при удалении всех документов',
904
909
  code: 'WRITER_GENERATE_004',
905
910
  httpCode: 500,
906
911
  },
907
912
  WRITER_SET_REACTION_ERROR: {
908
- message: 'Ошибка при установке реакции на документ Writer',
913
+ message: 'Ошибка при установке реакции на документ',
909
914
  code: 'WRITER_GENERATE_005',
910
915
  httpCode: 500,
911
916
  },
912
917
  WRITER_UPDATE_DOCUMENT_CONTENTS_ERROR: {
913
- message: 'Ошибка при обновлении содержимого документа Writer',
918
+ message: 'Ошибка при обновлении содержимого документа',
914
919
  code: 'WRITER_GENERATE_006',
915
920
  httpCode: 500,
916
921
  },
@@ -940,7 +945,7 @@ export const ERRORS = {
940
945
  httpCode: 500,
941
946
  },
942
947
  WRITER_CREATE_DOCUMENT_ERROR: {
943
- message: 'Ошибка при создании документа Writer',
948
+ message: 'Ошибка при создании документа',
944
949
  code: 'WRITER_GENERATE_012',
945
950
  httpCode: 500,
946
951
  },
@@ -1,4 +1,5 @@
1
1
  export enum FILE_TYPE {
2
2
  PDF = 'pdf',
3
+ DOCX = 'docx',
3
4
  UNKNOWN = 'unknown',
4
5
  }
@@ -1,6 +1,7 @@
1
1
  import { FILE_TYPE } from './enums';
2
2
 
3
3
  export const MAX_PDF_UPLOAD_SIZE = 5 * 1024 * 1024; // 5 MB
4
+ export const MAX_DOCX_UPLOAD_SIZE = 5 * 1024 * 1024; // 5 MB
4
5
 
5
6
  export const SUPPORTED_FILES = new Map<
6
7
  string,
@@ -8,4 +9,10 @@ export const SUPPORTED_FILES = new Map<
8
9
  type: FILE_TYPE;
9
10
  size: number;
10
11
  }
11
- >([['application/pdf', { type: FILE_TYPE.PDF, size: MAX_PDF_UPLOAD_SIZE }]]);
12
+ >([
13
+ ['application/pdf', { type: FILE_TYPE.PDF, size: MAX_PDF_UPLOAD_SIZE }],
14
+ [
15
+ 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
16
+ { type: FILE_TYPE.DOCX, size: MAX_DOCX_UPLOAD_SIZE },
17
+ ],
18
+ ]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purpleschool/student-works",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "description": "",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",