@ozdao/martyrs 0.2.586 → 0.2.588
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/dist/auth.server.js +14 -1
- package/dist/chats.server.js +1 -1
- package/dist/community.server.js +1 -1
- package/dist/core.server.js +24 -25
- package/dist/events.server.js +1 -1
- package/dist/files.server.js +1 -1
- package/dist/gallery.server.js +1 -1
- package/dist/inventory.server.js +1 -1
- package/dist/marketplace.server.js +1 -1
- package/dist/martyrs/src/components/Select/{Select.vue.js → Select.vue2.js} +2 -2
- package/dist/martyrs/src/components/Select/Select.vue2.js.map +1 -0
- package/dist/martyrs/src/components/Tab/{Tab.vue2.js → Tab.vue.js} +2 -2
- package/dist/martyrs/src/components/Tab/Tab.vue.js.map +1 -0
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/pages/404.vue.js +10 -33
- package/dist/martyrs/src/modules/core/views/components/pages/404.vue.js.map +1 -1
- package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +1 -1
- package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
- package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
- package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
- package/dist/notifications.server.js +1 -1
- package/dist/orders.server.js +1 -1
- package/dist/organizations.server.js +1 -1
- package/dist/pages.server.js +1 -1
- package/dist/products.server.js +1 -1
- package/dist/rents.server.js +1 -1
- package/dist/reports.server.js +1 -1
- package/dist/spots.server.js +1 -1
- package/dist/style.css +2 -2
- package/dist/wallet.server.js +1 -1
- package/package.json +23 -18
- package/src/modules/auth/auth.server.js +15 -1
- package/src/modules/chats/chats.server.js +1 -1
- package/src/modules/community/community.server.js +1 -1
- package/src/modules/core/core.server.js +4 -31
- package/src/modules/core/models/log.model.js +24 -0
- package/src/modules/core/views/components/pages/404.vue +2 -3
- package/src/modules/events/events.server.js +1 -1
- package/src/modules/files/files.server.js +1 -1
- package/src/modules/gallery/gallery.server.js +1 -1
- package/src/modules/governance/governance.server.js +1 -1
- package/src/modules/icons/icons.server.js +1 -1
- package/src/modules/inventory/inventory.server.js +1 -1
- package/src/modules/marketplace/marketplace.server.js +1 -1
- package/src/modules/notifications/notifications.server.js +1 -1
- package/src/modules/orders/orders.server.js +1 -1
- package/src/modules/organizations/organizations.server.js +1 -1
- package/src/modules/pages/pages.server.js +1 -1
- package/src/modules/products/products.server.js +1 -1
- package/src/modules/rents/rents.server.js +1 -1
- package/src/modules/reports/reports.server.js +1 -1
- package/src/modules/spots/spots.server.js +1 -1
- package/src/modules/wallet/wallet.server.js +1 -1
- package/dist/martyrs/src/components/Select/Select.vue.js.map +0 -1
- package/dist/martyrs/src/components/Tab/Tab.vue2.js.map +0 -1
- package/src/cli/commands/create.js +0 -106
- package/src/cli/index.js +0 -25
- package/src/cli/templates/app/.env.development.mustache +0 -14
- package/src/cli/templates/app/.env.production.mustache +0 -14
- package/src/cli/templates/app/Dockerfile +0 -36
- package/src/cli/templates/app/babel.config.js +0 -14
- package/src/cli/templates/app/env.js +0 -3
- package/src/cli/templates/app/index.js +0 -46
- package/src/cli/templates/app/mongodb.config.js +0 -18
- package/src/cli/templates/app/package.json.mustache +0 -65
- package/src/cli/templates/app/src/client.js +0 -22
- package/src/cli/templates/app/src/components/pages/Index.vue +0 -11
- package/src/cli/templates/app/src/configs/global.config.js.mustache +0 -40
- package/src/cli/templates/app/src/localization/extensions.js +0 -2
- package/src/cli/templates/app/src/localization/index.js +0 -44
- package/src/cli/templates/app/src/localization/overrides.js +0 -2
- package/src/cli/templates/app/src/localization/translations.js +0 -10
- package/src/cli/templates/app/src/models/index.js +0 -9
- package/src/cli/templates/app/src/router/index.js +0 -48
- package/src/cli/templates/app/src/scss/theme.scss +0 -18
- package/src/cli/templates/app/src/server.js +0 -68
- package/src/cli/templates/app/src/store/index.js +0 -9
- package/src/cli/templates/docker-compose.yaml.mustache +0 -47
- package/src/cli/templates/nginx/Dockerfile +0 -5
- package/src/cli/templates/nginx/default.conf.mustache +0 -55
- package/src/cli/templates/public/favicon/.gitkeep +0 -0
- package/src/cli/templates/start-dev.sh.mustache +0 -131
- package/src/cli/templates/start-prod.sh.mustache +0 -12
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ref, onMounted, createElementBlock, createCommentVNode, unref, openBlock, createBlock, createElementVNode, withCtx, createVNode, toDisplayString, createTextVNode, isRef, withModifiers, Fragment, renderList } from "vue";
|
|
2
2
|
import { useRoute, useRouter } from "vue-router";
|
|
3
3
|
import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
|
|
4
|
-
import _sfc_main$3 from "../../../../components/Tab/Tab.
|
|
4
|
+
import _sfc_main$3 from "../../../../components/Tab/Tab.vue.js";
|
|
5
5
|
import Field from "../../../../components/Field/Field.vue.js";
|
|
6
|
-
import Select from "../../../../components/Select/Select.
|
|
6
|
+
import Select from "../../../../components/Select/Select.vue2.js";
|
|
7
7
|
import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
|
|
8
8
|
import _sfc_main$4 from "../../../../components/EditImages/EditImages.vue.js";
|
|
9
9
|
import BlockMultiselect from "../../../core/views/components/blocks/BlockMultiselect.vue.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, computed, onMounted, onUnmounted, resolveComponent, createElementBlock, openBlock, createCommentVNode, createElementVNode, createVNode, unref, toDisplayString, Fragment, renderList, createTextVNode, createBlock, withCtx, normalizeClass, renderSlot } from "vue";
|
|
2
2
|
import { useRoute, useRouter } from "vue-router";
|
|
3
3
|
import { useGlobalMixins } from "../../../core/views/mixins/mixins.js";
|
|
4
|
-
/* empty css
|
|
4
|
+
/* empty css */
|
|
5
5
|
import _sfc_main$5 from "../../../../components/Feed/Feed.vue.js";
|
|
6
6
|
import _sfc_main$2 from "../../../../components/Spoiler/Spoiler.vue.js";
|
|
7
7
|
import _sfc_main$3 from "../../../../components/Checkbox/Checkbox.vue.js";
|
|
@@ -3,7 +3,7 @@ import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
|
|
|
3
3
|
import Field from "../../../../components/Field/Field.vue.js";
|
|
4
4
|
import _sfc_main$5 from "../../../../components/Button/Button.vue.js";
|
|
5
5
|
import _sfc_main$4 from "../../../../components/Popup/Popup.vue.js";
|
|
6
|
-
import Select from "../../../../components/Select/Select.
|
|
6
|
+
import Select from "../../../../components/Select/Select.vue2.js";
|
|
7
7
|
import _sfc_main$2 from "../../../icons/navigation/IconEdit.vue.js";
|
|
8
8
|
import _sfc_main$3 from "../../../icons/navigation/IconDelete.vue.js";
|
|
9
9
|
const _hoisted_1 = {
|
|
@@ -7,7 +7,7 @@ import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
|
|
|
7
7
|
import Field from "../../../../components/Field/Field.vue.js";
|
|
8
8
|
import _sfc_main$3 from "../../../../components/Button/Button.vue.js";
|
|
9
9
|
import _sfc_main$7 from "../../../../components/Popup/Popup.vue.js";
|
|
10
|
-
import Select from "../../../../components/Select/Select.
|
|
10
|
+
import Select from "../../../../components/Select/Select.vue2.js";
|
|
11
11
|
import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
|
|
12
12
|
import _sfc_main$9 from "../../../../components/EditImages/EditImages.vue.js";
|
|
13
13
|
import _sfc_main$8 from "./EditIngredients.vue.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed, ref, createElementBlock, openBlock, createElementVNode, createBlock, createCommentVNode, createVNode, unref, toDisplayString, Transition, withCtx, Fragment, renderList, createTextVNode } from "vue";
|
|
2
2
|
import _sfc_main$4 from "../../../../components/Button/Button.vue.js";
|
|
3
|
-
import _sfc_main$3 from "../../../../components/Tab/Tab.
|
|
3
|
+
import _sfc_main$3 from "../../../../components/Tab/Tab.vue.js";
|
|
4
4
|
import _sfc_main$1 from "../../../icons/navigation/IconEdit.vue.js";
|
|
5
5
|
import PlaceholderImage from "../../../icons/placeholders/PlaceholderImage.vue.js";
|
|
6
6
|
import Image360 from "../elements/Image360.vue.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { computed, ref, watch, createElementBlock, openBlock, createElementVNode, createVNode, withCtx, createTextVNode } from "vue";
|
|
2
2
|
import dayjs from "../../../../../../../../_virtual/dayjs.min.js";
|
|
3
|
-
import _sfc_main$2 from "../../../../../../components/Tab/Tab.
|
|
3
|
+
import _sfc_main$2 from "../../../../../../components/Tab/Tab.vue.js";
|
|
4
4
|
import _sfc_main$3 from "../../../../../../components/Button/Button.vue.js";
|
|
5
5
|
import _sfc_main$4 from "../../../../../../components/Dropdown/Dropdown.vue.js";
|
|
6
6
|
import Calendar from "../../../../../../components/Calendar/Calendar.vue2.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, computed, createElementBlock, openBlock, createElementVNode, createVNode, unref, toDisplayString, withCtx } from "vue";
|
|
2
2
|
import dayjs from "../../../../../../../_virtual/dayjs.min.js";
|
|
3
|
-
/* empty css
|
|
3
|
+
/* empty css */
|
|
4
4
|
import _sfc_main$1 from "../../../../../components/Feed/Feed.vue.js";
|
|
5
5
|
/* empty css */
|
|
6
6
|
import _sfc_main$2 from "./Gant/GanttChart.vue.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { reactive, ref, createElementBlock, openBlock, renderSlot, createVNode, withCtx, createElementVNode, createTextVNode } from "vue";
|
|
2
2
|
import _sfc_main$1 from "../../../../components/Popup/Popup.vue.js";
|
|
3
3
|
import _sfc_main$2 from "../../../../components/Button/Button.vue.js";
|
|
4
|
-
import Select from "../../../../components/Select/Select.
|
|
4
|
+
import Select from "../../../../components/Select/Select.vue2.js";
|
|
5
5
|
import { actions } from "../../store/reports.js";
|
|
6
6
|
const _sfc_main = {
|
|
7
7
|
__name: "FormReport",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, computed, resolveComponent, createElementBlock, openBlock, createElementVNode, createCommentVNode, createBlock, toDisplayString } from "vue";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
-
/* empty css
|
|
4
|
+
/* empty css */
|
|
5
5
|
/* empty css */
|
|
6
6
|
const _hoisted_1 = { class: "br-grey-transp-25 radius-small mn-b-small" };
|
|
7
7
|
const _hoisted_2 = {
|
|
@@ -2,9 +2,9 @@ import { ref, onMounted, createElementBlock, createCommentVNode, openBlock, crea
|
|
|
2
2
|
import { useRouter, useRoute } from "vue-router";
|
|
3
3
|
import _sfc_main$1 from "../../../../components/Block/Block.vue.js";
|
|
4
4
|
import UploadImage from "../../../../components/UploadImage/UploadImage.vue.js";
|
|
5
|
-
/* empty css
|
|
5
|
+
/* empty css */
|
|
6
6
|
import Field from "../../../../components/Field/Field.vue.js";
|
|
7
|
-
import Select from "../../../../components/Select/Select.
|
|
7
|
+
import Select from "../../../../components/Select/Select.vue2.js";
|
|
8
8
|
import _sfc_main$3 from "../../../../components/Checkbox/Checkbox.vue.js";
|
|
9
9
|
import _sfc_main$4 from "../../../../components/Address/Address.vue.js";
|
|
10
10
|
import _sfc_main$5 from "../../../../components/LocationMarker/LocationMarker.vue.js";
|
|
@@ -2,7 +2,7 @@ import { mergeModels, useModel, ref, computed, onMounted, createElementBlock, op
|
|
|
2
2
|
import { useI18n } from "vue-i18n";
|
|
3
3
|
import _sfc_main$1 from "../../../../components/Button/Button.vue.js";
|
|
4
4
|
import Field from "../../../../components/Field/Field.vue.js";
|
|
5
|
-
import Select from "../../../../components/Select/Select.
|
|
5
|
+
import Select from "../../../../components/Select/Select.vue2.js";
|
|
6
6
|
import _sfc_main$3 from "../../../../components/Checkbox/Checkbox.vue.js";
|
|
7
7
|
import _sfc_main$2 from "../../../../components/Popup/Popup.vue.js";
|
|
8
8
|
/* empty css */
|
|
@@ -760,7 +760,7 @@ const NotificationService = (function(db, wss) {
|
|
|
760
760
|
sendToAnonymousDevices
|
|
761
761
|
};
|
|
762
762
|
});
|
|
763
|
-
function initializeNotifications(app, db, wss, origins, publicPath) {
|
|
763
|
+
function initializeNotifications({ app, db, wss, origins, publicPath }) {
|
|
764
764
|
db.notification = NotificationModel(db);
|
|
765
765
|
db.userDevice = UserDeviceModel(db);
|
|
766
766
|
db.notificationPreference = NotificationPreferenceModel(db);
|
package/dist/orders.server.js
CHANGED
|
@@ -1247,7 +1247,7 @@ function setupCustomersRoutes(app, db) {
|
|
|
1247
1247
|
});
|
|
1248
1248
|
return customersCRUD;
|
|
1249
1249
|
}
|
|
1250
|
-
function initializeOrders(app, db, origins, publicPath) {
|
|
1250
|
+
function initializeOrders({ app, db, origins, publicPath }) {
|
|
1251
1251
|
db.order = ModelOrder(db);
|
|
1252
1252
|
db.customer = ModelCustomer(db);
|
|
1253
1253
|
db.testimonial = ModelTestimonial(db);
|
|
@@ -1320,7 +1320,7 @@ const initOrganizationPolicies = (function initializeOrganizationPolicies(abacAc
|
|
|
1320
1320
|
return abacAccessControl;
|
|
1321
1321
|
});
|
|
1322
1322
|
const { getInstance } = coreabac;
|
|
1323
|
-
function initializeOrganization(app, db, origins, publicPath) {
|
|
1323
|
+
function initializeOrganization({ app, db, origins, publicPath }) {
|
|
1324
1324
|
db.department = DepartmentModel(db);
|
|
1325
1325
|
db.organization = OrganizationModel(db);
|
|
1326
1326
|
db.membership = MembershipModel(db);
|
package/dist/pages.server.js
CHANGED
|
@@ -112,7 +112,7 @@ const ModelPage = (db) => {
|
|
|
112
112
|
const Page = db.mongoose.model("Page", PageSchema);
|
|
113
113
|
return Page;
|
|
114
114
|
};
|
|
115
|
-
function initializePages(app, db, origins, publicPath) {
|
|
115
|
+
function initializePages({ app, db, origins, publicPath }) {
|
|
116
116
|
db.page = ModelPage(db);
|
|
117
117
|
if (app) {
|
|
118
118
|
RoutesPage(app, db);
|
package/dist/products.server.js
CHANGED
|
@@ -1513,7 +1513,7 @@ function setupVariantsRoutes(app, db) {
|
|
|
1513
1513
|
});
|
|
1514
1514
|
return variantsCRUD;
|
|
1515
1515
|
}
|
|
1516
|
-
function initializeProduct(app, db, origins, publicPath) {
|
|
1516
|
+
function initializeProduct({ app, db, origins, publicPath }) {
|
|
1517
1517
|
db.product = ProductModel(db);
|
|
1518
1518
|
db.variant = VariantModel(db);
|
|
1519
1519
|
db.category = CategoryModel(db);
|
package/dist/rents.server.js
CHANGED
|
@@ -482,7 +482,7 @@ const RentModel = (db, additionalFields = {}) => {
|
|
|
482
482
|
});
|
|
483
483
|
return db.mongoose.model("Rent", RentSchema);
|
|
484
484
|
};
|
|
485
|
-
function initializeRenting(app, db, origins, publicPath, options = {}) {
|
|
485
|
+
function initializeRenting({ app, db, origins, publicPath, options = {} }) {
|
|
486
486
|
const { rentFields = {} } = options;
|
|
487
487
|
db.rent = RentModel(db, rentFields);
|
|
488
488
|
if (app) {
|
package/dist/reports.server.js
CHANGED
|
@@ -103,7 +103,7 @@ const reportsRoutes = (function(app, db, origins) {
|
|
|
103
103
|
app.post("/reports", controller.update);
|
|
104
104
|
app.post("/reports", controller.delete);
|
|
105
105
|
});
|
|
106
|
-
function initializeReports(app, db, origins, publicPath) {
|
|
106
|
+
function initializeReports({ app, db, origins, publicPath }) {
|
|
107
107
|
db.report = ReportModel(db);
|
|
108
108
|
if (app) {
|
|
109
109
|
reportsRoutes(app, db);
|
package/dist/spots.server.js
CHANGED
|
@@ -301,7 +301,7 @@ const RoutesSpot = (function(app, db) {
|
|
|
301
301
|
app.post("/api/spots/:_id/update", controller.update);
|
|
302
302
|
app.delete("/api/spots/:_id/delete", controller.delete);
|
|
303
303
|
});
|
|
304
|
-
function initializeSpots(app, db, origins, publicPath) {
|
|
304
|
+
function initializeSpots({ app, db, origins, publicPath }) {
|
|
305
305
|
db.spot = ModelSpot(db);
|
|
306
306
|
if (app) {
|
|
307
307
|
RoutesSpot(app, db);
|
package/dist/style.css
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
@charset "UTF-8";
|
|
2
|
-
input[data-v-
|
|
2
|
+
input[data-v-8c38488f] { border: none; outline: none;
|
|
3
3
|
}
|
|
4
|
-
input[data-v-
|
|
4
|
+
input[data-v-8c38488f]::placeholder { color: rgba(var(--dark), 0.4);
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
.help-card[data-v-cdb417ab] {
|
package/dist/wallet.server.js
CHANGED
|
@@ -193,7 +193,7 @@ const ModelPayment = (db) => {
|
|
|
193
193
|
const Payment = db.mongoose.model("Payment", PaymentSchema);
|
|
194
194
|
return Payment;
|
|
195
195
|
};
|
|
196
|
-
function initializePayments(app, db, wss, origins, publicPath) {
|
|
196
|
+
function initializePayments({ app, db, wss, origins, publicPath }) {
|
|
197
197
|
db.payment = ModelPayment(db);
|
|
198
198
|
if (app) {
|
|
199
199
|
RoutesPayments(app, db, origins, publicPath);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ozdao/martyrs",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.588",
|
|
4
4
|
"description": "Fullstack framework focused on user experience and ease of development.",
|
|
5
5
|
"author": "OZ DAO <hello@ozdao.dev>",
|
|
6
6
|
"license": "GPL-3.0-or-later",
|
|
@@ -15,9 +15,6 @@
|
|
|
15
15
|
"vue3",
|
|
16
16
|
"express"
|
|
17
17
|
],
|
|
18
|
-
"bin": {
|
|
19
|
-
"martyrs": "./src/cli/index.js"
|
|
20
|
-
},
|
|
21
18
|
"type": "module",
|
|
22
19
|
"sideEffects": [
|
|
23
20
|
"*.css",
|
|
@@ -75,48 +72,56 @@
|
|
|
75
72
|
"build:builder:rspack": "rspack --config rspack.builder.config.js"
|
|
76
73
|
},
|
|
77
74
|
"dependencies": {
|
|
75
|
+
"@aaroon/workbox-rspack-plugin": "0.3.2",
|
|
78
76
|
"@capacitor/core": "7.4.4",
|
|
79
|
-
"commander": "12.1.0",
|
|
80
77
|
"@capacitor/preferences": "7.0.2",
|
|
81
78
|
"@googlemaps/google-maps-services-js": "3.4.0",
|
|
79
|
+
"@rsdoctor/rspack-plugin": "0.4.13",
|
|
80
|
+
"@rspack/core": "1.5.3",
|
|
82
81
|
"@vitejs/plugin-vue": "6.0.1",
|
|
82
|
+
"bcryptjs": "2.4.3",
|
|
83
|
+
"beasties": "0.3.5",
|
|
83
84
|
"bignumber.js": "9.1.2",
|
|
85
|
+
"chalk": "5.4.1",
|
|
86
|
+
"clean-webpack-plugin": "4.0.0",
|
|
87
|
+
"commander": "12.1.0",
|
|
84
88
|
"config": "3.3.12",
|
|
89
|
+
"connect-history-api-fallback": "2.0.0",
|
|
90
|
+
"dotenv-webpack": "8.1.0",
|
|
85
91
|
"isomorphic-dompurify": "2.22.0",
|
|
92
|
+
"jsonwebtoken": "9.0.2",
|
|
86
93
|
"jwk-to-pem": "2.0.7",
|
|
87
94
|
"libphonenumber-js": "1.12.4",
|
|
88
95
|
"mongoose": "8.12.0",
|
|
89
96
|
"multer": "1.4.5-lts.1",
|
|
97
|
+
"mustache": "4.2.0",
|
|
90
98
|
"node-polyfill-webpack-plugin": "4.1.0",
|
|
91
99
|
"nodemailer": "6.10.0",
|
|
92
100
|
"openai": "4.86.1",
|
|
101
|
+
"rspack-manifest-plugin": "5.0.3",
|
|
93
102
|
"sharp": "0.33.5",
|
|
94
103
|
"uuidv4": "6.2.13",
|
|
95
104
|
"vite": "7.1.9",
|
|
96
105
|
"vue": "3.5.13",
|
|
97
106
|
"vue-i18n": "11.1.1",
|
|
98
|
-
"vue-
|
|
107
|
+
"vue-loader": "17.4.2",
|
|
108
|
+
"vue-router": "4.5.0",
|
|
109
|
+
"webpack": "5.98.0",
|
|
110
|
+
"webpack-bundle-analyzer": "4.10.2",
|
|
111
|
+
"webpack-dev-middleware": "7.4.2",
|
|
112
|
+
"webpack-merge": "6.0.1",
|
|
113
|
+
"webpack-node-externals": "3.0.0",
|
|
114
|
+
"webpack-stats-plugin": "1.1.3"
|
|
99
115
|
},
|
|
100
116
|
"devDependencies": {
|
|
101
|
-
"@aaroon/workbox-rspack-plugin": "0.3.2",
|
|
102
117
|
"@rollup/plugin-commonjs": "28.0.3",
|
|
103
|
-
"@rsdoctor/rspack-plugin": "0.4.13",
|
|
104
118
|
"@rspack/cli": "1.5.3",
|
|
105
|
-
"@rspack/core": "1.5.3",
|
|
106
|
-
"connect-history-api-fallback": "2.0.0",
|
|
107
119
|
"css-minimizer-webpack-plugin": "7.0.0",
|
|
108
|
-
"dotenv-webpack": "8.1.0",
|
|
109
|
-
"mustache": "4.2.0",
|
|
110
120
|
"null-loader": "4.0.1",
|
|
111
121
|
"postcss-import": "16.1.0",
|
|
112
122
|
"postcss-url": "10.1.3",
|
|
113
123
|
"rimraf": "6.0.1",
|
|
114
|
-
"sass": "1.85.1"
|
|
115
|
-
"webpack": "5.98.0",
|
|
116
|
-
"webpack-dev-middleware": "7.4.2",
|
|
117
|
-
"webpack-merge": "6.0.1",
|
|
118
|
-
"webpack-node-externals": "3.0.0",
|
|
119
|
-
"webpack-stats-plugin": "1.1.3"
|
|
124
|
+
"sass": "1.85.1"
|
|
120
125
|
},
|
|
121
126
|
"bugs": {
|
|
122
127
|
"url": "https://github.com/oz-digital/martyrs/issues"
|
|
@@ -7,7 +7,7 @@ import RoleModel from './models/role.model.js';
|
|
|
7
7
|
import UserModel from './models/user.model.js';
|
|
8
8
|
import OtpModel from './models/otp.model.js';
|
|
9
9
|
|
|
10
|
-
function initializeAuth(app, db, origins, publicPath) {
|
|
10
|
+
function initializeAuth({ app, db, origins, publicPath, wss }) {
|
|
11
11
|
db.role = RoleModel(db);
|
|
12
12
|
db.user = UserModel(db);
|
|
13
13
|
db.otp = OtpModel(db);
|
|
@@ -16,6 +16,20 @@ function initializeAuth(app, db, origins, publicPath) {
|
|
|
16
16
|
authRoutes(app, db, origins, publicPath);
|
|
17
17
|
usersRoutes(app, db, origins, publicPath);
|
|
18
18
|
}
|
|
19
|
+
|
|
20
|
+
if (wss) {
|
|
21
|
+
wss.registerRpcMethod('auth', 'getOnlineStatus', async ({ userId }) => {
|
|
22
|
+
if (!userId) return { isOnline: false, lastSeenAt: null };
|
|
23
|
+
const isOnline = wss.userConnections.has(userId.toString());
|
|
24
|
+
if (isOnline) return { isOnline: true, lastSeenAt: new Date() };
|
|
25
|
+
const session = await db.session.findOne(
|
|
26
|
+
{ target: new db.mongoose.Types.ObjectId(userId), isActive: true },
|
|
27
|
+
{ lastSeenAt: 1 },
|
|
28
|
+
{ sort: { lastSeenAt: -1 } }
|
|
29
|
+
).lean();
|
|
30
|
+
return { isOnline: false, lastSeenAt: session?.lastSeenAt || null };
|
|
31
|
+
}, { requireAuth: false });
|
|
32
|
+
}
|
|
19
33
|
}
|
|
20
34
|
export const models = {
|
|
21
35
|
RoleModel,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import ChatsController from './controllers/chats.controller.js';
|
|
2
2
|
import ChatModel from './models/chat.model.js';
|
|
3
3
|
import chatsRoutes from './routes/chats.routes.js';
|
|
4
|
-
function initializeChats(app, db, wss, origins, publicPath) {
|
|
4
|
+
function initializeChats({ app, db, wss, origins, publicPath }) {
|
|
5
5
|
// Настраиваем модели в объекте базы данных
|
|
6
6
|
db.chat = ChatModel(db);
|
|
7
7
|
// Настраиваем маршруты, если объект приложения передан
|
|
@@ -9,7 +9,7 @@ import commentsRoutes from './routes/comments.routes.js';
|
|
|
9
9
|
import reactionsRoutes from './routes/reactions.routes.js';
|
|
10
10
|
import coreabac from '@martyrs/src/modules/core/controllers/classes/abac/abac.js';
|
|
11
11
|
import initBlogPolicies from './policies/blog.policies.js';
|
|
12
|
-
function initializeCommunity(app, db, origins, publicPath) {
|
|
12
|
+
function initializeCommunity({ app, db, origins, publicPath }) {
|
|
13
13
|
// Настраиваем модели в объекте базы данных
|
|
14
14
|
db.blogpost = BlogpostModel(db);
|
|
15
15
|
db.comment = CommentModel(db);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import coreabac from './controllers/classes/abac/abac.js';
|
|
2
2
|
import initCorePolicies from './controllers/policies/core.policies.js';
|
|
3
3
|
|
|
4
|
+
import LogModel from './models/log.model.js';
|
|
4
5
|
import SessionModel from './models/session.model.js';
|
|
5
6
|
import VisitorModel from './models/visitor.model.js';
|
|
6
7
|
import RequestModel from './models/request.model.js';
|
|
@@ -28,23 +29,9 @@ async function createWebSocketManager(...args) {
|
|
|
28
29
|
// Для обратной совместимости экспортируем как WebSocketManager
|
|
29
30
|
const WebSocketManager = createWebSocketManager;
|
|
30
31
|
|
|
31
|
-
function initializeCore(app, db, origins, publicPath, wss
|
|
32
|
-
//
|
|
33
|
-
db.log =
|
|
34
|
-
db.mongoose.models.Log ||
|
|
35
|
-
db.mongoose.model(
|
|
36
|
-
'Log',
|
|
37
|
-
new db.mongoose.Schema(
|
|
38
|
-
{
|
|
39
|
-
timestamp: { type: Date, default: Date.now },
|
|
40
|
-
level: String,
|
|
41
|
-
message: String,
|
|
42
|
-
},
|
|
43
|
-
{ versionKey: false }
|
|
44
|
-
)
|
|
45
|
-
);
|
|
46
|
-
|
|
47
|
-
// Session, Visitor, Request models
|
|
32
|
+
function initializeCore({ app, db, origins, publicPath, wss }) {
|
|
33
|
+
// Models
|
|
34
|
+
db.log = LogModel(db);
|
|
48
35
|
db.session = SessionModel(db);
|
|
49
36
|
db.visitor = VisitorModel(db);
|
|
50
37
|
db.request = RequestModel(db);
|
|
@@ -64,20 +51,6 @@ function initializeCore(app, db, origins, publicPath, wss = null) {
|
|
|
64
51
|
app.use(visitorLogger);
|
|
65
52
|
}
|
|
66
53
|
|
|
67
|
-
// WebSocket RPC methods
|
|
68
|
-
if (wss) {
|
|
69
|
-
wss.registerRpcMethod('core', 'getOnlineStatus', async ({ userId }) => {
|
|
70
|
-
if (!userId) return { isOnline: false, lastSeenAt: null };
|
|
71
|
-
const isOnline = wss.userConnections.has(userId.toString());
|
|
72
|
-
if (isOnline) return { isOnline: true, lastSeenAt: new Date() };
|
|
73
|
-
const session = await db.session.findOne(
|
|
74
|
-
{ target: new db.mongoose.Types.ObjectId(userId), isActive: true },
|
|
75
|
-
{ lastSeenAt: 1 },
|
|
76
|
-
{ sort: { lastSeenAt: -1 } }
|
|
77
|
-
).lean();
|
|
78
|
-
return { isOnline: false, lastSeenAt: session?.lastSeenAt || null };
|
|
79
|
-
}, { requireAuth: false });
|
|
80
|
-
}
|
|
81
54
|
}
|
|
82
55
|
export { WebSocketManager, initializeCore as initialize };
|
|
83
56
|
export default {
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export default db => {
|
|
2
|
+
const LogSchema = new db.mongoose.Schema(
|
|
3
|
+
{
|
|
4
|
+
level: {
|
|
5
|
+
type: String,
|
|
6
|
+
required: true,
|
|
7
|
+
},
|
|
8
|
+
message: {
|
|
9
|
+
type: String,
|
|
10
|
+
required: true,
|
|
11
|
+
},
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
timestamps: true,
|
|
15
|
+
versionKey: false,
|
|
16
|
+
}
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
LogSchema.index({ level: 1 });
|
|
20
|
+
LogSchema.index({ createdAt: -1 });
|
|
21
|
+
|
|
22
|
+
const Log = db.mongoose.models.Log || db.mongoose.model('Log', LogSchema);
|
|
23
|
+
return Log;
|
|
24
|
+
};
|
|
@@ -14,7 +14,6 @@ const goBack = () => window.history.length > 1 ? router.back() : router.push('/'
|
|
|
14
14
|
<div class="bg-light w-100 h-100 flex flex-h-center flex-column radius-big pd-medium">
|
|
15
15
|
|
|
16
16
|
<div class="flex flex-v-center gap-thin pd-thin radius-big bg-main w-fit mn-b-medium">
|
|
17
|
-
<span class="i-medium radius-big bg-grey"></span>
|
|
18
17
|
<span class="p-small">Error 404</span>
|
|
19
18
|
</div>
|
|
20
19
|
|
|
@@ -35,7 +34,7 @@ const goBack = () => window.history.length > 1 ? router.back() : router.push('/'
|
|
|
35
34
|
</button>
|
|
36
35
|
</div>
|
|
37
36
|
|
|
38
|
-
<div class="pd-t-medium w-max-25r">
|
|
37
|
+
<!-- <div class="pd-t-medium w-max-25r">
|
|
39
38
|
<span class="p-micro t-transp t-upper t-500 ls-wide d-block mn-b-small">Search Documentation</span>
|
|
40
39
|
<div class="field-wrapper bg-white flex flex-v-center radius-small pd-small gap-small">
|
|
41
40
|
<IconSearch class="i-small t-transp" />
|
|
@@ -45,7 +44,7 @@ const goBack = () => window.history.length > 1 ? router.back() : router.push('/'
|
|
|
45
44
|
<a href="#" class="flex flex-v-center gap-micro p-small t-transp"><IconInfo class="i-small" /> Help Center</a>
|
|
46
45
|
<a href="#" class="p-small t-transp">API Status</a>
|
|
47
46
|
</div>
|
|
48
|
-
</div>
|
|
47
|
+
</div> -->
|
|
49
48
|
|
|
50
49
|
</div>
|
|
51
50
|
</div>
|
|
@@ -4,7 +4,7 @@ import createEventModel from './models/event.model.js';
|
|
|
4
4
|
import createTicketModel from './models/ticket.model.js';
|
|
5
5
|
import eventsRoutes from './routes/events.routes.js';
|
|
6
6
|
import ticketsRoutes from './routes/tickets.routes.js';
|
|
7
|
-
function initializeEvent(app, db, origins, publicPath, options = {}) {
|
|
7
|
+
function initializeEvent({ app, db, origins, publicPath, options = {} }) {
|
|
8
8
|
console.log('initializeEvent publicPath:', publicPath);
|
|
9
9
|
// Получаем дополнительные поля для моделей из options
|
|
10
10
|
const { eventFields = {}, ticketFields = {} } = options;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import filesController from './controllers/files.controller.js';
|
|
2
2
|
import filesRoutes from './routes/files.routes.js';
|
|
3
|
-
function initializeFiles(app, db, origins, publicPath) {
|
|
3
|
+
function initializeFiles({ app, db, origins, publicPath }) {
|
|
4
4
|
// Настраиваем маршруты, если объект приложения передан
|
|
5
5
|
if (app) {
|
|
6
6
|
filesRoutes(app, db, origins, publicPath);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import GalleryController from './controllers/gallery.controller.js';
|
|
2
2
|
import PhotoModel from './models/photo.model.js';
|
|
3
3
|
import galleryRoutes from './routes/gallery.routes.js';
|
|
4
|
-
function initializeGallery(app, db, origins, publicPath) {
|
|
4
|
+
function initializeGallery({ app, db, origins, publicPath }) {
|
|
5
5
|
// Настраиваем модели в объекте базы данных
|
|
6
6
|
db.photo = PhotoModel(db);
|
|
7
7
|
// Настраиваем маршруты, если объект приложения передан
|
|
@@ -8,7 +8,7 @@ import ModelMilestone from './models/milestone.model.js';
|
|
|
8
8
|
import ModelTask from './models/task.model.js';
|
|
9
9
|
import ModelVote from './models/vote.model.js';
|
|
10
10
|
import ModelVoting from './models/voting.model.js';
|
|
11
|
-
function initializeGovernance(app, db, origins, publicPath) {
|
|
11
|
+
function initializeGovernance({ app, db, origins, publicPath }) {
|
|
12
12
|
// Setup models in the database object
|
|
13
13
|
db.initiative = ModelInitiative(db);
|
|
14
14
|
db.milestone = ModelMilestone(db);
|
|
@@ -271,7 +271,7 @@ export async function saveIconToDisk(iconId, category, iconName, mode = 'add', c
|
|
|
271
271
|
}
|
|
272
272
|
|
|
273
273
|
// Module initialization
|
|
274
|
-
function initializeIcons(app, db, origins, publicPath, options = {}) {
|
|
274
|
+
function initializeIcons({ app, db, origins, publicPath, options = {} }) {
|
|
275
275
|
console.log('initializeIcons publicPath:', publicPath);
|
|
276
276
|
|
|
277
277
|
// Setup routes if app object is provided
|
|
@@ -7,7 +7,7 @@ import inventoryRoutes from './routes/inventory.routes.js';
|
|
|
7
7
|
import inventoryPolicies from './policies/inventory.policies.js';
|
|
8
8
|
import availabilityServiceFactory from './services/availability.service.js';
|
|
9
9
|
|
|
10
|
-
function initializeInventory(app, db, origins, publicPath) {
|
|
10
|
+
function initializeInventory({ app, db, origins, publicPath }) {
|
|
11
11
|
// Регистрация моделей
|
|
12
12
|
db.stockAdjustment = StockAdjustmentModel(db);
|
|
13
13
|
db.stockAvailability = StockAvailabilityModel(db);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import marketplaceRoutes from './routes/marketplace.routes.js';
|
|
2
2
|
|
|
3
|
-
function initializeMarketplace(app, db, origins, publicPath) {
|
|
3
|
+
function initializeMarketplace({ app, db, origins, publicPath }) {
|
|
4
4
|
// Marketplace использует существующие модели (Spot, StockAvailability, Variant, Product, Organization)
|
|
5
5
|
// Модели уже зарегистрированы в spots, inventory, products, organizations модулях
|
|
6
6
|
|
|
@@ -6,7 +6,7 @@ import UserDeviceModel from './models/user-device.model.js';
|
|
|
6
6
|
import notificationsRoutes from './routes/notifications.routes.js';
|
|
7
7
|
import NotificationService from './services/notification.service.js';
|
|
8
8
|
|
|
9
|
-
function initializeNotifications(app, db, wss, origins, publicPath) {
|
|
9
|
+
function initializeNotifications({ app, db, wss, origins, publicPath }) {
|
|
10
10
|
// Set up models in the database object
|
|
11
11
|
db.notification = NotificationModel(db);
|
|
12
12
|
db.userDevice = UserDeviceModel(db);
|
|
@@ -6,7 +6,7 @@ import ModelTestimonial from './models/testimonial.model.js';
|
|
|
6
6
|
import RoutesApplications from './routes/applications.routes.js';
|
|
7
7
|
import RoutesOrder from './routes/orders.routes.js';
|
|
8
8
|
import RoutesCustomers from './routes/customers.routes.js';
|
|
9
|
-
function initializeOrders(app, db, origins, publicPath) {
|
|
9
|
+
function initializeOrders({ app, db, origins, publicPath }) {
|
|
10
10
|
// Setup models in the database object
|
|
11
11
|
db.order = ModelOrder(db);
|
|
12
12
|
db.customer = ModelCustomer(db);
|
|
@@ -20,7 +20,7 @@ import initOrganizationPolicies from './policies/organizations.policies.js';
|
|
|
20
20
|
|
|
21
21
|
const { getInstance } = coreabac;
|
|
22
22
|
|
|
23
|
-
function initializeOrganization(app, db, origins, publicPath) {
|
|
23
|
+
function initializeOrganization({ app, db, origins, publicPath }) {
|
|
24
24
|
// Настраиваем модели в объекте базы данных
|
|
25
25
|
db.department = DepartmentModel(db);
|
|
26
26
|
db.organization = OrganizationModel(db);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import FactoryPage from './controllers/factories/pages.factory.js';
|
|
2
2
|
import RoutesPage from './controllers/routes/pages.routes.js';
|
|
3
3
|
import ModelPage from './models/page.model.js';
|
|
4
|
-
function initializePages(app, db, origins, publicPath) {
|
|
4
|
+
function initializePages({ app, db, origins, publicPath }) {
|
|
5
5
|
// Setup models in the database object
|
|
6
6
|
db.page = ModelPage(db);
|
|
7
7
|
// Setup routes if the app object is provided
|
|
@@ -6,7 +6,7 @@ import VariantModel from './models/variant.model.js';
|
|
|
6
6
|
import categoriesRoutes from './routes/categories.routes.js';
|
|
7
7
|
import productsRoutes from './routes/products.routes.js';
|
|
8
8
|
import variantsRoutes from './routes/variants.routes.js';
|
|
9
|
-
function initializeProduct(app, db, origins, publicPath) {
|
|
9
|
+
function initializeProduct({ app, db, origins, publicPath }) {
|
|
10
10
|
// Настраиваем модели в объекте базы данных
|
|
11
11
|
db.product = ProductModel(db);
|
|
12
12
|
db.variant = VariantModel(db);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import RentRoutes from './controllers/routes/rents.routes.js';
|
|
2
2
|
import RentServices from './controllers/services/rents.services.js';
|
|
3
3
|
import RentModel from './models/rent.model.js';
|
|
4
|
-
function initializeRenting(app, db, origins, publicPath, options = {}) {
|
|
4
|
+
function initializeRenting({ app, db, origins, publicPath, options = {} }) {
|
|
5
5
|
// Получаем дополнительные поля для модели из options
|
|
6
6
|
const { rentFields = {} } = options;
|
|
7
7
|
// Инициализируем модель с дополнительными полями
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import ReportsController from './controllers/reports.controller.js';
|
|
2
2
|
import ReportModel from './models/report.model.js';
|
|
3
3
|
import reportsRoutes from './routes/reports.routes.js';
|
|
4
|
-
function initializeReports(app, db, origins, publicPath) {
|
|
4
|
+
function initializeReports({ app, db, origins, publicPath }) {
|
|
5
5
|
// Настраиваем модели в объекте базы данных
|
|
6
6
|
db.report = ReportModel(db);
|
|
7
7
|
// Настраиваем маршруты, если объект приложения передан
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import FactorySpot from './controllers/spots.controller.js';
|
|
2
2
|
import ModelSpot from './models/spot.model.js';
|
|
3
3
|
import RoutesSpot from './routes/spots.routes.js';
|
|
4
|
-
function initializeSpots(app, db, origins, publicPath) {
|
|
4
|
+
function initializeSpots({ app, db, origins, publicPath }) {
|
|
5
5
|
// Setup models in the database object
|
|
6
6
|
db.spot = ModelSpot(db);
|
|
7
7
|
// Setup routes if the app object is provided
|