complexqa_frontend_core 1.0.6 → 1.0.7

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.0.6",
3
+ "version": "1.0.7",
4
4
  "description": "core of web ",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1,5 +1,4 @@
1
1
 
2
-
3
2
  /**
4
3
  * Прототип идеи, пока не уверен, что именно так надо
5
4
  *
@@ -585,6 +584,7 @@ export class Api
585
584
  this.project = new ProjectApi(payload);
586
585
  this.service = new ServiceApi(payload);
587
586
  this.test_case = new TestCaseApi(payload);
587
+ this.test_suite = new TestSuiteApi(payload);
588
588
  }
589
589
  }
590
590
 
@@ -1281,7 +1281,7 @@ export class MockUserService
1281
1281
  /**
1282
1282
  * Базовый абстрактный класс для всех типов
1283
1283
  *
1284
- * @version v.0.1 (26/05/2024)
1284
+ * @version v.0.2 (12/06/2025)
1285
1285
  */
1286
1286
  export class familyGeneralElement
1287
1287
  {
@@ -1289,6 +1289,7 @@ export class familyGeneralElement
1289
1289
  create_scheme = false;
1290
1290
  structure_scheme = false;
1291
1291
  available_enum_values = false;
1292
+ api_key = false;
1292
1293
 
1293
1294
 
1294
1295
  /***********************************************/
@@ -1502,31 +1503,157 @@ export class familyGeneralElement
1502
1503
  alert('Error #267-001 Not implemented method');
1503
1504
  }
1504
1505
 
1506
+
1505
1507
  /**
1506
1508
  *
1507
- * @version v.0.1 (26/05/2024)
1509
+ * @param {familyGeneralElement|object} payload
1510
+ *
1511
+ * @param {typeFunctionCallback|object|false} callback
1512
+ *
1513
+ * @param {?function} callback.before
1514
+ * @param {?function} callback.success
1515
+ * @param {?function} callback.error
1516
+ * @param {?function} callback.final
1517
+ *
1518
+ * @version v.2.0 (12/06/2025)
1508
1519
  */
1509
- async create()
1510
- {}
1520
+ async create(payload, callback)
1521
+ {
1522
+ if (!this.api_key)
1523
+ {
1524
+ throw new Error('element has not api_key');
1525
+ }
1526
+
1527
+ if (typeof callback?.before === 'function')
1528
+ {
1529
+ callback?.before({ payload });
1530
+ }
1531
+
1532
+ payload = this.normalize_payload(payload);
1533
+
1534
+
1535
+ /**
1536
+ * {Api} ApiService
1537
+ */
1538
+ return ApiService[this.api_key].create(payload).then((response) =>
1539
+ {
1540
+ if (typeof callback?.success === 'function')
1541
+ {
1542
+ callback?.success({ response, payload })
1543
+ }
1544
+ }).catch((error) =>
1545
+ {
1546
+ echo({ error });
1547
+ if (typeof callback?.error === 'function')
1548
+ {
1549
+ callback?.error({ error, payload })
1550
+ }
1551
+ }).finally((response) =>
1552
+ {
1553
+ if (typeof callback?.final === 'function')
1554
+ {
1555
+ callback?.final({ response, payload })
1556
+ }
1557
+ });
1558
+ }
1559
+
1511
1560
 
1512
1561
 
1513
1562
  /**
1514
1563
  *
1515
- * @version v.0.1 (26/05/2024)
1564
+ * @version v.2.0 (12/06/2025)
1516
1565
  */
1517
- async update()
1566
+ async update(payload, callback)
1518
1567
  {
1519
- alert('Error #272-001 Not implemented method');
1568
+ if (!this.api_key)
1569
+ {
1570
+ throw new Error('element has not api_key');
1571
+ }
1572
+
1573
+ if (typeof callback?.before === 'function')
1574
+ {
1575
+ callback?.before({ payload });
1576
+ }
1577
+
1578
+ payload = this.normalize_payload(payload);
1579
+
1580
+
1581
+ /**
1582
+ * {Api} ApiService
1583
+ */
1584
+ return ApiService[this.api_key].update(payload).then((response) =>
1585
+ {
1586
+ if (typeof callback?.success === 'function')
1587
+ {
1588
+ callback?.success({ response, payload })
1589
+ }
1590
+ }).catch((error) =>
1591
+ {
1592
+ echo({ error });
1593
+ if (typeof callback?.error === 'function')
1594
+ {
1595
+ callback?.error({ error, payload })
1596
+ }
1597
+ }).finally((response) =>
1598
+ {
1599
+ if (typeof callback?.final === 'function')
1600
+ {
1601
+ callback?.final({ response, payload })
1602
+ }
1603
+ });
1520
1604
  }
