revdev 0.310.0 → 0.312.0

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 (85) hide show
  1. package/lib/back/course/entity.d.ts +19 -0
  2. package/lib/back/course/entity.js +2 -0
  3. package/lib/back/course/index.d.ts +2 -0
  4. package/lib/back/course/index.js +18 -0
  5. package/lib/back/course/request.d.ts +13 -0
  6. package/lib/back/course/request.js +2 -0
  7. package/lib/back/episode/entity.d.ts +9 -0
  8. package/lib/back/episode/entity.js +2 -0
  9. package/lib/back/episode/index.d.ts +2 -0
  10. package/lib/back/episode/index.js +18 -0
  11. package/lib/back/episode/request.d.ts +4 -0
  12. package/lib/back/episode/request.js +2 -0
  13. package/lib/back/exercise/entity.d.ts +32 -0
  14. package/lib/back/exercise/entity.js +2 -0
  15. package/lib/back/exercise/index.d.ts +2 -0
  16. package/lib/back/exercise/index.js +18 -0
  17. package/lib/back/exercise/request.d.ts +4 -0
  18. package/lib/back/exercise/request.js +2 -0
  19. package/lib/back/index.d.ts +4 -0
  20. package/lib/back/index.js +4 -0
  21. package/lib/back/item/entity.d.ts +25 -0
  22. package/lib/back/item/entity.js +2 -0
  23. package/lib/back/item/index.d.ts +2 -0
  24. package/lib/back/item/index.js +18 -0
  25. package/lib/back/item/request.d.ts +4 -0
  26. package/lib/back/item/request.js +2 -0
  27. package/lib/back/list/entity.d.ts +3 -7
  28. package/lib/back/table/entity.d.ts +2 -5
  29. package/lib/back/tran/entity.d.ts +0 -8
  30. package/lib/common/course.d.ts +5 -0
  31. package/lib/common/course.js +2 -0
  32. package/lib/common/entity.d.ts +5 -0
  33. package/lib/common/enums.d.ts +33 -0
  34. package/lib/common/enums.js +43 -1
  35. package/lib/common/exception.d.ts +4 -1
  36. package/lib/common/exception.js +4 -1
  37. package/lib/common/index.d.ts +1 -0
  38. package/lib/common/index.js +1 -0
  39. package/lib/feed/index.d.ts +0 -1
  40. package/lib/front/course/entity.d.ts +19 -0
  41. package/lib/front/course/entity.js +2 -0
  42. package/lib/front/course/index.d.ts +1 -0
  43. package/lib/front/course/index.js +17 -0
  44. package/lib/front/discover/request.d.ts +1 -0
  45. package/lib/front/episode/entity.d.ts +20 -0
  46. package/lib/front/episode/entity.js +2 -0
  47. package/lib/front/episode/index.d.ts +1 -0
  48. package/lib/front/episode/index.js +17 -0
  49. package/lib/front/exercise/entity.d.ts +57 -0
  50. package/lib/front/exercise/entity.js +2 -0
  51. package/lib/front/exercise/index.d.ts +1 -0
  52. package/lib/front/exercise/index.js +17 -0
  53. package/lib/front/general/entity.d.ts +1 -2
  54. package/lib/front/index.d.ts +5 -0
  55. package/lib/front/index.js +5 -0
  56. package/lib/front/item/entity.d.ts +33 -0
  57. package/lib/front/item/entity.js +2 -0
  58. package/lib/front/item/index.d.ts +2 -0
  59. package/lib/front/item/index.js +18 -0
  60. package/lib/front/item/request.d.ts +5 -0
  61. package/lib/front/item/request.js +2 -0
  62. package/lib/front/list/entity.d.ts +3 -5
  63. package/lib/front/pass/entity.d.ts +39 -0
  64. package/lib/front/pass/entity.js +2 -0
  65. package/lib/front/pass/index.d.ts +2 -0
  66. package/lib/front/pass/index.js +18 -0
  67. package/lib/front/pass/request.d.ts +34 -0
  68. package/lib/front/pass/request.js +5 -0
  69. package/lib/front/table/entity.d.ts +3 -5
  70. package/lib/front/table/request.d.ts +1 -0
  71. package/lib/shared/course/request.d.ts +8 -1
  72. package/lib/shared/episode/request.d.ts +4 -2
  73. package/lib/shared/exercise/basic.d.ts +10 -0
  74. package/lib/shared/exercise/basic.js +2 -0
  75. package/lib/shared/exercise/index.d.ts +2 -0
  76. package/lib/shared/exercise/index.js +2 -0
  77. package/lib/shared/exercise/list.d.ts +4 -2
  78. package/lib/shared/exercise/regular.d.ts +15 -0
  79. package/lib/shared/exercise/regular.js +2 -0
  80. package/lib/shared/exercise/request.d.ts +6 -21
  81. package/lib/shared/exercise/table.d.ts +3 -2
  82. package/lib/shared/general/entity.d.ts +3 -0
  83. package/lib/shared/item/request.d.ts +7 -7
  84. package/lib/shared/table/request.d.ts +2 -2
  85. package/package.json +1 -1
