chyz 1.0.13-rc.11 → 1.0.13-rc.16
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/Examples/Controllers/ApiController.ts +15 -17
- package/Examples/Models/AuthAssignment.ts +50 -0
- package/Examples/Models/AuthItem.ts +59 -0
- package/Examples/Models/AuthItemChild.ts +49 -0
- package/Examples/index.ts +5 -0
- package/Examples/log/app.log +2965 -0
- package/Examples/log/errors.log +290 -0
- package/base/ActionFilter.ts +1 -1
- package/base/BaseError.ts +3 -1
- package/base/Model.ts +7 -2
- package/dist/base/ActionFilter.js +1 -1
- package/dist/base/ActionFilter.js.map +1 -1
- package/dist/base/BaseError.js +5 -1
- package/dist/base/BaseError.js.map +1 -1
- package/dist/base/Model.js +5 -2
- package/dist/base/Model.js.map +1 -1
- package/dist/filters/AccessControl.js +15 -3
- package/dist/filters/AccessControl.js.map +1 -1
- package/dist/filters/AccessRule.js +99 -38
- package/dist/filters/AccessRule.js.map +1 -1
- package/dist/filters/auth/index.js +1 -0
- package/dist/filters/auth/index.js.map +1 -1
- package/dist/package.json +1 -2
- package/dist/rbac/AuthManager.js +11 -3
- package/dist/rbac/AuthManager.js.map +1 -1
- package/dist/web/WebUser.js +78 -0
- package/dist/web/WebUser.js.map +1 -1
- package/filters/AccessControl.ts +19 -6
- package/filters/AccessRule.ts +61 -16
- package/filters/auth/index.ts +1 -0
- package/package-lock.json +5259 -0
- package/package.json +1 -2
- package/rbac/AuthManager.ts +17 -9
- package/web/WebUser.ts +88 -1
- package/Examples/yarn.lock +0 -2549
package/Examples/log/errors.log
CHANGED
|
@@ -1609,3 +1609,293 @@
|
|
|
1609
1609
|
at Generator.next (<anonymous>)
|
|
1610
1610
|
at C:\PROJELER\github\Chy-Nodejs-Framework\web\WebUser.ts:8:71
|
|
1611
1611
|
at new Promise (<anonymous>)
|
|
1612
|
+
[2022-01-06T13.23.55.090] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - TypeError: wildcard.replace is not a function
|
|
1613
|
+
at wildTest (C:\PROJELER\github\Chy-Nodejs-Framework\requiments\Utils.ts:43:22)
|
|
1614
|
+
at Object.matchWildcard (C:\PROJELER\github\Chy-Nodejs-Framework\requiments\Utils.ts:49:12)
|
|
1615
|
+
at AccessControl.isActive (C:\PROJELER\github\Chy-Nodejs-Framework\base\ActionFilter.ts:44:27)
|
|
1616
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\base\ActionFilter.ts:28:19)
|
|
1617
|
+
at Generator.next (<anonymous>)
|
|
1618
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\base\ActionFilter.ts:8:71
|
|
1619
|
+
at new Promise (<anonymous>)
|
|
1620
|
+
at __awaiter (C:\PROJELER\github\Chy-Nodejs-Framework\base\ActionFilter.ts:4:12)
|
|
1621
|
+
at AccessControl.beforeFilter (C:\PROJELER\github\Chy-Nodejs-Framework\base\ActionFilter.ts:23:16)
|
|
1622
|
+
at ApiController.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\base\Controller.ts:41:43)
|
|
1623
|
+
[2022-01-06T13.25.43.412] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - EagerLoadingError [SequelizeEagerLoadingError]: ProductModelsClass is not associated to ProductsClass!
|
|
1624
|
+
at Function._getIncludedAssociation (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:710:13)
|
|
1625
|
+
at Function._validateIncludedElement (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:614:53)
|
|
1626
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:509:37
|
|
1627
|
+
at Array.map (<anonymous>)
|
|
1628
|
+
at Function._validateIncludedElements (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:504:39)
|
|
1629
|
+
at Function.findAll (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:1723:12)
|
|
1630
|
+
at processTicksAndRejections (internal/process/task_queues.js:93:5)
|
|
1631
|
+
[2022-01-06T13.26.53.002] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - EagerLoadingError [SequelizeEagerLoadingError]: ProductModelsClass is not associated to ProductsClass!
|
|
1632
|
+
at Function._getIncludedAssociation (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:710:13)
|
|
1633
|
+
at Function._validateIncludedElement (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:614:53)
|
|
1634
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:509:37
|
|
1635
|
+
at Array.map (<anonymous>)
|
|
1636
|
+
at Function._validateIncludedElements (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:504:39)
|
|
1637
|
+
at Function.findAll (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:1723:12)
|
|
1638
|
+
at processTicksAndRejections (internal/process/task_queues.js:93:5)
|
|
1639
|
+
[2022-01-06T13.27.40.670] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - ForbiddenHttpException: You are not allowed to perform this action.
|
|
1640
|
+
at new BaseError (C:\PROJELER\github\Chy-Nodejs-Framework\base\BaseError.ts:18:15)
|
|
1641
|
+
at new ForbiddenHttpException (C:\PROJELER\github\Chy-Nodejs-Framework\base\ForbiddenHttpException.ts:11:9)
|
|
1642
|
+
at AccessControl.denyAccess (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:61:22)
|
|
1643
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:54:14)
|
|
1644
|
+
at Generator.next (<anonymous>)
|
|
1645
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:8:71
|
|
1646
|
+
at new Promise (<anonymous>)
|
|
1647
|
+
at __awaiter (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:4:12)
|
|
1648
|
+
at AccessControl.beforeAction (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:39:16)
|
|
1649
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\base\ActionFilter.ts:32:20) {
|
|
1650
|
+
statusCode: 403
|
|
1651
|
+
}
|
|
1652
|
+
[2022-01-06T13.29.45.053] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - ForbiddenHttpException: You are not allowed to perform this action.
|
|
1653
|
+
at new BaseError (C:\PROJELER\github\Chy-Nodejs-Framework\base\BaseError.ts:18:15)
|
|
1654
|
+
at new ForbiddenHttpException (C:\PROJELER\github\Chy-Nodejs-Framework\base\ForbiddenHttpException.ts:11:9)
|
|
1655
|
+
at AccessControl.denyAccess (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:61:22)
|
|
1656
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:54:14)
|
|
1657
|
+
at Generator.next (<anonymous>)
|
|
1658
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:8:71
|
|
1659
|
+
at new Promise (<anonymous>)
|
|
1660
|
+
at __awaiter (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:4:12)
|
|
1661
|
+
at AccessControl.beforeAction (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:39:16)
|
|
1662
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\base\ActionFilter.ts:32:20) {
|
|
1663
|
+
statusCode: 403
|
|
1664
|
+
}
|
|
1665
|
+
[2022-01-06T13.30.26.585] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - ForbiddenHttpException: You are not allowed to perform this action.
|
|
1666
|
+
at new BaseError (C:\PROJELER\github\Chy-Nodejs-Framework\base\BaseError.ts:18:15)
|
|
1667
|
+
at new ForbiddenHttpException (C:\PROJELER\github\Chy-Nodejs-Framework\base\ForbiddenHttpException.ts:11:9)
|
|
1668
|
+
at AccessControl.denyAccess (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:61:22)
|
|
1669
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:54:14)
|
|
1670
|
+
at Generator.next (<anonymous>)
|
|
1671
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:8:71
|
|
1672
|
+
at new Promise (<anonymous>)
|
|
1673
|
+
at __awaiter (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:4:12)
|
|
1674
|
+
at AccessControl.beforeAction (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:39:16)
|
|
1675
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\base\ActionFilter.ts:32:20) {
|
|
1676
|
+
statusCode: 403
|
|
1677
|
+
}
|
|
1678
|
+
[2022-01-06T13.32.44.831] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - ForbiddenHttpException: You are not allowed to perform this action.
|
|
1679
|
+
at new BaseError (C:\PROJELER\github\Chy-Nodejs-Framework\base\BaseError.ts:18:15)
|
|
1680
|
+
at new ForbiddenHttpException (C:\PROJELER\github\Chy-Nodejs-Framework\base\ForbiddenHttpException.ts:11:9)
|
|
1681
|
+
at AccessControl.denyAccess (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:61:22)
|
|
1682
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:54:14)
|
|
1683
|
+
at Generator.next (<anonymous>)
|
|
1684
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:8:71
|
|
1685
|
+
at new Promise (<anonymous>)
|
|
1686
|
+
at __awaiter (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:4:12)
|
|
1687
|
+
at AccessControl.beforeAction (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:39:16)
|
|
1688
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\base\ActionFilter.ts:32:20) {
|
|
1689
|
+
statusCode: 403
|
|
1690
|
+
}
|
|
1691
|
+
[2022-01-06T13.50.15.173] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - TypeError: user.can is not a function
|
|
1692
|
+
at AccessRule.matchRole (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessRule.ts:171:26)
|
|
1693
|
+
at AccessRule.allows (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessRule.ts:94:21)
|
|
1694
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:49:31)
|
|
1695
|
+
at Generator.next (<anonymous>)
|
|
1696
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:8:71
|
|
1697
|
+
at new Promise (<anonymous>)
|
|
1698
|
+
at __awaiter (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:4:12)
|
|
1699
|
+
at AccessControl.beforeAction (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:40:16)
|
|
1700
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\base\ActionFilter.ts:32:20)
|
|
1701
|
+
at Generator.next (<anonymous>)
|
|
1702
|
+
[2022-01-06T14.09.02.267] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - ForbiddenHttpException: You are not allowed to perform this action.
|
|
1703
|
+
at new BaseError (C:\PROJELER\github\Chy-Nodejs-Framework\base\BaseError.ts:18:15)
|
|
1704
|
+
at new ForbiddenHttpException (C:\PROJELER\github\Chy-Nodejs-Framework\base\ForbiddenHttpException.ts:11:9)
|
|
1705
|
+
at AccessControl.denyAccess (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:74:22)
|
|
1706
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:65:18)
|
|
1707
|
+
at Generator.next (<anonymous>)
|
|
1708
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:8:71
|
|
1709
|
+
at new Promise (<anonymous>)
|
|
1710
|
+
at __awaiter (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:4:12)
|
|
1711
|
+
at AccessControl.beforeAction (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:40:16)
|
|
1712
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\base\ActionFilter.ts:32:20) {
|
|
1713
|
+
statusCode: 403
|
|
1714
|
+
}
|
|
1715
|
+
[2022-01-06T14.16.59.529] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - ForbiddenHttpException: You are not allowed to perform this action.
|
|
1716
|
+
at new BaseError (C:\PROJELER\github\Chy-Nodejs-Framework\base\BaseError.ts:18:15)
|
|
1717
|
+
at new ForbiddenHttpException (C:\PROJELER\github\Chy-Nodejs-Framework\base\ForbiddenHttpException.ts:11:9)
|
|
1718
|
+
at AccessControl.denyAccess (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:74:22)
|
|
1719
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:65:18)
|
|
1720
|
+
at Generator.next (<anonymous>)
|
|
1721
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:8:71
|
|
1722
|
+
at new Promise (<anonymous>)
|
|
1723
|
+
at __awaiter (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:4:12)
|
|
1724
|
+
at AccessControl.beforeAction (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:40:16)
|
|
1725
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\base\ActionFilter.ts:32:20) {
|
|
1726
|
+
statusCode: 403
|
|
1727
|
+
}
|
|
1728
|
+
[2022-01-06T14.18.12.915] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - ForbiddenHttpException: You are not allowed to perform this action.
|
|
1729
|
+
at new BaseError (C:\PROJELER\github\Chy-Nodejs-Framework\base\BaseError.ts:18:15)
|
|
1730
|
+
at new ForbiddenHttpException (C:\PROJELER\github\Chy-Nodejs-Framework\base\ForbiddenHttpException.ts:11:9)
|
|
1731
|
+
at AccessControl.denyAccess (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:74:22)
|
|
1732
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:65:18)
|
|
1733
|
+
at Generator.next (<anonymous>)
|
|
1734
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:8:71
|
|
1735
|
+
at new Promise (<anonymous>)
|
|
1736
|
+
at __awaiter (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:4:12)
|
|
1737
|
+
at AccessControl.beforeAction (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:40:16)
|
|
1738
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\base\ActionFilter.ts:32:20) {
|
|
1739
|
+
statusCode: 403
|
|
1740
|
+
}
|
|
1741
|
+
[2022-01-06T14.33.22.704] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - TypeError: identity.getId is not a function
|
|
1742
|
+
at WebUser.getId (C:\PROJELER\github\Chy-Nodejs-Framework\web\WebUser.ts:112:45)
|
|
1743
|
+
at WebUser.can (C:\PROJELER\github\Chy-Nodejs-Framework\web\WebUser.ts:156:49)
|
|
1744
|
+
at AccessRule.matchRole (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessRule.ts:171:26)
|
|
1745
|
+
at AccessRule.allows (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessRule.ts:94:21)
|
|
1746
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:49:31)
|
|
1747
|
+
at Generator.next (<anonymous>)
|
|
1748
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:8:71
|
|
1749
|
+
at new Promise (<anonymous>)
|
|
1750
|
+
at __awaiter (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:4:12)
|
|
1751
|
+
at AccessControl.beforeAction (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:40:16)
|
|
1752
|
+
[2022-01-06T14.37.31.638] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - EagerLoadingError [SequelizeEagerLoadingError]: ProductModelsClass is not associated to ProductsClass!
|
|
1753
|
+
at Function._getIncludedAssociation (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:710:13)
|
|
1754
|
+
at Function._validateIncludedElement (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:614:53)
|
|
1755
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:509:37
|
|
1756
|
+
at Array.map (<anonymous>)
|
|
1757
|
+
at Function._validateIncludedElements (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:504:39)
|
|
1758
|
+
at Function.findAll (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:1723:12)
|
|
1759
|
+
at processTicksAndRejections (internal/process/task_queues.js:93:5)
|
|
1760
|
+
[2022-01-06T14.38.06.106] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - EagerLoadingError [SequelizeEagerLoadingError]: ProductModelsClass is not associated to ProductsClass!
|
|
1761
|
+
at Function._getIncludedAssociation (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:710:13)
|
|
1762
|
+
at Function._validateIncludedElement (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:614:53)
|
|
1763
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:509:37
|
|
1764
|
+
at Array.map (<anonymous>)
|
|
1765
|
+
at Function._validateIncludedElements (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:504:39)
|
|
1766
|
+
at Function.findAll (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:1723:12)
|
|
1767
|
+
at processTicksAndRejections (internal/process/task_queues.js:93:5)
|
|
1768
|
+
[2022-01-06T14.47.37.649] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - EagerLoadingError [SequelizeEagerLoadingError]: ProductModelsClass is not associated to ProductsClass!
|
|
1769
|
+
at Function._getIncludedAssociation (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:710:13)
|
|
1770
|
+
at Function._validateIncludedElement (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:614:53)
|
|
1771
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:509:37
|
|
1772
|
+
at Array.map (<anonymous>)
|
|
1773
|
+
at Function._validateIncludedElements (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:504:39)
|
|
1774
|
+
at Function.findAll (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:1723:12)
|
|
1775
|
+
at processTicksAndRejections (internal/process/task_queues.js:93:5)
|
|
1776
|
+
[2022-01-06T14.51.52.952] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - EagerLoadingError [SequelizeEagerLoadingError]: ProductModelsClass is not associated to ProductsClass!
|
|
1777
|
+
at Function._getIncludedAssociation (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:710:13)
|
|
1778
|
+
at Function._validateIncludedElement (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:614:53)
|
|
1779
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:509:37
|
|
1780
|
+
at Array.map (<anonymous>)
|
|
1781
|
+
at Function._validateIncludedElements (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:504:39)
|
|
1782
|
+
at Function.findAll (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:1723:12)
|
|
1783
|
+
at processTicksAndRejections (internal/process/task_queues.js:93:5)
|
|
1784
|
+
[2022-01-06T14.54.26.416] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - EagerLoadingError [SequelizeEagerLoadingError]: ProductModelsClass is not associated to ProductsClass!
|
|
1785
|
+
at Function._getIncludedAssociation (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:710:13)
|
|
1786
|
+
at Function._validateIncludedElement (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:614:53)
|
|
1787
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:509:37
|
|
1788
|
+
at Array.map (<anonymous>)
|
|
1789
|
+
at Function._validateIncludedElements (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:504:39)
|
|
1790
|
+
at Function.findAll (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:1723:12)
|
|
1791
|
+
at processTicksAndRejections (internal/process/task_queues.js:93:5)
|
|
1792
|
+
[2022-01-06T15.09.49.783] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - EagerLoadingError [SequelizeEagerLoadingError]: ProductModelsClass is not associated to ProductsClass!
|
|
1793
|
+
at Function._getIncludedAssociation (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:710:13)
|
|
1794
|
+
at Function._validateIncludedElement (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:614:53)
|
|
1795
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:509:37
|
|
1796
|
+
at Array.map (<anonymous>)
|
|
1797
|
+
at Function._validateIncludedElements (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:504:39)
|
|
1798
|
+
at Function.findAll (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:1723:12)
|
|
1799
|
+
at processTicksAndRejections (internal/process/task_queues.js:93:5)
|
|
1800
|
+
[2022-01-06T15.11.35.675] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - Error: Association with alias "model" does not exist on ProductsClass
|
|
1801
|
+
at Function._transformStringAssociation (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:325:15)
|
|
1802
|
+
at Function._conformInclude (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:338:22)
|
|
1803
|
+
at C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:319:59
|
|
1804
|
+
at Array.map (<anonymous>)
|
|
1805
|
+
at Function._conformIncludes (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:319:39)
|
|
1806
|
+
at Function._baseMerge (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:786:10)
|
|
1807
|
+
at Function._defaultsOptions (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:823:17)
|
|
1808
|
+
at Function._injectScope (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:3249:10)
|
|
1809
|
+
at Function.findAll (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\model.js:1706:10)
|
|
1810
|
+
at ProductsClass.findAll (C:\PROJELER\github\Chy-Nodejs-Framework\base\Model.ts:296:28)
|
|
1811
|
+
[2022-01-06T15.18.04.153] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - ConnectionError [SequelizeConnectionError]: Connection terminated unexpectedly
|
|
1812
|
+
at Client._connectionCallback (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\sequelize\lib\dialects\postgres\connection-manager.js:188:20)
|
|
1813
|
+
at Connection.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\pg\lib\client.js:144:18)
|
|
1814
|
+
at Object.onceWrapper (events.js:421:28)
|
|
1815
|
+
at Connection.emit (events.js:315:20)
|
|
1816
|
+
at Connection.EventEmitter.emit (domain.js:467:12)
|
|
1817
|
+
at Socket.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\pg\lib\connection.js:107:12)
|
|
1818
|
+
at Socket.emit (events.js:327:22)
|
|
1819
|
+
at Socket.EventEmitter.emit (domain.js:467:12)
|
|
1820
|
+
at endReadableNT (internal/streams/readable.js:1327:12)
|
|
1821
|
+
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
|
|
1822
|
+
parent: Error: Connection terminated unexpectedly
|
|
1823
|
+
at Connection.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\pg\lib\client.js:132:73)
|
|
1824
|
+
at Object.onceWrapper (events.js:421:28)
|
|
1825
|
+
at Connection.emit (events.js:315:20)
|
|
1826
|
+
at Connection.EventEmitter.emit (domain.js:467:12)
|
|
1827
|
+
at Socket.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\pg\lib\connection.js:107:12)
|
|
1828
|
+
at Socket.emit (events.js:327:22)
|
|
1829
|
+
at Socket.EventEmitter.emit (domain.js:467:12)
|
|
1830
|
+
at endReadableNT (internal/streams/readable.js:1327:12)
|
|
1831
|
+
at processTicksAndRejections (internal/process/task_queues.js:80:21),
|
|
1832
|
+
original: Error: Connection terminated unexpectedly
|
|
1833
|
+
at Connection.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\pg\lib\client.js:132:73)
|
|
1834
|
+
at Object.onceWrapper (events.js:421:28)
|
|
1835
|
+
at Connection.emit (events.js:315:20)
|
|
1836
|
+
at Connection.EventEmitter.emit (domain.js:467:12)
|
|
1837
|
+
at Socket.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\node_modules\pg\lib\connection.js:107:12)
|
|
1838
|
+
at Socket.emit (events.js:327:22)
|
|
1839
|
+
at Socket.EventEmitter.emit (domain.js:467:12)
|
|
1840
|
+
at endReadableNT (internal/streams/readable.js:1327:12)
|
|
1841
|
+
at processTicksAndRejections (internal/process/task_queues.js:80:21)
|
|
1842
|
+
}
|
|
1843
|
+
[2022-01-06T15.21.01.543] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - InvalidConfigException: The user application component must be available to specify roles in AccessRule.
|
|
1844
|
+
at new BaseError (C:\PROJELER\github\Chy-Nodejs-Framework\base\BaseError.ts:18:15)
|
|
1845
|
+
at new InvalidConfigException (C:\PROJELER\github\Chy-Nodejs-Framework\base\InvalidConfigException.ts:14:9)
|
|
1846
|
+
at AuthManager.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\rbac\AuthManager.ts:354:19)
|
|
1847
|
+
at Generator.throw (<anonymous>)
|
|
1848
|
+
at rejected (C:\PROJELER\github\Chy-Nodejs-Framework\rbac\AuthManager.ts:6:65)
|
|
1849
|
+
at processTicksAndRejections (internal/process/task_queues.js:93:5) {
|
|
1850
|
+
statusCode: 500
|
|
1851
|
+
}
|
|
1852
|
+
[2022-01-06T15.25.22.790] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - ForbiddenHttpException: You are not allowed to perform this action.
|
|
1853
|
+
at new BaseError (C:\PROJELER\github\Chy-Nodejs-Framework\base\BaseError.ts:18:15)
|
|
1854
|
+
at new ForbiddenHttpException (C:\PROJELER\github\Chy-Nodejs-Framework\base\ForbiddenHttpException.ts:11:9)
|
|
1855
|
+
at AccessControl.denyAccess (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:74:22)
|
|
1856
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:65:18)
|
|
1857
|
+
at Generator.next (<anonymous>)
|
|
1858
|
+
at fulfilled (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:5:58)
|
|
1859
|
+
at processTicksAndRejections (internal/process/task_queues.js:93:5) {
|
|
1860
|
+
statusCode: 403
|
|
1861
|
+
}
|
|
1862
|
+
[2022-01-06T15.27.10.826] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - ForbiddenHttpException: You are not allowed to perform this action.
|
|
1863
|
+
at new BaseError (C:\PROJELER\github\Chy-Nodejs-Framework\base\BaseError.ts:18:15)
|
|
1864
|
+
at new ForbiddenHttpException (C:\PROJELER\github\Chy-Nodejs-Framework\base\ForbiddenHttpException.ts:11:9)
|
|
1865
|
+
at AccessControl.denyAccess (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:74:22)
|
|
1866
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:65:18)
|
|
1867
|
+
at Generator.next (<anonymous>)
|
|
1868
|
+
at fulfilled (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:5:58)
|
|
1869
|
+
at processTicksAndRejections (internal/process/task_queues.js:93:5) {
|
|
1870
|
+
statusCode: 403
|
|
1871
|
+
}
|
|
1872
|
+
[2022-01-06T15.27.34.445] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - ForbiddenHttpException: You are not allowed to perform this action.
|
|
1873
|
+
at new BaseError (C:\PROJELER\github\Chy-Nodejs-Framework\base\BaseError.ts:18:15)
|
|
1874
|
+
at new ForbiddenHttpException (C:\PROJELER\github\Chy-Nodejs-Framework\base\ForbiddenHttpException.ts:11:9)
|
|
1875
|
+
at AccessControl.denyAccess (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:74:22)
|
|
1876
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:65:18)
|
|
1877
|
+
at Generator.next (<anonymous>)
|
|
1878
|
+
at fulfilled (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:5:58)
|
|
1879
|
+
at processTicksAndRejections (internal/process/task_queues.js:93:5) {
|
|
1880
|
+
statusCode: 403
|
|
1881
|
+
}
|
|
1882
|
+
[2022-01-06T15.32.01.651] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - ForbiddenHttpException: You are not allowed to perform this action.
|
|
1883
|
+
at new BaseError (C:\PROJELER\github\Chy-Nodejs-Framework\base\BaseError.ts:18:15)
|
|
1884
|
+
at new ForbiddenHttpException (C:\PROJELER\github\Chy-Nodejs-Framework\base\ForbiddenHttpException.ts:11:9)
|
|
1885
|
+
at AccessControl.denyAccess (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:74:22)
|
|
1886
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:65:18)
|
|
1887
|
+
at Generator.next (<anonymous>)
|
|
1888
|
+
at fulfilled (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:5:58)
|
|
1889
|
+
at processTicksAndRejections (internal/process/task_queues.js:93:5) {
|
|
1890
|
+
statusCode: 403
|
|
1891
|
+
}
|
|
1892
|
+
[2022-01-06T15.39.52.158] [ERROR] BaseChyz [205] [C:\PROJELER\github\Chy-Nodejs-Framework\BaseChyz.ts] - ForbiddenHttpException: You are not allowed to perform this action.
|
|
1893
|
+
at new BaseError (C:\PROJELER\github\Chy-Nodejs-Framework\base\BaseError.ts:18:15)
|
|
1894
|
+
at new ForbiddenHttpException (C:\PROJELER\github\Chy-Nodejs-Framework\base\ForbiddenHttpException.ts:11:9)
|
|
1895
|
+
at AccessControl.denyAccess (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:74:22)
|
|
1896
|
+
at AccessControl.<anonymous> (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:65:18)
|
|
1897
|
+
at Generator.next (<anonymous>)
|
|
1898
|
+
at fulfilled (C:\PROJELER\github\Chy-Nodejs-Framework\filters\AccessControl.ts:5:58)
|
|
1899
|
+
at processTicksAndRejections (internal/process/task_queues.js:93:5) {
|
|
1900
|
+
statusCode: 403
|
|
1901
|
+
}
|
package/base/ActionFilter.ts
CHANGED
package/base/BaseError.ts
CHANGED
|
@@ -5,12 +5,14 @@
|
|
|
5
5
|
* Github:https://github.com/cihan53/
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
import Utils from "../requiments/Utils";
|
|
9
|
+
|
|
8
10
|
export class BaseError extends Error {
|
|
9
11
|
private statusCode: number;
|
|
10
12
|
|
|
11
13
|
constructor(message: string,statusCode=500) {
|
|
12
14
|
super(message);
|
|
13
|
-
this.message=message;
|
|
15
|
+
this.message= Utils.isString(message)?message: JSON.stringify(message);
|
|
14
16
|
this.name = this.constructor.name // good practice
|
|
15
17
|
this.statusCode = statusCode // error code for responding to client
|
|
16
18
|
Error.captureStackTrace(this)
|
package/base/Model.ts
CHANGED
|
@@ -90,7 +90,7 @@ export class Model extends Component {
|
|
|
90
90
|
|
|
91
91
|
constructor(sequelize?: IDBDatabase) {
|
|
92
92
|
super();
|
|
93
|
-
this._tableName = this.
|
|
93
|
+
this._tableName = this.alias();
|
|
94
94
|
// this._sequelize = BaseChyz.getComponent("db").db;
|
|
95
95
|
if (sequelize != null)
|
|
96
96
|
this._sequelize = sequelize;
|
|
@@ -98,7 +98,8 @@ export class Model extends Component {
|
|
|
98
98
|
this._sequelize = BaseChyz.getComponent("db").db;
|
|
99
99
|
|
|
100
100
|
if (!Utils.isEmpty(this.attributes())) {
|
|
101
|
-
|
|
101
|
+
|
|
102
|
+
this._model = this._sequelize.define(this._tableName, this.attributes(), {
|
|
102
103
|
tableName: this.tableName(),
|
|
103
104
|
timestamps: false,
|
|
104
105
|
createdAt: false,
|
|
@@ -181,6 +182,10 @@ export class Model extends Component {
|
|
|
181
182
|
}
|
|
182
183
|
|
|
183
184
|
|
|
185
|
+
public alias() {
|
|
186
|
+
return this.constructor.name;
|
|
187
|
+
}
|
|
188
|
+
|
|
184
189
|
public tableName() {
|
|
185
190
|
return this._tableName;
|
|
186
191
|
}
|
|
@@ -44,7 +44,7 @@ class ActionFilter extends Behavior_1.Behavior {
|
|
|
44
44
|
else {
|
|
45
45
|
onlyMatch = false;
|
|
46
46
|
for (const onlyKey of this.only) {
|
|
47
|
-
if (Utils_1.default.matchWildcard(action, onlyKey)) {
|
|
47
|
+
if (Utils_1.default.matchWildcard(action.id, onlyKey)) {
|
|
48
48
|
onlyMatch = true;
|
|
49
49
|
break;
|
|
50
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionFilter.js","sourceRoot":"","sources":["../../base/ActionFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAQA,gEAAwC;AACxC,yCAAoC;AAEpC,MAAa,YAAa,SAAQ,mBAAQ;IAA1C;;QAII;;;WAGG;QACI,WAAM,GAAG,EAAE,CAAC;IAmDvB,CAAC;IAhDU,IAAI;IAEX,CAAC;IAEY,YAAY,CAAC,KAAU,EAAE,GAAY,EAAE,GAAa;;YAC7D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACvB,OAAO;aACV;YAED,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC5C,CAAC;KAAA;IAES,QAAQ,CAAC,MAAW;QAC1B,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACnB,IAAI,SAAS,GAAY,KAAK,CAAC;QAC/B,IAAI,WAAW,GAAY,KAAK,CAAC;QACjC,IAAI,eAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1B,SAAS,GAAG,IAAI,CAAC;SACpB;aAAM;YACH,SAAS,GAAG,KAAK,CAAC;YAClB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE;gBAC7B,IAAI,eAAK,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"ActionFilter.js","sourceRoot":"","sources":["../../base/ActionFilter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAQA,gEAAwC;AACxC,yCAAoC;AAEpC,MAAa,YAAa,SAAQ,mBAAQ;IAA1C;;QAII;;;WAGG;QACI,WAAM,GAAG,EAAE,CAAC;IAmDvB,CAAC;IAhDU,IAAI;IAEX,CAAC;IAEY,YAAY,CAAC,KAAU,EAAE,GAAY,EAAE,GAAa;;YAC7D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACvB,OAAO;aACV;YAED,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;QAC5C,CAAC;KAAA;IAES,QAAQ,CAAC,MAAW;QAC1B,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;QACnB,IAAI,SAAS,GAAY,KAAK,CAAC;QAC/B,IAAI,WAAW,GAAY,KAAK,CAAC;QACjC,IAAI,eAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC1B,SAAS,GAAG,IAAI,CAAC;SACpB;aAAM;YACH,SAAS,GAAG,KAAK,CAAC;YAClB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE;gBAC7B,IAAI,eAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE;oBACzC,SAAS,GAAG,IAAI,CAAC;oBACjB,MAAM;iBACT;aACJ;SACJ;QAED,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,MAAM,EAAE;YACjC,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC7B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,WAAW,GAAG,IAAI,CAAC;aACtB;SACJ;QAED,OAAO,CAAC,WAAW,IAAI,SAAS,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACU,YAAY,CAAC,KAAU,EAAE,GAAY,EAAE,GAAa;;YAC7D,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;CACJ;AA3DD,oCA2DC"}
|
package/dist/base/BaseError.js
CHANGED
|
@@ -5,12 +5,16 @@
|
|
|
5
5
|
* E-mail: cihan@chy.com.tr
|
|
6
6
|
* Github:https://github.com/cihan53/
|
|
7
7
|
*/
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
8
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
12
|
exports.BaseError = void 0;
|
|
13
|
+
const Utils_1 = __importDefault(require("../requiments/Utils"));
|
|
10
14
|
class BaseError extends Error {
|
|
11
15
|
constructor(message, statusCode = 500) {
|
|
12
16
|
super(message);
|
|
13
|
-
this.message = message;
|
|
17
|
+
this.message = Utils_1.default.isString(message) ? message : JSON.stringify(message);
|
|
14
18
|
this.name = this.constructor.name; // good practice
|
|
15
19
|
this.statusCode = statusCode; // error code for responding to client
|
|
16
20
|
Error.captureStackTrace(this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseError.js","sourceRoot":"","sources":["../../base/BaseError.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"BaseError.js","sourceRoot":"","sources":["../../base/BaseError.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;AAEH,gEAAwC;AAExC,MAAa,SAAU,SAAQ,KAAK;IAGhC,YAAY,OAAe,EAAC,UAAU,GAAC,GAAG;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAE,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA,CAAC,CAAA,OAAO,CAAA,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA,CAAC,gBAAgB;QAClD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA,CAAC,sCAAsC;QACnE,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,QAAQ;QACJ,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,EAAE,CAAA;IAC7D,CAAC;IACD,MAAM;QACF,OAAO,EAAC,IAAI,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,CAAA;IAC3E,CAAC;CACJ;AAjBD,8BAiBC"}
|
package/dist/base/Model.js
CHANGED
|
@@ -86,14 +86,14 @@ class Model extends Component_1.Component {
|
|
|
86
86
|
super();
|
|
87
87
|
this._attributes = {};
|
|
88
88
|
this._errors = {};
|
|
89
|
-
this._tableName = this.
|
|
89
|
+
this._tableName = this.alias();
|
|
90
90
|
// this._sequelize = BaseChyz.getComponent("db").db;
|
|
91
91
|
if (sequelize != null)
|
|
92
92
|
this._sequelize = sequelize;
|
|
93
93
|
else
|
|
94
94
|
this._sequelize = BaseChyz_1.default.getComponent("db").db;
|
|
95
95
|
if (!Utils_1.default.isEmpty(this.attributes())) {
|
|
96
|
-
this._model = this._sequelize.define(this.
|
|
96
|
+
this._model = this._sequelize.define(this._tableName, this.attributes(), {
|
|
97
97
|
tableName: this.tableName(),
|
|
98
98
|
timestamps: false,
|
|
99
99
|
createdAt: false,
|
|
@@ -160,6 +160,9 @@ class Model extends Component_1.Component {
|
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
|
+
alias() {
|
|
164
|
+
return this.constructor.name;
|
|
165
|
+
}
|
|
163
166
|
tableName() {
|
|
164
167
|
return this._tableName;
|
|
165
168
|
}
|
package/dist/base/Model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Model.js","sourceRoot":"","sources":["../../base/Model.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;AAEH,2DAAmC;AACnC,gEAAwC;AACxC,2CAAsC;AACtC,qEAAgE;AAChE,yCAAgL;AAChL,8CAAyC;AAEzC,uCAAyC;AAAjC,sGAAA,SAAS,OAAA;AAAE,gGAAA,GAAG,OAAA;AAatB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAEH,MAAa,KAAM,SAAQ,qBAAS;IAShC,YAAY,SAAuB;QAC/B,KAAK,EAAE,CAAC;QALJ,gBAAW,GAAQ,EAAE,CAAC;QACtB,YAAO,GAAQ,EAAE,CAAA;QAKrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"Model.js","sourceRoot":"","sources":["../../base/Model.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,7 @@ class AccessControl extends ActionFilter_1.ActionFilter {
|
|
|
30
30
|
constructor() {
|
|
31
31
|
super(...arguments);
|
|
32
32
|
this.user = null;
|
|
33
|
+
this.denyCallback = null;
|
|
33
34
|
}
|
|
34
35
|
init() {
|
|
35
36
|
var _a;
|
|
@@ -52,15 +53,26 @@ class AccessControl extends ActionFilter_1.ActionFilter {
|
|
|
52
53
|
// @ts-ignore
|
|
53
54
|
user.identity = (_b = request.identity) !== null && _b !== void 0 ? _b : null;
|
|
54
55
|
for (const rulesKey in this.rules) {
|
|
55
|
-
|
|
56
|
+
let rule = this.rules[rulesKey];
|
|
57
|
+
if ((allow = yield rule.allows(action, user, request))) {
|
|
56
58
|
return true;
|
|
57
59
|
}
|
|
58
60
|
else if (allow === false) {
|
|
59
|
-
this.
|
|
61
|
+
if (this.denyCallback != null) {
|
|
62
|
+
rule.denyCallback.apply(rule, action);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.denyAccess(user);
|
|
66
|
+
}
|
|
60
67
|
return false;
|
|
61
68
|
}
|
|
62
69
|
}
|
|
63
|
-
this.
|
|
70
|
+
if (this.denyCallback != null) {
|
|
71
|
+
this.denyCallback.apply(null, action);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.denyAccess(user);
|
|
75
|
+
}
|
|
64
76
|
return false;
|
|
65
77
|
});
|
|
66
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccessControl.js","sourceRoot":"","sources":["../../filters/AccessControl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,2DAAmC;AACnC,2EAAsE;AACtE,uDAAkD;AAClD,6CAAwC;AACxC,4CAAuC;AACvC,gEAAwC;AAGxC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAG1B,MAAa,aAAc,SAAQ,2BAAY;IAA/C;;QAEW,SAAI,GAAQ,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"AccessControl.js","sourceRoot":"","sources":["../../filters/AccessControl.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,2DAAmC;AACnC,2EAAsE;AACtE,uDAAkD;AAClD,6CAAwC;AACxC,4CAAuC;AACvC,gEAAwC;AAGxC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAG1B,MAAa,aAAc,SAAQ,2BAAY;IAA/C;;QAEW,SAAI,GAAQ,IAAI,CAAC;QAEjB,iBAAY,GAAQ,IAAI,CAAC;IAuDpC,CAAC;IArDU,IAAI;;QACP,KAAK,CAAC,IAAI,EAAE,CAAA;QAEZ,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,EAAE;YACxB,IAAI,CAAC,IAAI,GAAG,MAAA,eAAK,CAAC,SAAS,CAAC,kBAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,mCAAI,IAAI,iBAAO,EAAE,CAAC;SAC/E;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,KAAa,EAAE,EAAE;YAC5C,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE;gBACvB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,eAAK,CAAC,YAAY,CAAC,IAAI,uBAAU,EAAE,EAAE,IAAI,CAAC,CAAC;aAClE;QACL,CAAC,CAAC,CAAA;IACN,CAAC;IAGY,YAAY,CAAC,MAAW,EAAE,OAAgB;;;YACnD,IAAI,KAAK,CAAC;YACV,aAAa;YACb,IAAI,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,IAAI,CAAC,IAAI,CAAC;YACrC,aAAa;YACb,IAAI,CAAC,QAAQ,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,IAAI,CAAC;YAEzC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;gBAE/B,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE;oBACpD,OAAO,IAAI,CAAC;iBACf;qBAAM,IAAI,KAAK,KAAK,KAAK,EAAE;oBACxB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;wBAC3B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;qBACzC;yBAAM;wBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;qBACzB;oBACD,OAAO,KAAK,CAAC;iBAChB;aACJ;YAGD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;gBAC3B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aACzC;iBAAM;gBACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACzB;YAED,OAAO,KAAK,CAAC;;KAChB;IAEM,UAAU,CAAC,IAAa;QAC3B,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACxC,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;;YAAM,MAAM,IAAI,+CAAsB,CAAC,kBAAQ,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC,CAAC;IACvG,CAAC;CAEJ;AA3DD,sCA2DC"}
|