1521
1605
 
1522
1606
 
1607
+
1523
1608
  /**
1524
1609
  *
1525
- * @version v.0.1 (26/05/2024)
1610
+ * @version v.2.0 (12/06/2025)
1611
+ * @param key
1612
+ * @param value
1613
+ * @param callback
1614
+ * @returns {Promise<>}
1526
1615
  */
1527
1616
  async update_property(key, value, callback)
1528
1617
  {
1529
- alert('Error #272-001 Not implemented method');
1618
+ if (!this.api_key)
1619
+ {
1620
+ throw new Error('element has not api_key');
1621
+ }
1622
+
1623
+ let payload = {
1624
+ key : key,
1625
+ value : value,
1626
+ };
1627
+ payload[this.get_primary_key()] = this[this.get_primary_key()];
1628
+
1629
+ if (typeof callback?.before === 'function')
1630
+ {
1631
+ callback?.before({ payload });
1632
+ }
1633
+
1634
+ /**
1635
+ * {Api} ApiService
1636
+ */
1637
+ return ApiService[this.api_key].update_property(payload).then((response) =>
1638
+ {
1639
+ if (typeof callback?.success === 'function')
1640
+ {
1641
+ callback?.success({ response, payload })
1642
+ }
1643
+ }).catch((error) =>
1644
+ {
1645
+ echo({ error });
1646
+ if (typeof callback?.error === 'function')
1647
+ {
1648
+ callback?.error({ error, payload })
1649
+ }
1650
+ }).finally((response) =>
1651
+ {
1652
+ if (typeof callback?.final === 'function')
1653
+ {
1654
+ callback?.final({ response, payload })
1655
+ }
1656
+ });
1530
1657
  }
1531
1658
 
1532
1659
 
@@ -1540,17 +1667,52 @@ export class familyGeneralElement
1540
1667
  }
1541
1668
 
1542
1669
 
1670
+
1543
1671
  /**
1544
1672
  *
1545
- * @version v.0.1 (26/05/2024)
1546
- * @param element
1547
- * @param callback
1548
- * @returns {Promise<boolean>}
1673
+ * @version v.2.0 (12/06/2025)
1549
1674
  */
1550
- async delete(element, callback)
1675
+ async delete(element = false, callback = {})
1551
1676
  {
1552
- alert('Error #267-001 Not implemented method');
1553
- return false;
1677
+ if (!this.api_key)
1678
+ {
1679
+ throw new Error('element has not api_key');
1680
+ }
1681
+
1682
+ if (!element)
1683
+ {
1684
+ element = this;
1685
+ }
1686
+
1687
+ let payload = {};
1688
+
1689
+ payload[this.get_primary_key()] = element[this.get_primary_key()];
1690
+
1691
+ if (typeof callback?.before === 'function')
1692
+ {
1693
+ callback?.before({ payload });
1694
+ }
1695
+
1696
+ return ApiService[this.api_key].delete(payload).then((response) =>
1697
+ {
1698
+ if (typeof callback?.success === 'function')
1699
+ {
1700
+ callback?.success({ response, payload })
1701
+ }
1702
+ }).catch((error) =>
1703
+ {
1704
+ echo({ error });
1705
+ if (typeof callback?.error === 'function')
1706
+ {
1707
+ callback?.error({ error, payload })
1708
+ }
1709
+ }).finally((response) =>
1710
+ {
1711
+ if (typeof callback?.final === 'function')
1712
+ {
1713
+ callback?.final({ response, payload })
1714
+ }
1715
+ });
1554
1716
  }
1555
1717
  }
1556
1718
  /**
@@ -1857,6 +2019,7 @@ export class typeProject extends familyGeneralElement
1857
2019
  // хосты/домены будут отдельно храниться, их может быть множество
1858
2020
 
1859
2021
  primary_key = 'project_id';
2022
+ api_key = 'project';
1860
2023
 
1861
2024
  structure_scheme = {
1862
2025
  project_id : 'integer | require',
@@ -1916,6 +2079,9 @@ export class typeProject extends familyGeneralElement
1916
2079
  }
1917
2080
 
1918
2081
 
2082
+ /******************************************************************************************/
2083
+ /******************************************************************************************/
2084
+
1919
2085
  /******************************************************************************************/
1920
2086
 
1921
2087
 