@@ -0,0 +1,57 @@
1
+ import { FeEntityPointer, FePassItemResult, WordUserGen } from "../..";
2
+ import { ExerciseMode, ExerciseType, PassExerciseStatus } from "../../common";
3
+ export interface FeExerciseNavigator {
4
+ id: string;
5
+ name: string;
6
+ type: ExerciseType;
7
+ totalItems: number;
8
+ mode?: ExerciseMode;
9
+ grade?: number;
10
+ status: PassExerciseStatus;
11
+ }
12
+ export interface FeBasicExercisePointer extends FeEntityPointer<PassExerciseStatus> {
13
+ type: ExerciseType;
14
+ }
15
+ export interface FeExerciseRegularPointer extends FeBasicExercisePointer {
16
+ type: ExerciseType.Regular;
17
+ randomTips?: boolean;
18
+ mode?: ExerciseMode;
19
+ passItemsCount: number;
20
+ }
21
+ export interface FeExerciseListData {
22
+ listId: string;
23
+ words: WordUserGen[];
24
+ }
25
+ export interface FeExerciseListPointer extends FeBasicExercisePointer, FeExerciseListData {
26
+ type: ExerciseType.List;
27
+ }
28
+ export interface FeExerciseTableData {
29
+ tableId: string;
30
+ columns: string[];
31
+ rows: {
32
+ cells: WordUserGen[][];
33
+ }[];
34
+ }
35
+ export interface FeExerciseTablePointer extends FeBasicExercisePointer, FeExerciseTableData {
36
+ type: ExerciseType.Table;
37
+ }
38
+ export type FeExercisePointer = FeExerciseRegularPointer | FeExerciseListPointer | FeExerciseTablePointer;
39
+ export interface FeBasicPassExerciseResult {
40
+ id: string;
41
+ exerciseId: string;
42
+ passEpisodeId: string;
43
+ status: PassExerciseStatus;
44
+ type: ExerciseType;
45
+ grade: number;
46
+ }
47
+ export interface FePassExerciseResultRegular extends FeBasicPassExerciseResult {
48
+ type: ExerciseType.Regular;
49
+ items: FePassItemResult[];
50
+ }
51
+ export interface FePassExerciseResultList extends FeBasicPassExerciseResult, FeExerciseListData {
52
+ type: ExerciseType.List;
53
+ }
54
+ export interface FePassExerciseResultTable extends FeBasicPassExerciseResult, FeExerciseTableData {
55
+ type: ExerciseType.Table;
56
+ }
57
+ export type FePassExerciseResult = FePassExerciseResultRegular | FePassExerciseResultList | FePassExerciseResultTable;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export * from "./entity";
@@ -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("./entity"), exports);
@@ -1,4 +1,4 @@
1
- import { IdCodeOption, UserInfoGen } from "../../common";
1
+ import { IdCodeOption } from "../../common";
2
2
  import { AppSettings } from "../../shared";
3
3
  import { FeLangRecord } from "../lang";
4
4
  import { FeListRecord } from "../list";
@@ -10,7 +10,6 @@ export interface FeInitData {
10
10
  quizCodes: string[];
11
11
  localeCodes: string[];
12
12
  settings: AppSettings;
13
- userInfo?: UserInfoGen;
14
13
  }
