@ozdao/prometheus-framework 0.2.126 → 0.2.128

Sign up to get free protection for your applications and to get access to all the features.
Files changed (152) hide show
  1. package/dist/auth.server.js +54 -2
  2. package/dist/auth.server.mjs +54 -2
  3. package/dist/gallery.server.js +55 -3
  4. package/dist/gallery.server.mjs +55 -3
  5. package/dist/main-CF35oB7q.js +92 -0
  6. package/dist/main-CmL_j3wv.mjs +14223 -0
  7. package/dist/organizations.server.js +112 -184
  8. package/dist/organizations.server.mjs +112 -184
  9. package/dist/prometheus-framework/src/components/Block/Block.vue.cjs +1 -1
  10. package/dist/prometheus-framework/src/components/Block/Block.vue.js +1 -1
  11. package/dist/prometheus-framework/src/components/Button/Button.vue.cjs +1 -1
  12. package/dist/prometheus-framework/src/components/Button/Button.vue.js +1 -94
  13. package/dist/prometheus-framework/src/components/Button/Button.vue2.cjs +1 -1
  14. package/dist/prometheus-framework/src/components/Button/Button.vue2.js +94 -1
  15. package/dist/prometheus-framework/src/components/Field/Field.vue.cjs +1 -1
  16. package/dist/prometheus-framework/src/components/Field/Field.vue.js +1 -84
  17. package/dist/prometheus-framework/src/components/Field/Field.vue2.cjs +1 -1
  18. package/dist/prometheus-framework/src/components/Field/Field.vue2.js +84 -1
  19. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  20. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.js +1 -1
  21. package/dist/prometheus-framework/src/components/Popup/Popup.vue.cjs +1 -1
  22. package/dist/prometheus-framework/src/components/Popup/Popup.vue.js +1 -77
  23. package/dist/prometheus-framework/src/components/Popup/Popup.vue2.cjs +1 -1
  24. package/dist/prometheus-framework/src/components/Popup/Popup.vue2.js +77 -1
  25. package/dist/prometheus-framework/src/components/Tooltip/Tooltip.vue.cjs +1 -1
  26. package/dist/prometheus-framework/src/components/Tooltip/Tooltip.vue.js +1 -45
  27. package/dist/prometheus-framework/src/components/Tooltip/Tooltip.vue2.cjs +1 -1
  28. package/dist/prometheus-framework/src/components/Tooltip/Tooltip.vue2.js +45 -1
  29. package/dist/prometheus-framework/src/modules/auth/components/layouts/Auth.vue.cjs +1 -1
  30. package/dist/prometheus-framework/src/modules/auth/components/layouts/Auth.vue.js +2 -2
  31. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterCode.vue.cjs +1 -1
  32. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterCode.vue.js +1 -1
  33. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterPassword.vue.cjs +1 -1
  34. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterPassword.vue.js +2 -2
  35. package/dist/prometheus-framework/src/modules/auth/components/pages/Invite.vue.cjs +1 -1
  36. package/dist/prometheus-framework/src/modules/auth/components/pages/Invite.vue.js +2 -2
  37. package/dist/prometheus-framework/src/modules/auth/components/pages/ResetPassword.vue.cjs +1 -1
  38. package/dist/prometheus-framework/src/modules/auth/components/pages/ResetPassword.vue.js +2 -2
  39. package/dist/prometheus-framework/src/modules/auth/components/pages/SignIn.vue.cjs +1 -1
  40. package/dist/prometheus-framework/src/modules/auth/components/pages/SignIn.vue.js +2 -2
  41. package/dist/prometheus-framework/src/modules/auth/components/pages/SignUp.vue.cjs +1 -1
  42. package/dist/prometheus-framework/src/modules/auth/components/pages/SignUp.vue.js +2 -2
  43. package/dist/prometheus-framework/src/modules/auth/store/auth.cjs +1 -1
  44. package/dist/prometheus-framework/src/modules/auth/store/auth.js +57 -50
  45. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
  46. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js +68 -62
  47. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.cjs +1 -1
  48. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.js +2 -2
  49. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  50. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +3 -3
  51. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.cjs +1 -1
  52. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.js +1 -1
  53. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  54. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  55. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  56. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.js +2 -2
  57. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  58. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  59. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  60. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +3 -3
  61. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  62. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.js +3 -3
  63. package/dist/prometheus-framework/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
  64. package/dist/prometheus-framework/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  65. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
  66. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  67. package/dist/prometheus-framework/src/modules/gallery/gallery.client.cjs +1 -1
  68. package/dist/prometheus-framework/src/modules/gallery/gallery.client.js +4 -4
  69. package/dist/prometheus-framework/src/modules/globals/components/blocks/BlockSearch.vue.cjs +1 -1
  70. package/dist/prometheus-framework/src/modules/globals/components/blocks/BlockSearch.vue.js +1 -1
  71. package/dist/prometheus-framework/src/modules/globals/components/blocks/CardHeader.vue.cjs +1 -1
  72. package/dist/prometheus-framework/src/modules/globals/components/blocks/CardHeader.vue.js +2 -2
  73. package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.cjs +1 -1
  74. package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.js +2 -2
  75. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  76. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  77. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  78. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +3 -3
  79. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
  80. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.js +2 -2
  81. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
  82. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.js +1 -1
  83. package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
  84. package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  85. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +1 -1
  86. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardDepartment.vue.js +14 -14
  87. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  88. package/dist/prometheus-framework/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  89. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  90. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +116 -94
  91. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  92. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.js +3 -3
  93. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  94. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +3 -3
  95. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  96. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +3 -3
  97. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  98. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  99. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  100. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +3 -3
  101. package/dist/prometheus-framework/src/modules/organizations/store/departments.cjs +1 -1
  102. package/dist/prometheus-framework/src/modules/organizations/store/departments.js +9 -4
  103. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
  104. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
  105. package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +1 -1
  106. package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.js +1 -1
  107. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.cjs +1 -1
  108. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.js +1 -1
  109. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.cjs +1 -1
  110. package/dist/prometheus-framework/src/modules/products/components/blocks/ListPositions.vue.js +1 -1
  111. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  112. package/dist/prometheus-framework/src/modules/products/components/pages/Categories.vue.js +1 -1
  113. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
  114. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +2 -2
  115. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +1 -1
  116. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +2 -2
  117. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  118. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +3 -3
  119. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.cjs +1 -1
  120. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.js +1 -1
  121. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
  122. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +2 -2
  123. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  124. package/dist/prometheus-framework/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  125. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  126. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  127. package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.cjs +1 -1
  128. package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.js +2 -2
  129. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEdit.vue.cjs +1 -1
  130. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEdit.vue.js +2 -2
  131. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +1 -1
  132. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -3
  133. package/dist/prometheus-framework.cjs.js +1 -1
  134. package/dist/prometheus-framework.es.js +1 -1
  135. package/dist/style.css +1 -1
  136. package/dist/web-BDaOF322.js +1 -0
  137. package/dist/web-DtWmpLE-.mjs +54 -0
  138. package/package.json +1 -1
  139. package/src/modules/auth/controllers/auth.controller.js +54 -2
  140. package/src/modules/auth/routes/auth.routes.js +8 -1
  141. package/src/modules/auth/store/auth.js +21 -9
  142. package/src/modules/backoffice/components/pages/Dashboard.vue +6 -0
  143. package/src/modules/gallery/gallery.client.js +1 -1
  144. package/src/modules/gallery/routes/gallery.routes.js +7 -3
  145. package/src/modules/globals/mixins/mixins.js +17 -0
  146. package/src/modules/middlewares/server/verifyAccesses.js +100 -23
  147. package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -1
  148. package/src/modules/organizations/components/pages/DepartmentEdit.vue +24 -2
  149. package/src/modules/organizations/components/pages/Members.vue +1 -1
  150. package/src/modules/organizations/models/department.model.js +42 -2
  151. package/src/modules/organizations/routes/departments.routes.js +1 -8
  152. package/src/modules/organizations/store/departments.js +5 -0