@@ -1930,77 +2096,6 @@ export class typeProject extends familyGeneralElement
1930
2096
  return this.project_name;
1931
2097
  }
1932
2098
 
1933
- /******************************************************************************************/
1934
- /*********************************** general **********************************************/
1935
- /******************************************************************************************/
1936
-
1937
- /**
1938
- *
1939
- * @param {familyGeneralElement|object} payload
1940
- * @param {typeFunctionCallback|object|false} callback
1941
- *
1942
- * @param {?function} callback.before
1943
- * @param {?function} callback.success
1944
- * @param {?function} callback.error
1945
- * @param {?function} callback.final
1946
- *
1947
- * @version v.0.1 (26/01/2025)
1948
- */
1949
- async create(payload, callback)
1950
- {
1951
- if (typeof callback?.before === 'function')
1952
- {
1953
- callback?.before({ payload });
1954
- }
1955
-
1956
- payload = this.normalize_payload(payload);
1957
-
1958
-
1959
- /**
1960
- * {Api} ApiService
1961
- */
1962
- ApiService.project.create(payload).then((response) =>
1963
- {
1964
- if (typeof callback?.success === 'function')
1965
- {
1966
- callback?.success({ response, payload })
1967
- }
1968
- }).catch((error) =>
1969
- {
1970
- echo({ error });
1971
- if (typeof callback?.error === 'function')
1972
- {
1973
- callback?.error({ error, payload })
1974
- }
1975
- }).finally((response) =>
1976
- {
1977
- if (typeof callback?.final === 'function')
1978
- {
1979
- callback?.final({ response, payload })
1980
- }
1981
- });
1982
- }
1983
-
1984
-
1985
- /**
1986
- *
1987
- * @version v.0.1 (07/07/2024)
1988
- */
1989
- async update()
1990
- {
1991
-
1992
- }
1993
-
1994
-
1995
- /**
1996
- *
1997
- * @version v.0.1 (07/07/2024)
1998
- */
1999
- async delete()
2000
- {
2001
-
2002
- }
2003
-
2004
2099
 
2005
2100
  /******************************************************************************************/
2006
2101
  /**************************** работа с участниками проекта ********************************/
@@ -2567,6 +2662,7 @@ export class typeTestCase extends familyGeneralElement
2567
2662
 
2568
2663
 
2569
2664
  primary_key = 'test_case_id';
2665
+ api_key = 'test_case';
2570
2666
 
2571
2667
  // @todo - довнести
2572
2668
  structure_scheme = {
@@ -2630,184 +2726,6 @@ export class typeTestCase extends familyGeneralElement
2630
2726
  }
2631
2727
 
2632
2728
 