15
14
  export interface FeIntroductionData {
16
15
  langs: FeLangRecord[];
@@ -15,3 +15,8 @@ export * from "./quiz";
15
15
  export * from "./progress";
16
16
  export * from "./wordImage";
17
17
  export * from "./explorer";
18
+ export * from "./course";
19
+ export * from "./item";
20
+ export * from "./episode";
21
+ export * from "./exercise";
22
+ export * from "./pass";
@@ -31,3 +31,8 @@ __exportStar(require("./quiz"), exports);
31
31
  __exportStar(require("./progress"), exports);
32
32
  __exportStar(require("./wordImage"), exports);
33
33
  __exportStar(require("./explorer"), exports);
34
+ __exportStar(require("./course"), exports);
35
+ __exportStar(require("./item"), exports);
36
+ __exportStar(require("./episode"), exports);
37
+ __exportStar(require("./exercise"), exports);
38
+ __exportStar(require("./pass"), exports);
@@ -0,0 +1,33 @@
1
+ import { ItemType } from "../../common";
2
+ export interface FeBasicItemPointer {
3
+ id: string;
4
+ type: ItemType;
5
+ isExample?: boolean;
6
+ tips: string[];
7
+ answers: string[][];
8
+ }
9
+ export interface FeItemRegularPointer extends FeBasicItemPointer {
10
+ type: ItemType.Regular;
11
+ content: string;
12
+ }
13
+ export interface FeItemImagePointer extends FeBasicItemPointer {
14
+ type: ItemType.Image;
15
+ imageUrl: string;
16
+ }
17
+ export type FeItemPointer = FeItemRegularPointer | FeItemImagePointer;
18
+ export interface FePassAnswerResult {
19
+ id: string;
20
+ index: number;
21
+ isCorrect: boolean;
22
+ text: string;
23
+ correctText?: string;
24
+ }
25
+ export interface FePassItemResult {
26
+ id: string;
27
+ itemId: string;
28
+ passExerciseId: string;
29
+ grade: number;
30
+ isExample: boolean;
31
+ content?: string;
32
+ answers: FePassAnswerResult[];
33
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export * from "./entity";
2
+ export * from "./request";
@@ -0,0 +1,18 @@
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("./entity"), exports);
18
+ __exportStar(require("./request"), exports);
@@ -0,0 +1,5 @@
1
+ import { ItemType } from "../../common";
2
+ export interface FeItemSetRequest {
3
+ exerciseId: string;
4
+ type: ItemType;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,4 @@
1
- import { AccessGen, ContribGen } from "../../common";
1
+ import { AccessGen, ContribGen, ImageGen } from "../../common";
2
2
  export interface FeListRecord {
3
3
  id: string;
4
4
  slug: string;
@@ -9,6 +9,7 @@ export interface FeListRecord {
9
9
  userTotal: number;
10
10
  contrib: ContribGen;
11
11
  access: AccessGen;
12
+ image: ImageGen | null;
12
13
  }
13
14
  export interface FeListEntity {
14
15
  id: string;
@@ -22,8 +23,5 @@ export interface FeListEntity {
22
23
  userTotal: number;
23
24
  wordTotal: number;
24
25
  knownWordTotal: number;
25
- fileName?: string;
26
- thumbnailFileName?: string;
27
- imageUrl?: string;
28
- imageThumbnailUrl?: string;
26
+ image: ImageGen | null;
29
27
  }
@@ -0,0 +1,39 @@
1
+ import { FeCourseRecord } from "../..";
2
+ import { EntityContent, PassEpisodeStatus, PassStatus, PointerMode } from "../../common";
3
+ import { FeEpisodeNavigator, FePassEpisodeResult } from "../episode";
4
+ import { FeExercisePointer, FePassExerciseResult } from "../exercise";
5
+ import { FeItemPointer } from "../item";
6
+ export interface FeEntityPointer<StatusType = PassStatus> {
7
+ id: string;
8
+ passId?: string;
9
+ passStatus?: StatusType;
10
+ }
11
+ export interface FeCoursePointer extends FeEntityPointer {
12
+ name: string;
13
+ langCode: string;
14
+ grade?: number;
15
+ }
16
+ export interface FeEpisodePointer extends FeEntityPointer<PassEpisodeStatus> {
17
+ name: string;
18
+ }
19
+ export interface FePassPointer {
20
+ mode: PointerMode;
21
+ episodeView?: EntityContent;
22
+ courseView?: EntityContent;
23
+ course: FeCoursePointer;
24
+ episode?: FeEpisodePointer;
25
+ exercise?: FeExercisePointer;
26
+ item?: FeItemPointer;
27
+ exerciseResult?: FePassExerciseResult;
28
+ }
29
+ export interface FePassCourseResult {
30
+ id: string;
31
+ courseId: string;
32
+ status: PassStatus;
33
+ grade: number;
34
+ episodes: FePassEpisodeResult[];
35
+ }
36
+ export interface FePassCourseEntity extends FeCourseRecord {
37
+ episodes: FeEpisodeNavigator[];
38
+ pointer: FePassPointer;
39
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ export * from "./request";
2
+ export * from "./entity";
@@ -0,0 +1,18 @@
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("./request"), exports);
18
+ __exportStar(require("./entity"), exports);
@@ -0,0 +1,34 @@
1
+ export interface FePassPointerRequest {
2
+ courseId: string;
3
+ exerciseId?: string;
4
+ episodeId?: string;
5
+ }
6
+ export interface FePassSubmitExerciseRequest {
7
+ courseId: string;
8
+ exerciseId: string;
9
+ }
10
+ export interface FePassSubmitEpisodeRequest {
11
+ courseId: string;
12
+ episodeId: string;
13
+ }
14
+ export interface FePassSubmitItemRequest {
15
+ courseId: string;
16
+ exerciseId: string;
17
+ itemId: string;
18
+ answers: string[];
19
+ }
20
+ export type FePassSubmitRequest = FePassSubmitExerciseRequest | FePassSubmitItemRequest | FePassSubmitEpisodeRequest;
21
+ export interface FePassItemRequest {
22
+ itemId: string;
23
+ }
24
+ export interface FePassExerciseRequest {
25
+ exerciseId: string;
26
+ }
27
+ export interface FePassEpisodeRequest {
28
+ episodeId: string;
29
+ }
30
+ export interface FePassRepeatExerciseRequest {
31
+ courseId: string;
32
+ exerciseId: string;
33
+ onlyFailed?: boolean;
34
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ // export interface FePassStartRequest {
3
+ // courseId: string;
4
+ // }
5
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,4 @@
1
- import { AccessGen, ContribGen } from "../../common";
1
+ import { AccessGen, ContribGen, ImageGen } from "../../common";
2
2
  export interface FeTableRecord {
3
3
  id: string;
4
4
  slug: string;
@@ -8,6 +8,7 @@ export interface FeTableRecord {
8
8
  wordTotal: number;
9
9
  contrib: ContribGen;
10
10
  access: AccessGen;
11
+ image: ImageGen | null;
11
12
  }
12
13
  export interface FeTableEntity {
13
14
  id: string;
@@ -16,10 +17,7 @@ export interface FeTableEntity {
16
17
  langCode: string;
17
18
  description?: string;
18
19
  metaKeywords: string;
19
- fileName?: string;
20
- thumbnailFileName?: string;
21
- imageUrl?: string;
22
- imageThumbnailUrl?: string;
20
+ image: ImageGen | null;
23
21
  access: AccessGen;
24
22
  contrib: ContribGen;
25
23
  rowTotal: number;
@@ -4,6 +4,7 @@ export interface FeTableEntityRequest extends SlugRequest {
4
4
  }
5
5
  export interface FeTableWordFeedRequest extends WordFeedExtension, FeedRequest {
6
6
  slug: string;
7
+ state?: string;
7
8
  }
8
9
  export interface FeTableFeedRequest extends LangFeedRequest {
9
10
  userSlug?: string;
@@ -1,7 +1,10 @@
1
- import { PostStatus } from "../../common";
1
+ import { ContentType, ImageGen, PostStatus } from "../../common";
2
2
  export interface CreateCourseRequest {
3
3
  name: string;
4
+ slug?: string;
4
5
  description?: string;
6
+ content?: string;
7
+ contentType?: ContentType;
5
8
  langCode: string;
6
9
  }
7
10
  export interface UpdateCourseRequest extends CreateCourseRequest {
@@ -9,4 +12,8 @@ export interface UpdateCourseRequest extends CreateCourseRequest {
9
12
  }
10
13
  export interface CourseModifier extends UpdateCourseRequest {
11
14
  status: PostStatus;
15
+ image?: ImageGen;
16
+ }
17
+ export interface CourseRequest {
18
+ courseId: string;
12
19
  }
@@ -1,9 +1,11 @@
1
+ import { ContentType } from "../..";
1
2
  export interface CreateEpisodeRequest {
2
- title: string;
3
+ name: string;
3
4
  content: string;
5
+ contentType?: ContentType;
4
6
  courseId: string;
5
7
  }
6
- export interface UpdateEpisodeRequest extends Pick<CreateEpisodeRequest, "title" | "content"> {
8
+ export interface UpdateEpisodeRequest extends Pick<CreateEpisodeRequest, "name" | "content" | "contentType"> {
7
9
  id: string;
8
10
  }
9
11
  export interface EpisodeModifier extends CreateEpisodeRequest {
@@ -0,0 +1,10 @@
1
+ import { ExerciseType } from "../../common";
2
+ export interface CreateBaseExerciseRequest {
3
+ name: string;
4
+ episodeId: string;
5
+ }
6
+ export interface BasicExerciseModifier extends CreateBaseExerciseRequest {
7
+ id: string;
8
+ valid: boolean;
9
+ type: ExerciseType;
10
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,3 +1,5 @@
1
1
  export * from "./request";
2
2
  export * from "./list";
3
3
  export * from "./table";
4
+ export * from "./regular";
5
+ export * from "./basic";
@@ -17,3 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./request"), exports);
18
18
  __exportStar(require("./list"), exports);
19
19
  __exportStar(require("./table"), exports);
20
+ __exportStar(require("./regular"), exports);
21
+ __exportStar(require("./basic"), exports);
@@ -1,10 +1,12 @@
1
- import { CreateBaseExerciseRequest, ExerciseModifier, UpdateExerciseRequest } from "./request";
1
+ import { BasicExerciseModifier, CreateBaseExerciseRequest } from "./basic";
2
+ import { UpdateExerciseRequest } from "./request";
2
3
  export interface CreateExerciseListRequest extends CreateBaseExerciseRequest {
3
4
  wordIds: string[];
4
5
  }
5
6
  export interface UpdateExerciseListRequest extends UpdateExerciseRequest {
6
7
  wordIds: string[];
7
8
  }
8
- export interface ExerciseListModifier extends ExerciseModifier {
9
+ export interface ExerciseListModifier extends BasicExerciseModifier {
10
+ listId: string;
9
11
  wordIds: string[];
10
12
  }
@@ -0,0 +1,15 @@
1
+ import { ExerciseMode } from "../../common";
2
+ import { BasicExerciseModifier, CreateBaseExerciseRequest } from "./basic";
3
+ import { UpdateExerciseRequest } from "./request";
4
+ export interface CreateExerciseRegularRequest extends CreateBaseExerciseRequest {
5
+ randomTips?: boolean;
6
+ mode?: ExerciseMode;
7
+ }
8
+ export interface UpdateExerciseRegularRequest extends UpdateExerciseRequest {
9
+ id: string;
10
+ randomTips?: boolean;
11
+ }
12
+ export interface ExerciseRegularModifier extends BasicExerciseModifier {
13
+ randomTips?: boolean;
14
+ mode?: ExerciseMode;
15
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,23 +1,8 @@
1
- import { ExerciseType } from "../../common";
2
- export interface CreateBaseExerciseRequest {
3
- title: string;
4
- episodeId: string;
5
- }
6
- export interface CreateExerciseRegularRequest extends CreateBaseExerciseRequest {
7
- randomTips?: boolean;
8
- }
9
- export interface UpdateExerciseRequest extends Pick<CreateBaseExerciseRequest, "title"> {
10
- id: string;
11
- }
12
- export interface UpdateExerciseRegularRequest extends UpdateExerciseRequest {
1
+ import { CreateBaseExerciseRequest } from "./basic";
2
+ import { ExerciseListModifier } from "./list";
3
+ import { ExerciseTableModifier } from "./table";
4
+ import { ExerciseRegularModifier } from "./regular";
5
+ export interface UpdateExerciseRequest extends Pick<CreateBaseExerciseRequest, "name"> {
13
6
  id: string;
14
- randomTips?: boolean;
15
- }
16
- export interface ExerciseModifier extends CreateBaseExerciseRequest {
17
- id: string;
18
- valid: boolean;
19
- type: ExerciseType;
20
- }
21
- export interface ExerciseRegularModifier extends ExerciseModifier {
22
- randomTips: boolean;
23
7
  }
8
+ export type ExerciseModifier = ExerciseListModifier | ExerciseTableModifier | ExerciseRegularModifier;
@@ -1,4 +1,5 @@
1
- import { CreateBaseExerciseRequest, ExerciseModifier, UpdateExerciseRequest } from "./request";
1
+ import { BasicExerciseModifier, CreateBaseExerciseRequest } from "./basic";
2
+ import { UpdateExerciseRequest } from "./request";
2
3
  export interface ExerciseTableCell {
3
4
  wordIds: string[];
4
5
  columnIndex: number;
@@ -11,7 +12,7 @@ export interface CreateExerciseTableRequest extends CreateBaseExerciseRequest {
11
12
  columns: string[];
12
13
  rows: ExerciseTableRow[];
13
14
  }
14
- export interface ExerciseTableModifier extends ExerciseModifier {
15
+ export interface ExerciseTableModifier extends BasicExerciseModifier {
15
16
  tableId: string;
16
17
  columns: string[];
17
18
  rows: ExerciseTableRow[];
@@ -33,4 +33,7 @@ export interface AppSettings {
33
33
  readonly courseEpisodes: [number, number];
34
34
  readonly episodeExercises: [number, number];
35
35
  readonly exerciseItems: [number, number];
36
+ readonly exerciseListWords: [number, number];
37
+ readonly exerciseTableRows: [number, number];
38
+ readonly exerciseListPassRate: number;
36
39
  }
@@ -1,7 +1,7 @@
1
- import { ItemType } from "../..";
1
+ import { ImageGen, ItemType } from "../..";
2
2
  export interface BaseItemRequest {
3
3
  exerciseId: string;
4
- showAnswer?: boolean;
4
+ isExample?: boolean;
5
5
  answers: string[][];
6
6
  tips: string[];
7
7
  }
@@ -9,7 +9,6 @@ export interface CreateItemRegularRequest extends BaseItemRequest {
9
9
  content: string;
10
10
  }
11
11
  export interface CreateItemImageRequest extends BaseItemRequest {
12
- imageFileName: string;
13
12
  }
14
13
  export interface UpdateItemRegularRequest extends CreateItemRegularRequest {
15
14
  id: string;
@@ -17,14 +16,15 @@ export interface UpdateItemRegularRequest extends CreateItemRegularRequest {
17
16
  export interface UpdateItemImageRequest extends CreateItemImageRequest {
18
17
  id: string;
19
18
  }
20
- export interface ItemModifier extends BaseItemRequest {
19
+ export interface BaseItemModifier extends BaseItemRequest {
21
20
  id: string;
22
21
  type: ItemType;
23
22
  tips: string[];
24
23
  }
25
- export interface ItemRegularModifier extends ItemModifier {
24
+ export interface ItemRegularModifier extends BaseItemModifier {
26
25
  content: string;
27
26
  }
28
- export interface ItemImageModifier extends ItemModifier {
29
- imageFileName: string;
27
+ export interface ItemImageModifier extends BaseItemModifier {
28
+ image: ImageGen;
30
29
  }
30
+ export type ItemModifier = ItemRegularModifier | ItemImageModifier;
@@ -1,3 +1,4 @@
1
+ import { ImageGen } from "../../common";
1
2
  import { WordFeedExtension, FeedRequest, LangFeedRequest } from "../../feed";
2
3
  import { LiteralWord } from "../../shared";
3
4
  import { TableCellSkeleton } from "./entity";
@@ -27,8 +28,7 @@ export interface UpdateTableRequest extends Omit<CreateTableRequest, "langCode"
27
28
  }
28
29
  export interface TableModifier extends CreateTableRequest {
29
30
  id: string;
30
- imageUrl?: string;
31
- imageThumbnailUrl?: string;
31
+ image: ImageGen | null;
32
32
  }
33
33
  export interface UpdateTableCellRequest extends TableCellSkeleton<LiteralWord> {
34
34
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "revdev",
3
- "version": "0.310.0",
3
+ "version": "0.312.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",