@@ -2,32 +2,36 @@
2
2
  const controllerFactory = require("../controllers/gallery.controller");
3
3
  // Middlewares
4
4
  const middlewareFactoryGlobal = require('@pf/src/modules/middlewares/server');
5
+ const middlewareFactoryAccesses = require('@pf/src/modules/middlewares/server/verifyAccesses')
5
6
 
6
7
  module.exports = function(app, db, origins) {
7
8
  const controller = controllerFactory(db);
8
9
 
9
10
  const { authJwt } = middlewareFactoryGlobal(db);
11
+ const { verifyRead } = middlewareFactoryAccesses(db)
12
+
10
13
 
11
14
  app.get(
12
15
  "/api/gallery/read",
16
+ [
17
+ authJwt.verifyToken,
18
+ verifyRead('gallery'),
19
+ ],
13
20
  controller.read
14
21
  );
15
22
 
16
23
  app.post(
17
24
  "/api/gallery/create",
18
- [authJwt.verifyToken],
19
25
  controller.create
20
26
  );
21
27
 
22
28
  app.put(
23
29
  "/api/gallery/update",
24
- [authJwt.verifyToken],
25
30
  controller.update
26
31
  );
27
32
 
28
33
  app.delete(
29
34
  "/api/gallery/delete/:_id",
30
- [authJwt.verifyToken],
31
35
  controller.delete
32
36
  );
33
37
  };
