complexqa_frontend_core 1.25.1 → 1.26.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "complexqa_frontend_core",
3
- "version": "1.25.1",
3
+ "version": "1.26.1",
4
4
  "description": "core of web ",
5
5
  "type": "module",
6
6
  "exports": {
@@ -27,6 +27,8 @@ import { ContextOsApi } from "./context/context_os_api.js";
27
27
  import { ContextScreenResolutionApi } from "./context/context_screen_resolution_api.js";
28
28
  import { BrowserToolsUtilExecutionApi } from "./util/browser_tools_util_execution_api.js";
29
29
  import { BrowserToolsScreenshotMultiApi } from "./util/browser_tools_screenshot_multi_api.js";
30
+ import { TeamDomainApi } from "./team_domain_api.js";
31
+ import { UrlInspectApi } from "./util/url_inspect_api.js";
30
32
  import { TextDocumentApi } from "./text_document_api.js";
31
33
  import { PublicTextDocumentApi } from "./public_text_document_api.js";
32
34
  import { TextDocumentFolderApi } from "./text_document_folder_api.js";
@@ -178,6 +180,8 @@ export class Api
178
180
  this.execution_context = new ExecutionContextApi(payload);
179
181
  this.browser_tools_util_execution = new BrowserToolsUtilExecutionApi(payload);
180
182
  this.browser_tools_screenshot_multi = new BrowserToolsScreenshotMultiApi(payload);
183
+ this.team_domain = new TeamDomainApi(payload);
184
+ this.url_inspect = new UrlInspectApi(payload);
181
185
  this.file_app = new FileAppApi(payload);
182
186
  this.text_document = new TextDocumentApi(payload);
183
187
  this.text_document_folder = new TextDocumentFolderApi(payload);
@@ -0,0 +1,62 @@
1
+ import { ApiAbstractElementClass } from "./api_abstract_element_class.js";
2
+ import { typeTeamDomain } from "../types/family_elements/typeTeamDomain.js";
3
+
4
+
5
+ /**
6
+ * Team domain registry — search / create / verify / revoke.
7
+ *
8
+ * Base path: /web_api/team_domain
9
+ *
10
+ * @version v.0.1 (14/08/2026)
11
+ */
12
+ export class TeamDomainApi extends ApiAbstractElementClass
13
+ {
14
+ module_prefix = 'team_domain';
15
+
16
+
17
+ constructor(options)
18
+ {
19
+ super(options);
20
+ this.set_element_class_instance(typeTeamDomain);
21
+ }
22
+
23
+
24
+ /**
25
+ * @param {object} payload
26
+ *
27
+ * @returns {Promise<{payload, response: *}>}
28
+ */
29
+ async verify(payload)
30
+ {
31
+ let url = `/${ this.api_prefix }/${ this.module_prefix }/verify`;
32
+
33
+ payload = this.handle_request_payload(payload);
34
+ let response = this.api_request(url, payload);
35
+ response = this.handle_response(response, false);
36
+
37
+ return {
38
+ response: response,
39
+ payload : payload,
40
+ };
41
+ }
42
+
43
+
44
+ /**
45
+ * @param {object} payload
46
+ *
47
+ * @returns {Promise<{payload, response: *}>}
48
+ */
49
+ async revoke(payload)
50
+ {
51
+ let url = `/${ this.api_prefix }/${ this.module_prefix }/revoke`;
52
+
53
+ payload = this.handle_request_payload(payload);
54
+ let response = this.api_request(url, payload);
55
+ response = this.handle_response(response, false);
56
+
57
+ return {
58
+ response: response,
59
+ payload : payload,
60
+ };
61
+ }
62
+ }
@@ -49,7 +49,7 @@ export class TeamManagementApi extends ApiAbstractElementClass
49
49
 
50
50
  payload = this.handle_request_payload(payload);
51
51
  let response = this.api_request(url, payload);
52
- response = this.handle_response(response);
52
+ response = this.handle_response(response, false);
53
53
 
54
54
  return {
55
55
  response: response,
@@ -0,0 +1,54 @@
1
+ import { ApiAbstractElementClass } from "../api_abstract_element_class.js";
2
+ import { typeUtilExecutionUrlInspect } from "../../types/family_utils/typeUtilExecutionUrlInspect.js";
3
+
4
+
5
+ /**
6
+ * url.inspect suite — create / details / search.
7
+ *
8
+ * Base path: /web_api/util/url_inspect
9
+ *
10
+ * @version v.0.1 (14/08/2026)
11
+ */
12
+ export class UrlInspectApi extends ApiAbstractElementClass
13
+ {
14
+ module_prefix = 'util/url_inspect';
15
+
16
+
17
+ constructor(options)
18
+ {
19
+ super(options);
20
+ this.set_element_class_instance(typeUtilExecutionUrlInspect);
21
+ }
22
+
23
+
24
+ /**
25
+ * GET details/{util_execution_id}?project_id=
26
+ *
27
+ * @param {object} payload
28
+ *
29
+ * @returns {Promise<{payload, response: ReturnType<typeof typeUtilExecutionUrlInspect.composeDetails>|false}>}
30
+ */
31
+ async details(payload)
32
+ {
33
+ let util_execution_id = payload?.util_execution_id;
34
+
35
+ if (!util_execution_id)
36
+ {
37
+ throw new Error('util_execution_id is required for details');
38
+ }
39
+
40
+ let url = `/${ this.api_prefix }/${ this.module_prefix }/details/${ util_execution_id }`;
41
+
42
+ payload = this.handle_request_payload(payload);
43
+ const prev_method = this.method;
44
+ this.method = 'get';
45
+ let response = this.api_request(url, payload, 'GET');
46
+ this.method = prev_method;
47
+ response = await this.handle_response(response, false);
48
+
49
+ return {
50
+ response: typeUtilExecutionUrlInspect.composeDetails(response),
51
+ payload : payload,
52
+ };
53
+ }
54
+ }
@@ -10,10 +10,12 @@ import { typeTestRunResult } from '../../../types/family_elements/typeTestRunRes
10
10
  import { typeTestAccount } from '../../../types/family_elements/typeTestAccount.js';
11
11
  import { typeExecutionContext } from '../../../types/family_context/typeExecutionContext.js';
12
12
  import { typeTeamMember } from '../../../types/family_elements/typeTeamMember.js';
13
+ import { typeTeamDomain } from '../../../types/family_elements/typeTeamDomain.js';
13
14
  import { typeTestCaseStep } from '../../../types/family_elements/typeTestCaseStep.js';
14
15
  import { typeUser } from '../../../types/family_elements/typeUser.js';
15
16
  import { typeTeam } from '../../../types/family_elements/typeTeam.js';
16
17
  import { typeUtilExecutionScreenshotMulti } from '../../../types/family_utils/typeUtilExecutionScreenshotMulti.js';
18
+ import { typeUtilExecutionUrlInspect } from '../../../types/family_utils/typeUtilExecutionUrlInspect.js';
17
19
  import { typeTextDocument } from '../../../types/family_files/typeTextDocument.js';
18
20
  import { typeEvent } from '../../../types/family_events/typeEvent.js';
19
21
 
@@ -41,10 +43,12 @@ export const TABLE_ELEMENT_MODELS = {
41
43
  test_account : typeTestAccount,
42
44
  execution_context : typeExecutionContext,
43
45
  team_member : typeTeamMember,
46
+ team_domain : typeTeamDomain,
44
47
  test_case_step : typeTestCaseStep,
45
48
  user : typeUser,
46
49
  team : typeTeam,
47
50
  text_document : typeTextDocument,
48
51
  util_execution : typeUtilExecutionScreenshotMulti,
52
+ util_execution_url_inspect: typeUtilExecutionUrlInspect,
49
53
  event : typeEvent,
50
54
  };
@@ -0,0 +1,55 @@
1
+ import { typeTeamDomain } from '../../../types/family_elements/typeTeamDomain.js';
2
+ import { UserService } from '../../../services/UserService.js';
3
+ import {
4
+ createColumn,
5
+ createGoToColumn,
6
+ createPrimaryKeyColumn,
7
+ } from '../helpers/column_factory.js';
8
+ import { createListingFor, registerSection } from '../helpers/section_registry.js';
9
+
10
+ function build_team_domain_listing_columns(locale)
11
+ {
12
+ const model = new typeTeamDomain();
13
+
14
+ return [
15
+ createPrimaryKeyColumn(model, locale, { is_hide: true, default_sort: 'desc' }),
16
+ createColumn(model, locale, 'domain_canon', {
17
+ width : '280',
18
+ is_title : true,
19
+ is_filter : false,
20
+ is_editable: false,
21
+ }),
22
+ createColumn(model, locale, 'display_name', {
23
+ width : '200',
24
+ is_filter : false,
25
+ is_editable: false,
26
+ }),
27
+ createColumn(model, locale, 'verification_method', {
28
+ width : '180',
29
+ is_filter : false,
30
+ is_editable: false,
31
+ }),
32
+ createColumn(model, locale, 'domain_status', {
33
+ width : '160',
34
+ is_filter : false,
35
+ is_editable: false,
36
+ }),
37
+ createGoToColumn(model, locale),
38
+ ];
39
+ }
40
+
41
+
42
+ /**
43
+ * Секция `team_domain`: `listing`.
44
+ *
45
+ * @param {Object} config
46
+ * @returns {void}
47
+ */
48
+ export function bootstrap_team_domain(config)
49
+ {
50
+ const locale = UserService.get_current_language();
51
+
52
+ registerSection(config, 'team_domain', 'listing', build_team_domain_listing_columns(locale), {
53
+ for: createListingFor([]),
54
+ });
55
+ }
@@ -0,0 +1,60 @@
1
+ import { typeUtilExecutionUrlInspect } from '../../../types/family_utils/typeUtilExecutionUrlInspect.js';
2
+ import { UserService } from '../../../services/UserService.js';
3
+ import {
4
+ createColumn,
5
+ createGoToColumn,
6
+ createPrimaryKeyColumn,
7
+ } from '../helpers/column_factory.js';
8
+ import { createListingFor, registerSection } from '../helpers/section_registry.js';
9
+
10
+ function build_util_execution_url_inspect_listing_columns(locale)
11
+ {
12
+ const model = new typeUtilExecutionUrlInspect();
13
+
14
+ return [
15
+ createPrimaryKeyColumn(model, locale, { is_hide: true, default_sort: 'desc' }),
16
+ createColumn(model, locale, 'domain_canon', {
17
+ width : '240',
18
+ is_title : true,
19
+ is_filter : false,
20
+ is_editable: false,
21
+ }),
22
+ createColumn(model, locale, 'page_path', {
23
+ width : '280',
24
+ is_filter : false,
25
+ is_editable: false,
26
+ }),
27
+ createColumn(model, locale, 'suite_status', {
28
+ width : '160',
29
+ is_filter : false,
30
+ is_editable: false,
31
+ }),
32
+ createColumn(model, locale, 'project_id', {
33
+ width : '140',
34
+ is_filter : false,
35
+ is_editable: false,
36
+ }),
37
+ createColumn(model, locale, 'created_at', {
38
+ width : '180',
39
+ is_filter : false,
40
+ is_editable: false,
41
+ }),
42
+ createGoToColumn(model, locale),
43
+ ];
44
+ }
45
+
46
+
47
+ /**
48
+ * Секция `util_execution_url_inspect`: `listing`.
49
+ *
50
+ * @param {Object} config
51
+ * @returns {void}
52
+ */
53
+ export function bootstrap_util_execution_url_inspect(config)
54
+ {
55
+ const locale = UserService.get_current_language();
56
+
57
+ registerSection(config, 'util_execution_url_inspect', 'listing', build_util_execution_url_inspect_listing_columns(locale), {
58
+ for: createListingFor([ 'project_id' ]),
59
+ });
60
+ }
@@ -10,7 +10,9 @@ import { bootstrap_test_run_result } from './sections/test_run_result.js';
10
10
  import { bootstrap_test_account } from './sections/test_account.js';
11
11
  import { bootstrap_execution_context } from './sections/execution_context.js';
12
12
  import { bootstrap_util_execution } from './sections/util_execution.js';
13
+ import { bootstrap_util_execution_url_inspect } from './sections/util_execution_url_inspect.js';
13
14
  import { bootstrap_team_member } from './sections/team_member.js';
15
+ import { bootstrap_team_domain } from './sections/team_domain.js';
14
16
  import { bootstrap_event } from './sections/event.js';
15
17
  import { bootstrap_user } from './sections/user.js';
16
18
  import { bootstrap_team } from './sections/team.js';
@@ -122,7 +124,9 @@ export class TableConfiguration extends abstractAppConfiguration
122
124
  bootstrap_test_account(this.config);
123
125
  bootstrap_execution_context(this.config);
124
126
  bootstrap_util_execution(this.config);
127
+ bootstrap_util_execution_url_inspect(this.config);
125
128
  bootstrap_team_member(this.config);
129
+ bootstrap_team_domain(this.config);
126
130
  bootstrap_event(this.config);
127
131
  bootstrap_user(this.config);
128
132
  bootstrap_team(this.config);
package/publish/index.js CHANGED
@@ -38,6 +38,8 @@ export { typeUtilExecutionScreenshotMulti } from './types/family_utils/typeUtilE
38
38
  export { typeUtilExecutionScreenshotMultiCapture } from './types/family_utils/typeUtilExecutionScreenshotMultiCapture.js';
39
39
  export { typeUtilExecutionScreenshotMultiScreenshot } from './types/family_utils/typeUtilExecutionScreenshotMultiScreenshot.js';
40
40
  export { typeUtilExecutionScreenshotMultiCaptureError } from './types/family_utils/typeUtilExecutionScreenshotMultiCaptureError.js';
41
+ export { typeUtilExecutionUrlInspect } from './types/family_utils/typeUtilExecutionUrlInspect.js';
42
+ export { typeUtilExecutionUrlInspectCheck } from './types/family_utils/typeUtilExecutionUrlInspectCheck.js';
41
43
  export { typeUtilExecutionEvent } from './types/family_utils/typeUtilExecutionEvent.js';
42
44
 
43
45
  export { familyEvent } from './types/family_events/familyEvent.js';
@@ -66,6 +68,7 @@ export { text_document_editor_config, get_text_document_editor_config } from './
66
68
  export { typeUser } from './types/family_elements/typeUser.js';
67
69
  export { typeTeam } from './types/family_elements/typeTeam.js';
68
70
  export { typeTeamMember } from './types/family_elements/typeTeamMember.js';
71
+ export { typeTeamDomain } from './types/family_elements/typeTeamDomain.js';
69
72
  export { typeTeamTotalStatistic } from './types/family_contracts/typeTeamTotalStatistic.js';
70
73
 
71
74
  export { typeTask } from './types/family_elements/typeTask.js';
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Переводы для typeTeamDomain.
3
+ *
4
+ * @see typeTeamDomain
5
+ */
6
+ export const typeTeamDomain_i18n = {
7
+ attribute_name_translate_matrix: {
8
+ en: {
9
+ team_domain_id : 'Domain',
10
+ team_id : 'Team',
11
+ domain_canon : 'Canonical host',
12
+ display_name : 'Display name',
13
+ verification_method : 'Verification method',
14
+ domain_status : 'Status',
15
+ verification_token : 'Verification token',
16
+ last_error_message : 'Last error',
17
+ verified_at : 'Verified at',
18
+ created_at : 'Created at',
19
+ file_url_https : 'HTTPS file URL',
20
+ file_url_http : 'HTTP file URL',
21
+ file_body : 'File body',
22
+ dns_host : 'DNS host',
23
+ dns_txt_value : 'DNS TXT value',
24
+ instruction : 'Instruction',
25
+ },
26
+ ru: {
27
+ team_domain_id : 'Домен',
28
+ team_id : 'Команда',
29
+ domain_canon : 'Канонический хост',
30
+ display_name : 'Отображаемое имя',
31
+ verification_method : 'Способ подтверждения',
32
+ domain_status : 'Статус',
33
+ verification_token : 'Токен подтверждения',
34
+ last_error_message : 'Последняя ошибка',
35
+ verified_at : 'Подтверждён',
36
+ created_at : 'Создан',
37
+ file_url_https : 'HTTPS URL файла',
38
+ file_url_http : 'HTTP URL файла',
39
+ file_body : 'Содержимое файла',
40
+ dns_host : 'DNS-хост',
41
+ dns_txt_value : 'Значение DNS TXT',
42
+ instruction : 'Инструкция',
43
+ },
44
+ },
45
+ enum_value_translate_matrix: {
46
+ domain_status: {
47
+ en: {
48
+ PENDING : 'Pending',
49
+ VERIFIED: 'Verified',
50
+ FAILED : 'Failed',
51
+ REVOKED : 'Revoked',
52
+ },
53
+ ru: {
54
+ PENDING : 'Ожидает',
55
+ VERIFIED: 'Подтверждён',
56
+ FAILED : 'Не подтверждён',
57
+ REVOKED : 'Отозван',
58
+ },
59
+ },
60
+ verification_method: {
61
+ en: {
62
+ FILE : 'Text file',
63
+ DNS_TXT: 'DNS TXT',
64
+ },
65
+ ru: {
66
+ FILE : 'Текстовый файл',
67
+ DNS_TXT: 'DNS TXT',
68
+ },
69
+ },
70
+ },
71
+ };