complexqa_frontend_core 1.20.3 → 1.21.2
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.
- package/package.json +1 -1
- package/publish/api/index.js +18 -16
- package/publish/api/util/browser_tools_util_execution_api.js +108 -0
- package/publish/index.js +8 -0
- package/publish/services/serviceTranslate.js +2 -0
- package/publish/types/core/0_familyGeneralElement.js +10 -1
- package/publish/types/core/1_familyContext.js +3 -38
- package/publish/types/element_translate/_familyContext.i18n.js +190 -0
- package/publish/types/element_translate/_familyUtil.i18n.js +68 -0
- package/publish/types/element_translate/typeBrowserContext.i18n.js +24 -0
- package/publish/types/element_translate/typeBug.i18n.js +1014 -0
- package/publish/types/element_translate/typeBugRelation.i18n.js +146 -0
- package/publish/types/element_translate/typeDeploymentTargetContext.i18n.js +184 -0
- package/publish/types/element_translate/typeDeviceContext.i18n.js +118 -0
- package/publish/types/element_translate/typeExecutionContext.i18n.js +267 -0
- package/publish/types/element_translate/typeLocaleContext.i18n.js +90 -0
- package/publish/types/element_translate/typeOsContext.i18n.js +118 -0
- package/publish/types/element_translate/typeProject.i18n.js +135 -0
- package/publish/types/element_translate/typeScreenResolutionContext.i18n.js +151 -0
- package/publish/types/element_translate/typeTeamMember.i18n.js +119 -0
- package/publish/types/element_translate/typeTeamTotalStatistic.i18n.js +97 -0
- package/publish/types/element_translate/typeTestAccount.i18n.js +108 -0
- package/publish/types/element_translate/typeTestCase.i18n.js +359 -0
- package/publish/types/element_translate/typeTestCaseStep.i18n.js +179 -0
- package/publish/types/element_translate/typeTestRun.i18n.js +223 -0
- package/publish/types/element_translate/typeTestRunResult.i18n.js +141 -0
- package/publish/types/element_translate/typeUtilExecution.i18n.js +49 -0
- package/publish/types/element_translate/typeUtilExecutionScreenshotMulti.i18n.js +43 -0
- package/publish/types/family_context/typeBrowserContext.js +2 -8
- package/publish/types/family_context/typeDeploymentTargetContext.js +3 -41
- package/publish/types/family_context/typeDeviceContext.js +3 -29
- package/publish/types/family_context/typeExecutionContext.js +3 -52
- package/publish/types/family_context/typeLocaleContext.js +2 -20
- package/publish/types/family_context/typeOsContext.js +3 -29
- package/publish/types/family_context/typeScreenResolutionContext.js +3 -35
- package/publish/types/family_contracts/familyContracts.js +10 -1
- package/publish/types/family_contracts/typeTeamTotalStatistic.js +2 -18
- package/publish/types/family_elements/typeBug.js +3 -196
- package/publish/types/family_elements/typeProject.js +3 -29
- package/publish/types/family_elements/typeTeamMember.js +2 -22
- package/publish/types/family_elements/typeTestAccount.js +2 -20
- package/publish/types/family_elements/typeTestCase.js +3 -72
- package/publish/types/family_elements/typeTestCaseStep.js +3 -36
- package/publish/types/family_elements/typeTestRun.js +3 -45
- package/publish/types/family_elements/typeTestRunResult.js +2 -27
- package/publish/types/family_relation/typeBugRelation.js +3 -30
- package/publish/types/family_utils/familyUtil.js +43 -0
- package/publish/types/family_utils/typeUtilExecution.js +153 -0
- package/publish/types/family_utils/typeUtilExecutionEvent.js +56 -0
- package/publish/types/family_utils/typeUtilExecutionScreenshotMulti.js +72 -0
- package/publish/types/family_utils/typeUtilExecutionScreenshotMultiCapture.js +57 -0
- package/publish/types/family_utils/typeUtilExecutionScreenshotMultiCaptureError.js +49 -0
- package/publish/types/family_utils/typeUtilExecutionScreenshotMultiScreenshot.js +57 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { echo, is_object } from "../../utils/utils";
|
|
2
2
|
import { familyTestDocumentation } from "../core/1_familyTestDocumentation.js";
|
|
3
|
+
import { typeTestRun_i18n } from "../element_translate/typeTestRun.i18n.js";
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Коллекция тестов для работы, она же parent для typeTestRunResult
|
|
@@ -55,52 +56,9 @@ export class typeTestRun extends familyTestDocumentation
|
|
|
55
56
|
};
|
|
56
57
|
|
|
57
58
|
|
|
58
|
-
enum_value_translate_matrix =
|
|
59
|
-
test_run_status: {
|
|
60
|
-
en: {
|
|
61
|
-
PENDING : 'Pending',
|
|
62
|
-
IN_PROGRESS: 'In progress',
|
|
63
|
-
COMPLETED : 'Completed',
|
|
64
|
-
CLOSED : 'Closed',
|
|
65
|
-
},
|
|
66
|
-
ru: {
|
|
67
|
-
PENDING : 'Ожидает',
|
|
68
|
-
IN_PROGRESS: 'В работе',
|
|
69
|
-
COMPLETED : 'Завершен',
|
|
70
|
-
CLOSED : 'Закрыт',
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
};
|
|
74
|
-
|
|
59
|
+
enum_value_translate_matrix = typeTestRun_i18n.enum_value_translate_matrix;
|
|
75
60
|
|
|
76
|
-
attribute_name_translate_matrix =
|
|
77
|
-
en: {
|
|
78
|
-
test_run_id : 'ID',
|
|
79
|
-
test_run_name : 'Name',
|
|
80
|
-
project_id : 'Project',
|
|
81
|
-
team_id : 'Team',
|
|
82
|
-
test_run_description: 'Description',
|
|
83
|
-
assigned_to : 'Assigned to',
|
|
84
|
-
test_case_ids : 'Test cases',
|
|
85
|
-
test_run_status : 'Status',
|
|
86
|
-
created_at : 'Created at',
|
|
87
|
-
updated_at : 'Updated at',
|
|
88
|
-
completed_at : 'Completed at',
|
|
89
|
-
},
|
|
90
|
-
ru: {
|
|
91
|
-
test_run_id : 'ID',
|
|
92
|
-
test_run_name : 'Название',
|
|
93
|
-
project_id : 'Проект',
|
|
94
|
-
team_id : 'Команда',
|
|
95
|
-
test_run_description: 'Описание',
|
|
96
|
-
assigned_to : 'Назначен',
|
|
97
|
-
test_case_ids : 'Тест кейсы',
|
|
98
|
-
test_run_status : 'Статус',
|
|
99
|
-
created_at : 'Создано',
|
|
100
|
-
updated_at : 'Изменено',
|
|
101
|
-
completed_at : 'Завершено',
|
|
102
|
-
},
|
|
103
|
-
};
|
|
61
|
+
attribute_name_translate_matrix = typeTestRun_i18n.attribute_name_translate_matrix;
|
|
104
62
|
|
|
105
63
|
status_color = {
|
|
106
64
|
PENDING : '#C4B040',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { is_object } from "../../utils/utils";
|
|
2
2
|
import { familyTestDocumentation } from "../core/1_familyTestDocumentation.js";
|
|
3
|
+
import { typeTestRunResult_i18n } from "../element_translate/typeTestRunResult.i18n.js";
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* 1 результат по каждому тест кейсу
|
|
@@ -49,33 +50,7 @@ export class typeTestRunResult extends familyTestDocumentation
|
|
|
49
50
|
};
|
|
50
51
|
|
|
51
52
|
|
|
52
|
-
attribute_name_translate_matrix =
|
|
53
|
-
en: {
|
|
54
|
-
test_result_id : 'ID',
|
|
55
|
-
test_case_id : 'Test case',
|
|
56
|
-
test_run_id : 'Test run',
|
|
57
|
-
test_result_status : 'Status',
|
|
58
|
-
test_result_description: 'Description',
|
|
59
|
-
assigned_to : 'Assigned to',
|
|
60
|
-
project_id : 'Project',
|
|
61
|
-
created_at : 'Created at',
|
|
62
|
-
updated_at : 'Updated at',
|
|
63
|
-
completed_at : 'Completed at',
|
|
64
|
-
},
|
|
65
|
-
ru: {
|
|
66
|
-
test_result_id : 'ID',
|
|
67
|
-
test_case_id : 'Тест кейс',
|
|
68
|
-
test_run_id : 'Тестовый прогон',
|
|
69
|
-
test_result_status : 'Статус',
|
|
70
|
-
test_result_description: 'Описание',
|
|
71
|
-
assigned_to : 'Назначен',
|
|
72
|
-
project_id : 'Проект',
|
|
73
|
-
created_at : 'Создано',
|
|
74
|
-
updated_at : 'Обновлено',
|
|
75
|
-
completed_at : 'Завершено',
|
|
76
|
-
},
|
|
77
|
-
};
|
|
78
|
-
|
|
53
|
+
attribute_name_translate_matrix = typeTestRunResult_i18n.attribute_name_translate_matrix;
|
|
79
54
|
|
|
80
55
|
status_color = {
|
|
81
56
|
PENDING: '#C4B040',
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { is_object } from '../../utils/utils.js';
|
|
2
2
|
import _ from 'underscore';
|
|
3
3
|
import { familyRelation } from '../core/1_familyRelation.js';
|
|
4
|
+
import { typeBugRelation_i18n } from '../element_translate/typeBugRelation.i18n.js';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Связь бага с сущностью TMS / контекстом выполнения.
|
|
@@ -55,37 +56,9 @@ export class typeBugRelation extends familyRelation
|
|
|
55
56
|
relation_type: typeBugRelation.get_relation_type_values(),
|
|
56
57
|
};
|
|
57
58
|
|
|
58
|
-
enum_value_translate_matrix =
|
|
59
|
-
relation_type: {
|
|
60
|
-
en: {
|
|
61
|
-
test_case_id : 'Test case',
|
|
62
|
-
test_run_id : 'Test run',
|
|
63
|
-
test_run_result_id : 'Test run result',
|
|
64
|
-
execution_context_id: 'Execution context',
|
|
65
|
-
},
|
|
66
|
-
ru: {
|
|
67
|
-
test_case_id : 'Тест-кейс',
|
|
68
|
-
test_run_id : 'Прогон',
|
|
69
|
-
test_run_result_id : 'Результат прогона',
|
|
70
|
-
execution_context_id: 'Контекст выполнения',
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
};
|
|
59
|
+
enum_value_translate_matrix = typeBugRelation_i18n.enum_value_translate_matrix;
|
|
74
60
|
|
|
75
|
-
attribute_name_translate_matrix =
|
|
76
|
-
en: {
|
|
77
|
-
bug_relation_id: 'ID',
|
|
78
|
-
bug_id : 'Bug',
|
|
79
|
-
relation_type : 'Relation type',
|
|
80
|
-
element_id : 'Linked element',
|
|
81
|
-
},
|
|
82
|
-
ru: {
|
|
83
|
-
bug_relation_id: 'ID',
|
|
84
|
-
bug_id : 'Баг',
|
|
85
|
-
relation_type : 'Тип связи',
|
|
86
|
-
element_id : 'Связанный элемент',
|
|
87
|
-
},
|
|
88
|
-
};
|
|
61
|
+
attribute_name_translate_matrix = typeBugRelation_i18n.attribute_name_translate_matrix;
|
|
89
62
|
|
|
90
63
|
|
|
91
64
|
static get_relation_type_values()
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { familyGeneralElement } from "../core/0_familyGeneralElement.js";
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Базовый класс для Util Service layer (typed executions).
|
|
6
|
+
*
|
|
7
|
+
* @see docs/Utils Layer/browser-tools-util-execution-docs.MD
|
|
8
|
+
*
|
|
9
|
+
* @version v.1.0 (24/06/2026)
|
|
10
|
+
*/
|
|
11
|
+
export class familyUtil extends familyGeneralElement
|
|
12
|
+
{
|
|
13
|
+
/**
|
|
14
|
+
* @returns {string[]}
|
|
15
|
+
*/
|
|
16
|
+
static get_execution_status_values()
|
|
17
|
+
{
|
|
18
|
+
return [
|
|
19
|
+
'pending',
|
|
20
|
+
'submit_failed',
|
|
21
|
+
'queued',
|
|
22
|
+
'completed',
|
|
23
|
+
'failed',
|
|
24
|
+
];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @returns {string[]}
|
|
30
|
+
*/
|
|
31
|
+
static get_event_type_values()
|
|
32
|
+
{
|
|
33
|
+
return [
|
|
34
|
+
'pending',
|
|
35
|
+
'submit_failed',
|
|
36
|
+
'queued',
|
|
37
|
+
'completed',
|
|
38
|
+
'failed',
|
|
39
|
+
'callback_received',
|
|
40
|
+
'deleted',
|
|
41
|
+
];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { familyUtil } from "./familyUtil.js";
|
|
2
|
+
import { is_object } from "../../utils/utils.js";
|
|
3
|
+
import { typeUtilExecution_i18n } from "../element_translate/typeUtilExecution.i18n.js";
|
|
4
|
+
import { typeUtilExecutionScreenshotMulti } from "./typeUtilExecutionScreenshotMulti.js";
|
|
5
|
+
import { typeUtilExecutionScreenshotMultiCapture } from "./typeUtilExecutionScreenshotMultiCapture.js";
|
|
6
|
+
import { typeUtilExecutionScreenshotMultiScreenshot } from "./typeUtilExecutionScreenshotMultiScreenshot.js";
|
|
7
|
+
import { typeUtilExecutionScreenshotMultiCaptureError } from "./typeUtilExecutionScreenshotMultiCaptureError.js";
|
|
8
|
+
import { typeUtilExecutionEvent } from "./typeUtilExecutionEvent.js";
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Корневая сущность util execution (Browser Tools screenshot.multi и др.).
|
|
13
|
+
*
|
|
14
|
+
* @see docs/Utils Layer/browser-tools-util-execution-docs.MD
|
|
15
|
+
*
|
|
16
|
+
* @version v.1.0 (24/06/2026)
|
|
17
|
+
*/
|
|
18
|
+
export class typeUtilExecution extends familyUtil
|
|
19
|
+
{
|
|
20
|
+
util_execution_id;
|
|
21
|
+
team_id;
|
|
22
|
+
project_id;
|
|
23
|
+
user_id;
|
|
24
|
+
|
|
25
|
+
execution_status;
|
|
26
|
+
external_job_id;
|
|
27
|
+
error_message;
|
|
28
|
+
|
|
29
|
+
submitted_at;
|
|
30
|
+
completed_at;
|
|
31
|
+
created_at;
|
|
32
|
+
|
|
33
|
+
/** Поля listing (денормализация) */
|
|
34
|
+
page_url;
|
|
35
|
+
screenshot_count;
|
|
36
|
+
|
|
37
|
+
/** Поля status (счётчики из screenshot_multi) */
|
|
38
|
+
captures_total;
|
|
39
|
+
captures_succeeded;
|
|
40
|
+
captures_failed;
|
|
41
|
+
|
|
42
|
+
/** Вложенные данные GET details */
|
|
43
|
+
screenshot_multi;
|
|
44
|
+
captures;
|
|
45
|
+
screenshots;
|
|
46
|
+
capture_errors;
|
|
47
|
+
events;
|
|
48
|
+
|
|
49
|
+
primary_key = 'util_execution_id';
|
|
50
|
+
api_key = 'browser_tools_util_execution';
|
|
51
|
+
|
|
52
|
+
structure_scheme = {
|
|
53
|
+
util_execution_id : 'integer | require',
|
|
54
|
+
team_id : 'integer | optional',
|
|
55
|
+
project_id : 'integer | require',
|
|
56
|
+
user_id : 'integer | optional',
|
|
57
|
+
execution_status : 'string | enum | require',
|
|
58
|
+
external_job_id : 'string | max:120 | optional',
|
|
59
|
+
error_message : 'string | optional',
|
|
60
|
+
submitted_at : 'timestamp | optional',
|
|
61
|
+
completed_at : 'timestamp | optional',
|
|
62
|
+
created_at : 'timestamp | optional',
|
|
63
|
+
page_url : 'string | max:2048 | optional',
|
|
64
|
+
screenshot_count : 'integer | optional',
|
|
65
|
+
captures_total : 'integer | optional',
|
|
66
|
+
captures_succeeded: 'integer | optional',
|
|
67
|
+
captures_failed : 'integer | optional',
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
create_scheme = [
|
|
71
|
+
'project_id',
|
|
72
|
+
'page_url',
|
|
73
|
+
'capture_matrix_preset',
|
|
74
|
+
'captures',
|
|
75
|
+
'wait_until',
|
|
76
|
+
'full_page',
|
|
77
|
+
'navigation_timeout_milliseconds',
|
|
78
|
+
];
|
|
79
|
+
|
|
80
|
+
available_enum_values = {
|
|
81
|
+
execution_status: familyUtil.get_execution_status_values(),
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
enum_value_translate_matrix = typeUtilExecution_i18n.enum_value_translate_matrix;
|
|
85
|
+
|
|
86
|
+
attribute_name_translate_matrix = typeUtilExecution_i18n.attribute_name_translate_matrix;
|
|
87
|
+
|
|
88
|
+
status_color = {
|
|
89
|
+
pending : '#4D92FA',
|
|
90
|
+
submit_failed: '#E66565',
|
|
91
|
+
queued : '#009688',
|
|
92
|
+
completed : '#009688',
|
|
93
|
+
failed : '#E66565',
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* @param {object|false|undefined} data
|
|
99
|
+
*/
|
|
100
|
+
constructor(data = false)
|
|
101
|
+
{
|
|
102
|
+
super();
|
|
103
|
+
|
|
104
|
+
if (data && is_object(data))
|
|
105
|
+
{
|
|
106
|
+
_.mapObject(data, (value, key) =>
|
|
107
|
+
{
|
|
108
|
+
if (key === 'screenshot_multi' && value && is_object(value))
|
|
109
|
+
{
|
|
110
|
+
this.screenshot_multi = new typeUtilExecutionScreenshotMulti(value);
|
|
111
|
+
}
|
|
112
|
+
else if (key === 'captures' && Array.isArray(value))
|
|
113
|
+
{
|
|
114
|
+
this.captures = value.map((row) => new typeUtilExecutionScreenshotMultiCapture(row));
|
|
115
|
+
}
|
|
116
|
+
else if (key === 'screenshots' && Array.isArray(value))
|
|
117
|
+
{
|
|
118
|
+
this.screenshots = value.map((row) => new typeUtilExecutionScreenshotMultiScreenshot(row));
|
|
119
|
+
}
|
|
120
|
+
else if (key === 'capture_errors' && Array.isArray(value))
|
|
121
|
+
{
|
|
122
|
+
this.capture_errors = value.map((row) => new typeUtilExecutionScreenshotMultiCaptureError(row));
|
|
123
|
+
}
|
|
124
|
+
else if (key === 'events' && Array.isArray(value))
|
|
125
|
+
{
|
|
126
|
+
this.events = value.map((row) => new typeUtilExecutionEvent(row));
|
|
127
|
+
}
|
|
128
|
+
else if (this.hasOwnProperty(key))
|
|
129
|
+
{
|
|
130
|
+
this [ key ] = value;
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return this;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* @param {object|false|undefined} data
|
|
141
|
+
*
|
|
142
|
+
* @returns {typeUtilExecution|false}
|
|
143
|
+
*/
|
|
144
|
+
static hydrateDetails(data)
|
|
145
|
+
{
|
|
146
|
+
if (!data || !is_object(data))
|
|
147
|
+
{
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
return new typeUtilExecution(data);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { familyUtil } from "./familyUtil.js";
|
|
2
|
+
import { is_object } from "../../utils/utils.js";
|
|
3
|
+
import { familyUtil_i18n } from "../element_translate/_familyUtil.i18n.js";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Событие аудита util execution.
|
|
8
|
+
*
|
|
9
|
+
* @version v.1.0 (24/06/2026)
|
|
10
|
+
*/
|
|
11
|
+
export class typeUtilExecutionEvent extends familyUtil
|
|
12
|
+
{
|
|
13
|
+
util_execution_event_id;
|
|
14
|
+
util_execution_id;
|
|
15
|
+
event_type;
|
|
16
|
+
created_at;
|
|
17
|
+
|
|
18
|
+
primary_key = 'util_execution_event_id';
|
|
19
|
+
|
|
20
|
+
structure_scheme = {
|
|
21
|
+
util_execution_event_id: 'integer | optional',
|
|
22
|
+
util_execution_id : 'integer | optional',
|
|
23
|
+
event_type : 'string | enum | require',
|
|
24
|
+
created_at : 'timestamp | optional',
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
available_enum_values = {
|
|
28
|
+
event_type: familyUtil.get_event_type_values(),
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
enum_value_translate_matrix = {
|
|
32
|
+
event_type: familyUtil_i18n.event_type,
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @param {object|false|undefined} data
|
|
38
|
+
*/
|
|
39
|
+
constructor(data = false)
|
|
40
|
+
{
|
|
41
|
+
super();
|
|
42
|
+
|
|
43
|
+
if (data && is_object(data))
|
|
44
|
+
{
|
|
45
|
+
_.mapObject(data, (value, key) =>
|
|
46
|
+
{
|
|
47
|
+
if (this.hasOwnProperty(key))
|
|
48
|
+
{
|
|
49
|
+
this [ key ] = value;
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { familyUtil } from "./familyUtil.js";
|
|
2
|
+
import { is_object } from "../../utils/utils.js";
|
|
3
|
+
import { typeUtilExecutionScreenshotMulti_i18n } from "../element_translate/typeUtilExecutionScreenshotMulti.i18n.js";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Параметры и результат action screenshot.multi (1:1 к util_execution).
|
|
8
|
+
*
|
|
9
|
+
* @version v.1.0 (24/06/2026)
|
|
10
|
+
*/
|
|
11
|
+
export class typeUtilExecutionScreenshotMulti extends familyUtil
|
|
12
|
+
{
|
|
13
|
+
util_execution_id;
|
|
14
|
+
page_url;
|
|
15
|
+
wait_until;
|
|
16
|
+
full_page;
|
|
17
|
+
navigation_timeout_milliseconds;
|
|
18
|
+
capture_matrix_preset;
|
|
19
|
+
last_callback_status;
|
|
20
|
+
captures_total;
|
|
21
|
+
captures_succeeded;
|
|
22
|
+
captures_failed;
|
|
23
|
+
duration_milliseconds;
|
|
24
|
+
|
|
25
|
+
primary_key = 'util_execution_id';
|
|
26
|
+
|
|
27
|
+
structure_scheme = {
|
|
28
|
+
util_execution_id : 'integer | require',
|
|
29
|
+
page_url : 'string | max:2048 | require',
|
|
30
|
+
wait_until : 'string | enum | optional',
|
|
31
|
+
full_page : 'integer | optional',
|
|
32
|
+
navigation_timeout_milliseconds: 'integer | optional',
|
|
33
|
+
capture_matrix_preset : 'string | enum | require',
|
|
34
|
+
last_callback_status : 'string | enum | optional',
|
|
35
|
+
captures_total : 'integer | optional',
|
|
36
|
+
captures_succeeded : 'integer | optional',
|
|
37
|
+
captures_failed : 'integer | optional',
|
|
38
|
+
duration_milliseconds : 'integer | optional',
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
available_enum_values = {
|
|
42
|
+
capture_matrix_preset: [ 'default', 'custom' ],
|
|
43
|
+
wait_until : [ 'load', 'domcontentloaded', 'networkidle', 'commit' ],
|
|
44
|
+
last_callback_status : [ 'completed', 'failed' ],
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
enum_value_translate_matrix = typeUtilExecutionScreenshotMulti_i18n.enum_value_translate_matrix;
|
|
48
|
+
|
|
49
|
+
attribute_name_translate_matrix = typeUtilExecutionScreenshotMulti_i18n.attribute_name_translate_matrix;
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* @param {object|false|undefined} data
|
|
54
|
+
*/
|
|
55
|
+
constructor(data = false)
|
|
56
|
+
{
|
|
57
|
+
super();
|
|
58
|
+
|
|
59
|
+
if (data && is_object(data))
|
|
60
|
+
{
|
|
61
|
+
_.mapObject(data, (value, key) =>
|
|
62
|
+
{
|
|
63
|
+
if (this.hasOwnProperty(key))
|
|
64
|
+
{
|
|
65
|
+
this [ key ] = value;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
return this;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { familyUtil } from "./familyUtil.js";
|
|
2
|
+
import { is_object } from "../../utils/utils.js";
|
|
3
|
+
import { register_type_class } from "../core/type_class_resolver.js";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Строка пользовательской матрицы захвата (browser + resolution).
|
|
8
|
+
*
|
|
9
|
+
* @version v.1.0 (24/06/2026)
|
|
10
|
+
*/
|
|
11
|
+
export class typeUtilExecutionScreenshotMultiCapture extends familyUtil
|
|
12
|
+
{
|
|
13
|
+
util_execution_screenshot_multi_capture_id;
|
|
14
|
+
util_execution_id;
|
|
15
|
+
sort_order;
|
|
16
|
+
browser_context_id;
|
|
17
|
+
screen_resolution_context_id;
|
|
18
|
+
|
|
19
|
+
primary_key = 'util_execution_screenshot_multi_capture_id';
|
|
20
|
+
|
|
21
|
+
structure_scheme = {
|
|
22
|
+
util_execution_screenshot_multi_capture_id: 'integer | optional',
|
|
23
|
+
util_execution_id : 'integer | optional',
|
|
24
|
+
sort_order : 'integer | optional',
|
|
25
|
+
browser_context_id : 'integer | typeBrowserContext | require',
|
|
26
|
+
screen_resolution_context_id : 'integer | typeScreenResolutionContext | require',
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
create_scheme = [
|
|
30
|
+
'browser_context_id',
|
|
31
|
+
'screen_resolution_context_id',
|
|
32
|
+
];
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @param {object|false|undefined} data
|
|
37
|
+
*/
|
|
38
|
+
constructor(data = false)
|
|
39
|
+
{
|
|
40
|
+
super();
|
|
41
|
+
|
|
42
|
+
if (data && is_object(data))
|
|
43
|
+
{
|
|
44
|
+
_.mapObject(data, (value, key) =>
|
|
45
|
+
{
|
|
46
|
+
if (this.hasOwnProperty(key))
|
|
47
|
+
{
|
|
48
|
+
this [ key ] = value;
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
register_type_class('typeUtilExecutionScreenshotMultiCapture', typeUtilExecutionScreenshotMultiCapture);
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { familyUtil } from "./familyUtil.js";
|
|
2
|
+
import { is_object } from "../../utils/utils.js";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Частичная ошибка захвата screenshot.multi.
|
|
7
|
+
*
|
|
8
|
+
* @version v.1.0 (24/06/2026)
|
|
9
|
+
*/
|
|
10
|
+
export class typeUtilExecutionScreenshotMultiCaptureError extends familyUtil
|
|
11
|
+
{
|
|
12
|
+
util_execution_screenshot_multi_capture_error_id;
|
|
13
|
+
util_execution_id;
|
|
14
|
+
capture_identifier;
|
|
15
|
+
error_message;
|
|
16
|
+
sort_order;
|
|
17
|
+
|
|
18
|
+
primary_key = 'util_execution_screenshot_multi_capture_error_id';
|
|
19
|
+
|
|
20
|
+
structure_scheme = {
|
|
21
|
+
util_execution_screenshot_multi_capture_error_id: 'integer | optional',
|
|
22
|
+
util_execution_id : 'integer | optional',
|
|
23
|
+
capture_identifier : 'string | max:255 | optional',
|
|
24
|
+
error_message : 'string | require',
|
|
25
|
+
sort_order : 'integer | optional',
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @param {object|false|undefined} data
|
|
31
|
+
*/
|
|
32
|
+
constructor(data = false)
|
|
33
|
+
{
|
|
34
|
+
super();
|
|
35
|
+
|
|
36
|
+
if (data && is_object(data))
|
|
37
|
+
{
|
|
38
|
+
_.mapObject(data, (value, key) =>
|
|
39
|
+
{
|
|
40
|
+
if (this.hasOwnProperty(key))
|
|
41
|
+
{
|
|
42
|
+
this [ key ] = value;
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { familyUtil } from "./familyUtil.js";
|
|
2
|
+
import { is_object } from "../../utils/utils.js";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Результирующий скриншот screenshot.multi.
|
|
7
|
+
*
|
|
8
|
+
* @version v.1.0 (24/06/2026)
|
|
9
|
+
*/
|
|
10
|
+
export class typeUtilExecutionScreenshotMultiScreenshot extends familyUtil
|
|
11
|
+
{
|
|
12
|
+
util_execution_screenshot_multi_screenshot_id;
|
|
13
|
+
util_execution_id;
|
|
14
|
+
capture_identifier;
|
|
15
|
+
file_uuid;
|
|
16
|
+
image_url;
|
|
17
|
+
width;
|
|
18
|
+
height;
|
|
19
|
+
duration_milliseconds;
|
|
20
|
+
sort_order;
|
|
21
|
+
|
|
22
|
+
primary_key = 'util_execution_screenshot_multi_screenshot_id';
|
|
23
|
+
|
|
24
|
+
structure_scheme = {
|
|
25
|
+
util_execution_screenshot_multi_screenshot_id: 'integer | optional',
|
|
26
|
+
util_execution_id : 'integer | optional',
|
|
27
|
+
capture_identifier : 'string | max:255 | require',
|
|
28
|
+
file_uuid : 'string | max:64 | optional',
|
|
29
|
+
image_url : 'string | max:2048 | optional',
|
|
30
|
+
width : 'integer | optional',
|
|
31
|
+
height : 'integer | optional',
|
|
32
|
+
duration_milliseconds : 'integer | optional',
|
|
33
|
+
sort_order : 'integer | optional',
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @param {object|false|undefined} data
|
|
39
|
+
*/
|
|
40
|
+
constructor(data = false)
|
|
41
|
+
{
|
|
42
|
+
super();
|
|
43
|
+
|
|
44
|
+
if (data && is_object(data))
|
|
45
|
+
{
|
|
46
|
+
_.mapObject(data, (value, key) =>
|
|
47
|
+
{
|
|
48
|
+
if (this.hasOwnProperty(key))
|
|
49
|
+
{
|
|
50
|
+
this [ key ] = value;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return this;
|
|
56
|
+
}
|
|
57
|
+
}
|