2633
- /**
2634
- *
2635
- * @param {familyGeneralElement|object} payload
2636
- *
2637
- * @param {typeFunctionCallback|object|false} callback
2638
- *
2639
- * @param {?function} callback.before
2640
- * @param {?function} callback.success
2641
- * @param {?function} callback.error
2642
- * @param {?function} callback.final
2643
- *
2644
- * @version v.0.1 (17/05/2025)
2645
- */
2646
- async create(payload, callback)
2647
- {
2648
- if (typeof callback?.before === 'function')
2649
- {
2650
- callback?.before({ payload });
2651
- }
2652
-
2653
- payload = this.normalize_payload(payload);
2654
-
2655
-
2656
- /**
2657
- * {Api} ApiService
2658
- */
2659
- return ApiService.test_case.create(payload).then((response) =>
2660
- {
2661
- if (typeof callback?.success === 'function')
2662
- {
2663
- callback?.success({ response, payload })
2664
- }
2665
- }).catch((error) =>
2666
- {
2667
- echo({ error });
2668
- if (typeof callback?.error === 'function')
2669
- {
2670
- callback?.error({ error, payload })
2671
- }
2672
- }).finally((response) =>
2673
- {
2674
- if (typeof callback?.final === 'function')
2675
- {
2676
- callback?.final({ response, payload })
2677
- }
2678
- });
2679
- }
2680
-
2681
-
2682
- /**
2683
- *
2684
- * @version v.0.1 (07/07/2024)
2685
- */
2686
- async update(payload, callback)
2687
- {
2688
- if (typeof callback?.before === 'function')
2689
- {
2690
- callback?.before({ payload });
2691
- }
2692
-
2693
- payload = this.normalize_payload(payload);
2694
-
2695
-
2696
- /**
2697
- * {Api} ApiService
2698
- */
2699
- return ApiService.test_case.update(payload).then((response) =>
2700
- {
2701
- if (typeof callback?.success === 'function')
2702
- {
2703
- callback?.success({ response, payload })
2704
- }
2705
- }).catch((error) =>
2706
- {
2707
- echo({ error });
2708
- if (typeof callback?.error === 'function')
2709
- {
2710
- callback?.error({ error, payload })
2711
- }
2712
- }).finally((response) =>
2713
- {
2714
- if (typeof callback?.final === 'function')
2715
- {
2716
- callback?.final({ response, payload })
2717
- }
2718
- });
2719
- }
2720
-
2721
-
2722
- /**
2723
- *
2724
- * @param key
2725
- * @param value
2726
- * @param callback
2727
- * @returns {Promise<>}
2728
- */
2729
- async update_property(key, value, callback)
2730
- {
2731
- let payload = {
2732
- key : key,
2733
- value : value,
2734
- test_case_id: this.test_case_id
2735
- };
2736
-
2737
- if (typeof callback?.before === 'function')
2738
- {
2739
- callback?.before({ payload });
2740
- }
2741
-
2742
- /**
2743
- * {Api} ApiService
2744
- */
2745
- return ApiService.test_case.update_property(payload).then((response) =>
2746
- {
2747
- if (typeof callback?.success === 'function')
2748
- {
2749
- callback?.success({ response, payload })
2750
- }
2751
- }).catch((error) =>
2752
- {
2753
- echo({ error });
2754
- if (typeof callback?.error === 'function')
2755
- {
2756
- callback?.error({ error, payload })
2757
- }
2758
- }).finally((response) =>
2759
- {
2760
- if (typeof callback?.final === 'function')
2761
- {
2762
- callback?.final({ response, payload })
2763
- }
2764
- });
2765
- }
2766
-
2767
-
2768
- /**
2769
- *
2770
- * @version v.0.1 (17/05/2025)
2771
- */
2772
- async delete(element = false, callback = {})
2773
- {
2774
- if (!element)
2775
- {
2776
- element = this;
2777
- }
2778
-
2779
- let payload = {
2780
- test_case_id: element.test_case_id
2781
- };
2782
-
2783
- if (typeof callback?.before === 'function')
2784
- {
2785
- callback?.before({ payload });
2786
- }
2787
-
2788
- return ApiService.test_case.delete(payload).then((response) =>
2789
- {
2790
- if (typeof callback?.success === 'function')
2791
- {
2792
- callback?.success({ response, payload })
2793
- }
2794
- }).catch((error) =>
2795
- {
2796
- echo({ error });
2797
- if (typeof callback?.error === 'function')
2798
- {
2799
- callback?.error({ error, payload })
2800
- }
2801
- }).finally((response) =>
2802
- {
2803
- if (typeof callback?.final === 'function')
2804
- {
2805
- callback?.final({ response, payload })
2806
- }
2807
- });
2808
- }
2809
-
2810
-
2811
2729
  }
2812
2730
 
2813
2731
 
@@ -3002,6 +2920,7 @@ export class typeTestSuite extends familyGeneralElement
3002
2920
  team_id;
3003
2921
 
3004
2922
  primary_key = 'test_suite_id';
2923
+ api_key = 'test_suite';
3005
2924
 
3006
2925
  structure_scheme = {
3007
2926
  test_suite_id : 'integer | require',
@@ -3036,39 +2955,24 @@ export class typeTestSuite extends familyGeneralElement
3036
2955
  }
3037
2956
 
3038
2957
 
3039
- /******************************************************************************************/
3040
- /*********************************** general **********************************************/
3041
2958
 
2959
+ /******************************************************************************************/
2960
+ /******************************************************************************************/
3042
2961
  /******************************************************************************************/
3043
2962
 
3044
- /**
3045
- *
3046
- * @version v.0.1 (07/07/2024)
3047
- */
3048
- async create()
3049
- {}
3050
2963
 
3051
2964
 
3052
2965
  /**
3053
2966
  *
3054
- * @version v.0.1 (07/07/2024)
3055
- */
3056
- async update()
3057
- {
3058
-
3059
- }
3060
-
3061
-
3062
- /**
2967
+ * @version v.0.1 (05/06/2025)
3063
2968
  *
3064
- * @version v.0.1 (07/07/2024)
2969
+ * @returns {string}
3065
2970
  */
3066
- async delete()
2971
+ get_element_name()
3067
2972
  {
3068
-
2973
+ return this.test_suite_name;
3069
2974
  }
3070
2975
 
3071
-
3072
2976
  }
3073
2977
 
3074
2978