@@ -1,6 +1,23 @@
1
1
  // mixins.js
2
2
  export const globalMixins = {
3
3
  methods: {
4
+ hasAccess(organizationId, rightCategory, rightType, accesses) {
5
+ const accessArray = accesses;
6
+
7
+ const organizationAccess = accessArray.find(access => access.organization === organizationId);
8
+
9
+ if (!organizationAccess) {
10
+ return false;
11
+ }
12
+
13
+ const categoryAccess = organizationAccess.rights[rightCategory];
14
+
15
+ if (!categoryAccess) {
16
+ return false;
17
+ }
18
+
19
+ return categoryAccess[rightType] === true;
20
+ },
4
21
  returnCurrency() {
5
22
  const currency = '฿'
6
23
  return currency
@@ -1,33 +1,110 @@
1
- const ReadDepartments = require('./accessors/ReadDepartments');
1
+ const middlewareFactory = (db) => {
2
+ const User = db.user;
3
+ const Organization = db.organization;
4
+ const Department = db.department;
2
5
 
3
- module.exports = (db) => {
4
- // Объекты посредников
5
- const instances = [];
6
+ const verifyRead = (resource) => {
7
+ return async (req, res, next) => {
8
+ try {
9
+ // Получаем идентификатор организации из запроса
10
+ const ownerOrgId = new db.mongoose.Types.ObjectId(req.query.owner);;
6
11
 
7
- // Регистрация посредников отвечающий за проверку прав доступа
8
- const middlewares = [
9
- ReadDepartments,
10
- ];
12
+ // Получаем текущего пользователя
13
+ const userId = new db.mongoose.Types.ObjectId(req.userId);
11
14
 
12
- let nextMiddleware = null;
15
+ // Проверяем, является ли пользователь владельцем организации
16
+ const isOwnerOfOrg = await Organization.exists({
17
+ _id: ownerOrgId,
18
+ owner: userId
19
+ });
13
20
 
14
- // Собираем цепочку посредников
15
- for (let i = middlewares.length - 1; i >= 0; i--) {
16
- const Middleware = middlewares[i];
17
- const middleware = new Middleware();
21
+ // Если пользователь является владельцем организации, ему разрешен доступ ко всем ресурсам
22
+ if (isOwnerOfOrg) {
23
+ return next();
24
+ }
18
25
 
19
- // Передаем в посредники параметры
20
- middleware.db = db;
26
+ // Проверяем, является ли пользователь членом организации через департаменты
27
+ const isMemberOfOrg = await Department.exists({
28
+ organization: ownerOrgId,
29
+ 'members.user': userId
30
+ });
21
31
 
22
- // Добавляем звено следующего посредника
23
- middleware.next = nextMiddleware;
24
32
 
25
- // Добавляем middleware в начало массива.
26
- instances.unshift(middleware);
33
+ if (!isMemberOfOrg) {
34
+ // Если пользователь не является членом организации, ограничиваем доступ к опубликованным ресурсам
35
+ req.query.status = 'published';
36
+ } else {
37
+ // Пользователь является членом организации, проверяем его права доступа
27
38
 
28
- nextMiddleware = middleware;
29
- }
39
+ // Находим все департаменты данной организации, к которым относится пользователь
40
+ const departments = await Department.find({ organization: ownerOrgId });
30
41
 
31
- // Запускам цепочку зарегестрированных посредников
32
- return (rule, entity) => instances[0].check(rule, entity);
42
+ // Проверяем доступ пользователя ко всем ресурсам
43
+ let hasAccess = false;
44
+
45
+ for (const department of departments) {
46
+ const accessRights = department.accesses[resource];
47
+ if (accessRights && accessRights.read) {
48
+ // Если хотя бы в одном департаменте есть права на чтение ресурса, разрешаем доступ
49
+ hasAccess = true;
50
+ break;
51
+ }
52
+ }
53
+
54
+ if (!hasAccess) {
55
+ // Если у пользователя нет прав на чтение данного ресурса ни в одном департаменте, ограничиваем доступ к опубликованным ресурсам
56
+ req.query.status = 'published';
57
+ }
58
+ }
59
+
60
+ next();
61
+ } catch (err) {
62
+ console.error('Access control error:', err);
63
+ return res.status(403).json({ error: 'Access denied' });
64
+ }
65
+ };
66
+ };
67
+
68
+ // Middleware для проверки доступа
69
+ const verifyModify = (action, resource) => {
70
+ return async (req, res, next) => {
71
+ try {
72
+ const user = req.userId;
73
+
74
+ const department = await Department.findOne({
75
+ owner: organizationId
76
+ });
77
+
78
+ if (!department) {
79
+ return res.status(403).json({
80
+ message: "Access forbidden"
81
+ });
82
+ }
83
+
84
+ const accesses = department.accesses;
85
+
86
+ // Проверяем права доступа пользователя к ресурсу
87
+ const resourceAccess = accesses[resource];
88
+ if (!resourceAccess || !resourceAccess[action]) {
89
+ return res.status(403).json({
90
+ message: "Access forbidden"
91
+ });
92
+ }
93
+
94
+ next();
95
+ } catch (error) {
96
+ console.error("Access control error:", error);
97
+ return res.status(500).json({
98
+ message: "Internal server error"
99
+ });
100
+ }
101
+ };
102
+ };
103
+
104
+
105
+ return {
106
+ verifyRead,
107
+ };
33
108
  };
109
+
110
+ module.exports = middlewareFactory;
@@ -32,7 +32,7 @@
32
32
  <ul>
33
33
  <li v-if="department.members.length < 1">No members in department</li>
34
34
  <User
35
- class="pd-small br-solid br-1px br-black-transp-5 radius-small mn-b-thin"
35
+ class="h-4r pd-small br-solid br-1px br-black-transp-5 radius-small mn-b-thin"
36
36
  v-for="(member, index) in department.members"
37
37
  :key="index"
38
38
  :user="member.user"
@@ -54,7 +54,7 @@
54
54
  class="cols-1 gap-thin mn-b-thin"
55
55
  >
56
56
  <CardUser
57
- class="bg-white pd-thin radius-medium w-100"
57
+ class="h-4r bg-white pd-thin radius-medium w-100"
58
58
  v-for="(member, index) in departments.state.department.members"
59
59
  :key="index"
60
60
  :user="member.user"
@@ -110,7 +110,7 @@
110
110
  globals.actions.add(departments.state.department.members, { _id: user.user._id, user: user.user, position: 'Member'})
111
111
  closeMemberPopup();
112
112
  }"
113
- class="bg-white pd-thin radius-medium w-100 mn-b-thin"
113
+ class="h-4r bg-white pd-thin radius-medium w-100 mn-b-thin"
114
114
  />
115
115
  </Feed>
116
116
  </Popup>
@@ -139,6 +139,28 @@
139
139
  <p class="p-medium mn-b-small">Please select organization accesses for user in department:</p>
140
140
 
141
141
  <div class="cols-1 gap-thin">
142
+ <h4>Gallery</h4>
143
+ <Checkbox
144
+ label="Read gallery"
145
+ name="readProducts"
146
+ class="w-100 mn-r-small bg-white radius-small pd-small"
147
+ :radio="departments.state.department.accesses.gallery.read"
148
+ @update:radio="updated => (departments.state.department.accesses.gallery.read = !departments.state.department.accesses.gallery.read)"
149
+ />
150
+ <Checkbox
151
+ label="Edit gallery"
152
+ name="editProducts"
153
+ class="w-100 mn-r-small bg-white radius-small pd-small"
154
+ :radio="departments.state.department.accesses.gallery.edit"
155
+ @update:radio="updated => (departments.state.department.accesses.gallery.edit = !departments.state.department.accesses.gallery.edit)"
156
+ />
157
+ <Checkbox
158
+ label="Delete gallery"
159
+ name="deleteProducts"
160
+ class="w-100 bg-white radius-small pd-small"
161
+ :radio="departments.state.department.accesses.gallery.delete"
162
+ @update:radio="updated => (departments.state.department.accesses.gallery.delete = !departments.state.department.accesses.gallery.delete)"
163
+ />
142
164
  <h4>Products</h4>
143
165
  <Checkbox
144
166
  label="Read products"
@@ -151,7 +151,7 @@
151
151
  },
152
152
  method: () => removeInvite(index, invite)
153
153
  }"
154
- class="w-100 bg-light radius-big flex-nowrap flex pd-medium"
154
+ class="h-4r w-100 bg-light radius-big flex-nowrap flex pd-medium"
155
155
  />
156
156
  </Feed>
157
157
  </div>
@@ -28,6 +28,48 @@ module.exports = (mongoose) => {
28
28
  },
29
29
 
30
30
  accesses: {
31
+ members: {
32
+ read: {
33
+ type: Boolean,
34
+ default: false,
35
+ },
36
+ edit: {
37
+ type: Boolean,
38
+ default: false,
39
+ },
40
+ delete: {
41
+ type: Boolean,
42
+ default: false,
43
+ },
44
+ },
45
+ gallery: {
46
+ read: {
47
+ type: Boolean,
48
+ default: false,
49
+ },
50
+ edit: {
51
+ type: Boolean,
52
+ default: false,
53
+ },
54
+ delete: {
55
+ type: Boolean,
56
+ default: false,
57
+ },
58
+ },
59
+ leftovers: {
60
+ read: {
61
+ type: Boolean,
62
+ default: false,
63
+ },
64
+ edit: {
65
+ type: Boolean,
66
+ default: false,
67
+ },
68
+ delete: {
69
+ type: Boolean,
70
+ default: false,
71
+ },
72
+ },
31
73
  products: {
32
74
  read: {
33
75
  type: Boolean,
@@ -42,7 +84,6 @@ module.exports = (mongoose) => {
42
84
  default: false,
43
85
  },
44
86
  },
45
-
46
87
  orders: {
47
88
  read: {
48
89
  type: Boolean,
@@ -57,7 +98,6 @@ module.exports = (mongoose) => {
57
98
  default: false,
58
99
  },
59
100
  },
60
-
61
101
  departments: {
62
102
  read: {
63
103
  type: Boolean,
@@ -1,19 +1,12 @@
1
1
  // Factories
2
2
  const controllerFactory = require("../controllers/departments.controller")
3
- // Middlewares
4
- const accessMiddlewaresFactory = require('@pf/src/modules/middlewares/server/verifyAccesses')
5
-
6
3
  // Routes
7
4
  module.exports = function(app, db) {
8
5
  const controller = controllerFactory(db)
9
- const verifyAccesses = accessMiddlewaresFactory(db)
10
-
6
+
11
7
  // Get organization departments by _id
12
8
  app.get(
13
9
  "/api/departments/read",
14
- // [
15
- // verifyAccesses('read', 'departments'),
16
- // ],
17
10
  controller.read
18
11
  );
19
12
 
@@ -34,6 +34,11 @@ const state = reactive({
34
34
  // Accesses
35
35
  hidden: false,
36
36
  accesses: {
37
+ gallery: {
38
+ read: false,
39
+ edit: false,
40
+ delete: false,
41
+ },
37
42
  products: {
38
43
  read: false,
39
44
  edit: false,