@placeshakr/config 10.22.0 → 10.22.1-alpha.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.
Files changed (114) hide show
  1. package/dist/auth/index.js +58 -0
  2. package/dist/auth/index.js.map +1 -0
  3. package/dist/auth/policy.js +120 -0
  4. package/dist/auth/policy.js.map +1 -0
  5. package/dist/environment/base.js +602 -0
  6. package/dist/environment/base.js.map +1 -0
  7. package/dist/environment/decorators.js +98 -0
  8. package/dist/environment/decorators.js.map +1 -0
  9. package/dist/environment/index.js +37 -0
  10. package/dist/environment/index.js.map +1 -0
  11. package/dist/environment/types.js +3 -0
  12. package/dist/environment/types.js.map +1 -0
  13. package/dist/events/index.js +12 -0
  14. package/dist/events/index.js.map +1 -0
  15. package/dist/helpers/index.js +68 -0
  16. package/dist/helpers/index.js.map +1 -0
  17. package/dist/helpers/uid.js +87 -0
  18. package/dist/helpers/uid.js.map +1 -0
  19. package/dist/index.js +30 -8
  20. package/dist/index.js.map +1 -0
  21. package/dist/metrics.js +6 -0
  22. package/dist/metrics.js.map +1 -0
  23. package/dist/path/index.js +47 -0
  24. package/dist/path/index.js.map +1 -0
  25. package/dist/plans/base.js +117 -0
  26. package/dist/plans/base.js.map +1 -0
  27. package/dist/plans/index.js +223 -0
  28. package/dist/plans/index.js.map +1 -0
  29. package/dist/plans/types.js +3 -0
  30. package/dist/plans/types.js.map +1 -0
  31. package/dist/{auth → types/auth}/index.d.ts +21 -21
  32. package/dist/types/auth/index.d.ts.map +1 -0
  33. package/dist/types/auth/policy.d.ts +13 -0
  34. package/dist/types/auth/policy.d.ts.map +1 -0
  35. package/dist/{environment → types/environment}/base.d.ts +3 -3
  36. package/dist/types/environment/base.d.ts.map +1 -0
  37. package/dist/{environment → types/environment}/decorators.d.ts +6 -6
  38. package/dist/types/environment/decorators.d.ts.map +1 -0
  39. package/dist/{environment → types/environment}/index.d.ts +15 -15
  40. package/dist/types/environment/index.d.ts.map +1 -0
  41. package/dist/{environment → types/environment}/types.d.ts +159 -159
  42. package/dist/types/environment/types.d.ts.map +1 -0
  43. package/dist/{events → types/events}/index.d.ts +58 -58
  44. package/dist/types/events/index.d.ts.map +1 -0
  45. package/dist/{helpers → types/helpers}/index.d.ts +65 -65
  46. package/dist/types/helpers/index.d.ts.map +1 -0
  47. package/dist/{helpers → types/helpers}/uid.d.ts +5 -5
  48. package/dist/types/helpers/uid.d.ts.map +1 -0
  49. package/dist/{index.d.ts → types/index.d.ts} +13 -13
  50. package/dist/types/index.d.ts.map +1 -0
  51. package/dist/{metrics.d.ts → types/metrics.d.ts} +2 -2
  52. package/dist/types/metrics.d.ts.map +1 -0
  53. package/dist/{path → types/path}/index.d.ts +7 -7
  54. package/dist/types/path/index.d.ts.map +1 -0
  55. package/dist/{plans → types/plans}/base.d.ts +8 -8
  56. package/dist/types/plans/base.d.ts.map +1 -0
  57. package/dist/{plans → types/plans}/index.d.ts +9 -8
  58. package/dist/types/plans/index.d.ts.map +1 -0
  59. package/dist/{plans → types/plans}/types.d.ts +178 -243
  60. package/dist/types/plans/types.d.ts.map +1 -0
  61. package/dist/{types.d.ts → types/types.d.ts} +3507 -3426
  62. package/dist/types/types.d.ts.map +1 -0
  63. package/dist/{utils → types/utils}/flatten.d.ts +8 -8
  64. package/dist/types/utils/flatten.d.ts.map +1 -0
  65. package/dist/{whatsapp → types/whatsapp}/index.d.ts +3 -3
  66. package/dist/types/whatsapp/index.d.ts.map +1 -0
  67. package/dist/{whatsapp → types/whatsapp}/requests.d.ts +81 -81
  68. package/dist/types/whatsapp/requests.d.ts.map +1 -0
  69. package/dist/{whatsapp → types/whatsapp}/responses.d.ts +169 -169
  70. package/dist/types/whatsapp/responses.d.ts.map +1 -0
  71. package/dist/types.js +703 -0
  72. package/dist/types.js.map +1 -0
  73. package/dist/utils/flatten.js +43 -0
  74. package/dist/utils/flatten.js.map +1 -0
  75. package/dist/whatsapp/index.js +7 -0
  76. package/dist/whatsapp/index.js.map +1 -0
  77. package/dist/whatsapp/requests.js +3 -0
  78. package/dist/whatsapp/requests.js.map +1 -0
  79. package/dist/whatsapp/responses.js +3 -0
  80. package/dist/whatsapp/responses.js.map +1 -0
  81. package/package.json +14 -20
  82. package/src/environment/base.ts +4 -0
  83. package/src/index.ts +7 -7
  84. package/src/plans/base.ts +9 -141
  85. package/src/plans/index.ts +87 -17
  86. package/src/plans/types.ts +62 -93
  87. package/src/types.ts +102 -4
  88. package/dist/auth/index.d.ts.map +0 -1
  89. package/dist/auth/policy.d.ts +0 -13
  90. package/dist/auth/policy.d.ts.map +0 -1
  91. package/dist/config.cjs.development.js +0 -2093
  92. package/dist/config.cjs.development.js.map +0 -1
  93. package/dist/config.cjs.production.min.js +0 -2
  94. package/dist/config.cjs.production.min.js.map +0 -1
  95. package/dist/config.esm.js +0 -2078
  96. package/dist/config.esm.js.map +0 -1
  97. package/dist/environment/base.d.ts.map +0 -1
  98. package/dist/environment/decorators.d.ts.map +0 -1
  99. package/dist/environment/index.d.ts.map +0 -1
  100. package/dist/environment/types.d.ts.map +0 -1
  101. package/dist/events/index.d.ts.map +0 -1
  102. package/dist/helpers/index.d.ts.map +0 -1
  103. package/dist/helpers/uid.d.ts.map +0 -1
  104. package/dist/index.d.ts.map +0 -1
  105. package/dist/metrics.d.ts.map +0 -1
  106. package/dist/path/index.d.ts.map +0 -1
  107. package/dist/plans/base.d.ts.map +0 -1
  108. package/dist/plans/index.d.ts.map +0 -1
  109. package/dist/plans/types.d.ts.map +0 -1
  110. package/dist/types.d.ts.map +0 -1
  111. package/dist/utils/flatten.d.ts.map +0 -1
  112. package/dist/whatsapp/index.d.ts.map +0 -1
  113. package/dist/whatsapp/requests.d.ts.map +0 -1
  114. package/dist/whatsapp/responses.d.ts.map +0 -1
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ROLE = void 0;
4
+ var ROLE;
5
+ (function (ROLE) {
6
+ ROLE["CLIENT"] = "client";
7
+ ROLE["SELLER"] = "seller";
8
+ ROLE["PRO"] = "pro";
9
+ ROLE["AGENT"] = "agent";
10
+ ROLE["ADMIN"] = "admin";
11
+ ROLE["OWNER"] = "owner";
12
+ ROLE["SUPERADMIN"] = "superadmin";
13
+ })(ROLE || (exports.ROLE = ROLE = {}));
14
+ /**
15
+ * security context
16
+ */
17
+ exports.default = (env) => {
18
+ const orderedAccess = [
19
+ ROLE.CLIENT,
20
+ ROLE.PRO,
21
+ ROLE.AGENT,
22
+ ROLE.ADMIN,
23
+ ROLE.SUPERADMIN,
24
+ ];
25
+ const hasRole = (claims) => !claims || !claims[env.security.claims.role] ? false : true;
26
+ const is = (claims, role) => {
27
+ if (!hasRole(claims))
28
+ return false;
29
+ return claims[env.security.claims.role] === role;
30
+ };
31
+ /**
32
+ * Determine if an user can act under another security role
33
+ *
34
+ * @param role
35
+ * @param claims
36
+ */
37
+ const canActAs = (role, claims) => {
38
+ const userRole = getRole(claims);
39
+ return orderedAccess.indexOf(role) < orderedAccess.indexOf(userRole);
40
+ };
41
+ /**
42
+ * Get user role
43
+ * @param claims
44
+ */
45
+ const getRole = (claims) => hasRole(claims) ? claims[env.security.claims.role] : null;
46
+ /**
47
+ * Get all the roles on which an user can impersonate
48
+ * @param claims
49
+ */
50
+ const getRoles = (claims) => orderedAccess.filter(role => canActAs(role, claims));
51
+ return {
52
+ is,
53
+ canActAs,
54
+ getRole,
55
+ getRoles,
56
+ };
57
+ };
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":";;;AAEA,IAAY,IAQX;AARD,WAAY,IAAI;IACd,yBAAiB,CAAA;IACjB,yBAAiB,CAAA;IACjB,mBAAW,CAAA;IACX,uBAAe,CAAA;IACf,uBAAe,CAAA;IACf,uBAAe,CAAA;IACf,iCAAyB,CAAA;AAC3B,CAAC,EARW,IAAI,oBAAJ,IAAI,QAQf;AASD;;GAEG;AACH,kBAAe,CAAC,GAAgB,EAAmB,EAAE;IACnD,MAAM,aAAa,GAAG;QACpB,IAAI,CAAC,MAAM;QACX,IAAI,CAAC,GAAG;QACR,IAAI,CAAC,KAAK;QACV,IAAI,CAAC,KAAK;QACV,IAAI,CAAC,UAAU;KAChB,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,MAAW,EAAE,EAAE,CAC9B,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAE9D,MAAM,EAAE,GAAG,CAAC,MAAW,EAAE,IAAU,EAAW,EAAE;QAC9C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAEnC,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;IACnD,CAAC,CAAC;IAEF;;;;;OAKG;IACH,MAAM,QAAQ,GAAG,CAAC,IAAU,EAAE,MAAW,EAAW,EAAE;QACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,OAAO,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvE,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,OAAO,GAAG,CAAC,MAAW,EAAE,EAAE,CAC9B,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE5D;;;OAGG;IACH,MAAM,QAAQ,GAAG,CAAC,MAAW,EAAE,EAAE,CAC/B,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvD,OAAO;QACL,EAAE;QACF,QAAQ;QACR,OAAO;QACP,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.acls = void 0;
4
+ exports.acls = [
5
+ 'project.view',
6
+ 'project.edit',
7
+ 'project.create',
8
+ 'project.delete',
9
+ 'project.progress.edit',
10
+ // assignations
11
+ 'project.assign.pro',
12
+ 'project.assign.agent',
13
+ 'project.assign.client',
14
+ 'project.assign.seller',
15
+ 'project.unassign.pro',
16
+ 'project.unassign.agent',
17
+ 'project.unassign.client',
18
+ 'project.unassign.seller',
19
+ // other actions
20
+ 'project.validate',
21
+ 'project.status.edit',
22
+ 'project.pro.prices.view',
23
+ 'project.enterprise.prices.view',
24
+ 'project.sync.agenda',
25
+ 'project.estimation',
26
+ // devis
27
+ 'project.devis.create',
28
+ 'project.devis.edit',
29
+ 'project.devis.delete',
30
+ // notes
31
+ 'project.note.view',
32
+ 'project.note.create',
33
+ 'project.note.edit',
34
+ 'project.note.delete',
35
+ // documents
36
+ 'project.document.view',
37
+ 'project.document.create',
38
+ 'project.document.edit',
39
+ 'project.document.delete',
40
+ // medias
41
+ 'project.media.view',
42
+ 'project.media.create',
43
+ 'project.media.edit',
44
+ 'project.media.delete',
45
+ // events
46
+ 'project.event.view',
47
+ 'project.event.create',
48
+ 'project.event.edit',
49
+ /**
50
+ * Devis policy
51
+ */
52
+ 'devis.create',
53
+ 'devis.view',
54
+ 'devis.edit',
55
+ 'devis.delete',
56
+ 'devis.status.edit',
57
+ 'devis.email.send',
58
+ 'devis.validate',
59
+ 'devis.from.template.create',
60
+ /**
61
+ * Configuration
62
+ */
63
+ 'configuration.view',
64
+ // status
65
+ 'configuration.status.view',
66
+ 'configuration.status.create',
67
+ 'configuration.status.edit',
68
+ 'configuration.status.delete',
69
+ // providers
70
+ 'configuration.provider.view',
71
+ 'configuration.provider.edit',
72
+ 'configuration.provider.delete',
73
+ 'configuration.provider.create',
74
+ // material providers
75
+ 'configuration.material.provider.view',
76
+ 'configuration.material.provider.edit',
77
+ 'configuration.material.provider.delete',
78
+ 'configuration.material.provider.create',
79
+ // materials
80
+ 'configuration.material.view',
81
+ 'configuration.material.edit',
82
+ 'configuration.material.delete',
83
+ 'configuration.material.create',
84
+ // operations
85
+ 'configuration.operation.view',
86
+ 'configuration.operation.edit',
87
+ 'configuration.operation.delete',
88
+ 'configuration.operation.create',
89
+ // devis templates
90
+ 'configuration.devis.template.view',
91
+ 'configuration.devis.template.edit',
92
+ 'configuration.devis.template.delete',
93
+ 'configuration.devis.template.create',
94
+ // team
95
+ 'configuration.team.view',
96
+ // users (pro)
97
+ 'configuration.pro.edit',
98
+ 'configuration.pro.delete',
99
+ 'configuration.pro.create',
100
+ 'configuration.pro.view',
101
+ // users (agent)
102
+ 'configuration.agent.edit',
103
+ 'configuration.agent.delete',
104
+ 'configuration.agent.create',
105
+ 'configuration.agent.view',
106
+ // users (admins)
107
+ 'configuration.admin.edit',
108
+ 'configuration.admin.delete',
109
+ 'configuration.admin.create',
110
+ 'configuration.admin.view',
111
+ // enterprise
112
+ 'configuration.enterprise.edit',
113
+ 'configuration.enterprise.delete',
114
+ 'configuration.enterprise.create',
115
+ 'configuration.enterprise.view',
116
+ 'configuration.enterprise.payment.method.add',
117
+ 'configuration.enterprise.payment.method.delete',
118
+ 'configuration.enterprise.payment.history.view',
119
+ ];
120
+ //# sourceMappingURL=policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/auth/policy.ts"],"names":[],"mappings":";;;AA4Ia,QAAA,IAAI,GAAa;IAC5B,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,uBAAuB;IAEvB,eAAe;IACf,oBAAoB;IACpB,sBAAsB;IACtB,uBAAuB;IACvB,uBAAuB;IACvB,sBAAsB;IACtB,wBAAwB;IACxB,yBAAyB;IACzB,yBAAyB;IAEzB,gBAAgB;IAChB,kBAAkB;IAClB,qBAAqB;IACrB,yBAAyB;IACzB,gCAAgC;IAChC,qBAAqB;IACrB,oBAAoB;IAEpB,QAAQ;IACR,sBAAsB;IACtB,oBAAoB;IACpB,sBAAsB;IAEtB,QAAQ;IACR,mBAAmB;IACnB,qBAAqB;IACrB,mBAAmB;IACnB,qBAAqB;IAErB,YAAY;IACZ,uBAAuB;IACvB,yBAAyB;IACzB,uBAAuB;IACvB,yBAAyB;IAEzB,SAAS;IACT,oBAAoB;IACpB,sBAAsB;IACtB,oBAAoB;IACpB,sBAAsB;IAEtB,SAAS;IACT,oBAAoB;IACpB,sBAAsB;IACtB,oBAAoB;IAEpB;;OAEG;IAEH,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,cAAc;IACd,mBAAmB;IACnB,kBAAkB;IAClB,gBAAgB;IAChB,4BAA4B;IAE5B;;OAEG;IACH,oBAAoB;IAEpB,SAAS;IACT,2BAA2B;IAC3B,6BAA6B;IAC7B,2BAA2B;IAC3B,6BAA6B;IAE7B,YAAY;IACZ,6BAA6B;IAC7B,6BAA6B;IAC7B,+BAA+B;IAC/B,+BAA+B;IAE/B,qBAAqB;IACrB,sCAAsC;IACtC,sCAAsC;IACtC,wCAAwC;IACxC,wCAAwC;IAExC,YAAY;IACZ,6BAA6B;IAC7B,6BAA6B;IAC7B,+BAA+B;IAC/B,+BAA+B;IAE/B,aAAa;IACb,8BAA8B;IAC9B,8BAA8B;IAC9B,gCAAgC;IAChC,gCAAgC;IAEhC,kBAAkB;IAClB,mCAAmC;IACnC,mCAAmC;IACnC,qCAAqC;IACrC,qCAAqC;IAErC,OAAO;IACP,yBAAyB;IAEzB,cAAc;IACd,wBAAwB;IACxB,0BAA0B;IAC1B,0BAA0B;IAC1B,wBAAwB;IAExB,gBAAgB;IAChB,0BAA0B;IAC1B,4BAA4B;IAC5B,4BAA4B;IAC5B,0BAA0B;IAE1B,iBAAiB;IACjB,0BAA0B;IAC1B,4BAA4B;IAC5B,4BAA4B;IAC5B,0BAA0B;IAE1B,aAAa;IACb,+BAA+B;IAC/B,iCAAiC;IACjC,iCAAiC;IACjC,+BAA+B;IAC/B,6CAA6C;IAC7C,gDAAgD;IAChD,+CAA+C;CAChD,CAAC"}