modelence 0.7.2 → 0.9.0-dev.0
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/app/authConfig.d.ts +68 -0
- package/dist/app/authConfig.d.ts.map +1 -0
- package/dist/app/authConfig.js +8 -0
- package/dist/app/authConfig.js.map +1 -0
- package/dist/app/backendApi.d.ts +29 -0
- package/dist/app/backendApi.d.ts.map +1 -0
- package/dist/app/backendApi.js +69 -0
- package/dist/app/backendApi.js.map +1 -0
- package/dist/app/email.d.ts +3 -0
- package/dist/app/email.d.ts.map +1 -0
- package/dist/app/email.js +8 -0
- package/dist/app/email.js.map +1 -0
- package/dist/app/emailConfig.d.ts +27 -0
- package/dist/app/emailConfig.d.ts.map +1 -0
- package/dist/app/emailConfig.js +8 -0
- package/dist/app/emailConfig.js.map +1 -0
- package/dist/app/index.d.ts +20 -0
- package/dist/app/index.d.ts.map +1 -0
- package/dist/app/index.js +258 -0
- package/dist/app/index.js.map +1 -0
- package/dist/app/loggerProcess.d.ts +5 -0
- package/dist/app/loggerProcess.d.ts.map +1 -0
- package/dist/app/loggerProcess.js +90 -0
- package/dist/app/loggerProcess.js.map +1 -0
- package/dist/app/metrics.d.ts +6 -0
- package/dist/app/metrics.d.ts.map +1 -0
- package/dist/app/metrics.js +92 -0
- package/dist/app/metrics.js.map +1 -0
- package/dist/app/module.d.ts +77 -0
- package/dist/app/module.d.ts.map +1 -0
- package/dist/app/module.js +46 -0
- package/dist/app/module.js.map +1 -0
- package/dist/app/server.d.ts +37 -0
- package/dist/app/server.d.ts.map +1 -0
- package/dist/app/server.js +198 -0
- package/dist/app/server.js.map +1 -0
- package/dist/app/state.d.ts +19 -0
- package/dist/app/state.d.ts.map +1 -0
- package/dist/app/state.js +27 -0
- package/dist/app/state.js.map +1 -0
- package/dist/app/websocketConfig.d.ts +7 -0
- package/dist/app/websocketConfig.d.ts.map +1 -0
- package/dist/app/websocketConfig.js +8 -0
- package/dist/app/websocketConfig.js.map +1 -0
- package/dist/auth/client/index.d.ts +69 -0
- package/dist/auth/client/index.d.ts.map +1 -0
- package/dist/auth/client/index.js +79 -0
- package/dist/auth/client/index.js.map +1 -0
- package/dist/auth/db.d.ts +176 -0
- package/dist/auth/db.d.ts.map +1 -0
- package/dist/auth/db.js +117 -0
- package/dist/auth/db.js.map +1 -0
- package/dist/auth/deleteUser.d.ts +5 -0
- package/dist/auth/deleteUser.d.ts.map +1 -0
- package/dist/auth/deleteUser.js +34 -0
- package/dist/auth/deleteUser.js.map +1 -0
- package/dist/auth/disposableEmails.d.ts +6 -0
- package/dist/auth/disposableEmails.d.ts.map +1 -0
- package/dist/auth/disposableEmails.js +47 -0
- package/dist/auth/disposableEmails.js.map +1 -0
- package/dist/auth/index.d.ts +7 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +33 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/login.d.ts +9 -0
- package/dist/auth/login.d.ts.map +1 -0
- package/dist/auth/login.js +100 -0
- package/dist/auth/login.js.map +1 -0
- package/dist/auth/password.d.ts +14 -0
- package/dist/auth/password.d.ts.map +1 -0
- package/dist/auth/password.js +26 -0
- package/dist/auth/password.js.map +1 -0
- package/dist/auth/profile.d.ts +10 -0
- package/dist/auth/profile.d.ts.map +1 -0
- package/dist/auth/profile.js +13 -0
- package/dist/auth/profile.js.map +1 -0
- package/dist/auth/providers/github.d.ts +3 -0
- package/dist/auth/providers/github.d.ts.map +1 -0
- package/dist/auth/providers/github.js +122 -0
- package/dist/auth/providers/github.js.map +1 -0
- package/dist/auth/providers/google.d.ts +3 -0
- package/dist/auth/providers/google.d.ts.map +1 -0
- package/dist/auth/providers/google.js +108 -0
- package/dist/auth/providers/google.js.map +1 -0
- package/dist/auth/providers/oauth-common.d.ts +13 -0
- package/dist/auth/providers/oauth-common.d.ts.map +1 -0
- package/dist/auth/providers/oauth-common.js +109 -0
- package/dist/auth/providers/oauth-common.js.map +1 -0
- package/dist/auth/resetPassword.d.ts +10 -0
- package/dist/auth/resetPassword.d.ts.map +1 -0
- package/dist/auth/resetPassword.js +108 -0
- package/dist/auth/resetPassword.js.map +1 -0
- package/dist/auth/role.d.ts +8 -0
- package/dist/auth/role.d.ts.map +1 -0
- package/dist/auth/role.js +37 -0
- package/dist/auth/role.js.map +1 -0
- package/dist/auth/session.d.ts +24 -0
- package/dist/auth/session.d.ts.map +1 -0
- package/dist/auth/session.js +84 -0
- package/dist/auth/session.js.map +1 -0
- package/dist/auth/signup.d.ts +3 -0
- package/dist/auth/signup.d.ts.map +1 -0
- package/dist/auth/signup.js +89 -0
- package/dist/auth/signup.js.map +1 -0
- package/dist/auth/templates/emailVerficationTemplate.d.ts +6 -0
- package/dist/auth/templates/emailVerficationTemplate.d.ts.map +1 -0
- package/dist/auth/templates/emailVerficationTemplate.js +9 -0
- package/dist/auth/templates/emailVerficationTemplate.js.map +1 -0
- package/dist/auth/types.d.ts +22 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +2 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/auth/user.d.ts +5 -0
- package/dist/auth/user.d.ts.map +1 -0
- package/dist/auth/user.js +152 -0
- package/dist/auth/user.js.map +1 -0
- package/dist/auth/validators.d.ts +3 -0
- package/dist/auth/validators.d.ts.map +1 -0
- package/dist/auth/validators.js +8 -0
- package/dist/auth/validators.js.map +1 -0
- package/dist/auth/verification.d.ts +8 -0
- package/dist/auth/verification.d.ts.map +1 -0
- package/dist/auth/verification.js +94 -0
- package/dist/auth/verification.js.map +1 -0
- package/dist/bin/auth.d.ts +4 -0
- package/dist/bin/auth.d.ts.map +1 -0
- package/dist/bin/auth.js +48 -0
- package/dist/bin/auth.js.map +1 -0
- package/dist/bin/build.d.ts +2 -0
- package/dist/bin/build.d.ts.map +1 -0
- package/dist/bin/build.js +78 -0
- package/dist/bin/build.js.map +1 -0
- package/dist/bin/config.d.ts +11 -0
- package/dist/bin/config.d.ts.map +1 -0
- package/dist/bin/config.js +91 -0
- package/dist/bin/config.js.map +1 -0
- package/dist/bin/deploy.d.ts +6 -0
- package/dist/bin/deploy.d.ts.map +1 -0
- package/dist/bin/deploy.js +129 -0
- package/dist/bin/deploy.js.map +1 -0
- package/dist/bin/dev.d.ts +2 -0
- package/dist/bin/dev.d.ts.map +1 -0
- package/dist/bin/dev.js +14 -0
- package/dist/bin/dev.js.map +1 -0
- package/dist/bin/modelence.d.ts +3 -0
- package/dist/bin/modelence.d.ts.map +1 -0
- package/dist/bin/modelence.js +57 -3
- package/dist/bin/modelence.js.map +1 -1
- package/dist/bin/setup.d.ts +5 -0
- package/dist/bin/setup.d.ts.map +1 -0
- package/dist/bin/setup.js +91 -0
- package/dist/bin/setup.js.map +1 -0
- package/dist/bin/start.d.ts +2 -0
- package/dist/bin/start.d.ts.map +1 -0
- package/dist/bin/start.js +15 -0
- package/dist/bin/start.js.map +1 -0
- package/dist/client/AppProvider.d.ts +8 -0
- package/dist/client/AppProvider.d.ts.map +1 -0
- package/dist/client/AppProvider.js +31 -0
- package/dist/client/AppProvider.js.map +1 -0
- package/dist/client/errorHandler.d.ts +4 -0
- package/dist/client/errorHandler.d.ts.map +1 -0
- package/dist/client/errorHandler.js +10 -0
- package/dist/client/errorHandler.js.map +1 -0
- package/dist/client/localStorage.d.ts +3 -0
- package/dist/client/localStorage.d.ts.map +1 -0
- package/dist/client/localStorage.js +14 -0
- package/dist/client/localStorage.js.map +1 -0
- package/dist/client/method.d.ts +6 -0
- package/dist/client/method.d.ts.map +1 -0
- package/dist/client/method.js +52 -0
- package/dist/client/method.js.map +1 -0
- package/dist/client/renderApp.d.ts +9 -0
- package/dist/client/renderApp.d.ts.map +1 -0
- package/dist/client/renderApp.js +28 -0
- package/dist/client/renderApp.js.map +1 -0
- package/dist/client/session.d.ts +34 -0
- package/dist/client/session.d.ts.map +1 -0
- package/dist/client/session.js +83 -0
- package/dist/client/session.js.map +1 -0
- package/dist/client.d.ts +10 -133
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +14 -1
- package/dist/client.js.map +1 -1
- package/dist/config/client.d.ts +10 -0
- package/dist/config/client.d.ts.map +1 -0
- package/dist/config/client.js +14 -0
- package/dist/config/client.js.map +1 -0
- package/dist/config/server.d.ts +48 -0
- package/dist/config/server.d.ts.map +1 -0
- package/dist/config/server.js +85 -0
- package/dist/config/server.js.map +1 -0
- package/dist/config/sync.d.ts +2 -0
- package/dist/config/sync.d.ts.map +1 -0
- package/dist/config/sync.js +32 -0
- package/dist/config/sync.js.map +1 -0
- package/dist/config/types.d.ts +19 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +2 -0
- package/dist/config/types.js.map +1 -0
- package/dist/cron/jobs.d.ts +13 -0
- package/dist/cron/jobs.d.ts.map +1 -0
- package/dist/cron/jobs.js +155 -0
- package/dist/cron/jobs.js.map +1 -0
- package/dist/cron/types.d.ts +29 -0
- package/dist/cron/types.d.ts.map +1 -0
- package/dist/cron/types.js +2 -0
- package/dist/cron/types.js.map +1 -0
- package/dist/data/schemaSerializer.d.ts +37 -0
- package/dist/data/schemaSerializer.d.ts.map +1 -0
- package/dist/data/schemaSerializer.js +104 -0
- package/dist/data/schemaSerializer.js.map +1 -0
- package/dist/{types-WgRbQ-tj.d.ts → data/store.d.ts} +13 -231
- package/dist/data/store.d.ts.map +1 -0
- package/dist/data/store.js +501 -0
- package/dist/data/store.js.map +1 -0
- package/dist/data/types.d.ts +47 -0
- package/dist/data/types.d.ts.map +1 -0
- package/dist/data/types.js +35 -0
- package/dist/data/types.js.map +1 -0
- package/dist/db/client.d.ts +5 -0
- package/dist/db/client.d.ts.map +1 -0
- package/dist/db/client.js +41 -0
- package/dist/db/client.js.map +1 -0
- package/dist/error.d.ts +16 -0
- package/dist/error.d.ts.map +1 -0
- package/dist/error.js +24 -0
- package/dist/error.js.map +1 -0
- package/dist/index.d.ts +6 -31
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lock/db.d.ts +19 -0
- package/dist/lock/db.d.ts.map +1 -0
- package/dist/lock/db.js +28 -0
- package/dist/lock/db.js.map +1 -0
- package/dist/lock/helpers.d.ts +28 -0
- package/dist/lock/helpers.d.ts.map +1 -0
- package/dist/lock/helpers.js +107 -0
- package/dist/lock/helpers.js.map +1 -0
- package/dist/lock/index.d.ts +4 -0
- package/dist/lock/index.d.ts.map +1 -0
- package/dist/lock/index.js +4 -0
- package/dist/lock/index.js.map +1 -0
- package/dist/lock/module.d.ts +7 -0
- package/dist/lock/module.d.ts.map +1 -0
- package/dist/lock/module.js +9 -0
- package/dist/lock/module.js.map +1 -0
- package/dist/methods/index.d.ts +7 -0
- package/dist/methods/index.d.ts.map +1 -0
- package/dist/methods/index.js +65 -0
- package/dist/methods/index.js.map +1 -0
- package/dist/methods/serialize.d.ts +15 -0
- package/dist/methods/serialize.d.ts.map +1 -0
- package/dist/methods/serialize.js +56 -0
- package/dist/methods/serialize.js.map +1 -0
- package/dist/methods/types.d.ts +37 -0
- package/dist/methods/types.d.ts.map +1 -0
- package/dist/methods/types.js +2 -0
- package/dist/methods/types.js.map +1 -0
- package/dist/migration/db.d.ts +17 -0
- package/dist/migration/db.d.ts.map +1 -0
- package/dist/migration/db.js +13 -0
- package/dist/migration/db.js.map +1 -0
- package/dist/migration/index.d.ts +11 -0
- package/dist/migration/index.d.ts.map +1 -0
- package/dist/migration/index.js +85 -0
- package/dist/migration/index.js.map +1 -0
- package/dist/mongo.d.ts +2 -3
- package/dist/mongo.d.ts.map +1 -0
- package/dist/mongo.js +2 -1
- package/dist/mongo.js.map +1 -1
- package/dist/rate-limit/db.d.ts +29 -0
- package/dist/rate-limit/db.d.ts.map +1 -0
- package/dist/rate-limit/db.js +25 -0
- package/dist/rate-limit/db.js.map +1 -0
- package/dist/rate-limit/index.d.ts +4 -0
- package/dist/rate-limit/index.d.ts.map +1 -0
- package/dist/rate-limit/index.js +6 -0
- package/dist/rate-limit/index.js.map +1 -0
- package/dist/rate-limit/rules.d.ts +22 -0
- package/dist/rate-limit/rules.d.ts.map +1 -0
- package/dist/rate-limit/rules.js +112 -0
- package/dist/rate-limit/rules.js.map +1 -0
- package/dist/rate-limit/types.d.ts +12 -0
- package/dist/rate-limit/types.d.ts.map +1 -0
- package/dist/rate-limit/types.js +2 -0
- package/dist/rate-limit/types.js.map +1 -0
- package/dist/routes/handler.d.ts +4 -0
- package/dist/routes/handler.d.ts.map +1 -0
- package/dist/routes/handler.js +66 -0
- package/dist/routes/handler.js.map +1 -0
- package/dist/routes/types.d.ts +45 -0
- package/dist/routes/types.d.ts.map +1 -0
- package/dist/routes/types.js +2 -0
- package/dist/routes/types.js.map +1 -0
- package/dist/server.d.ts +19 -551
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +15 -18
- package/dist/server.js.map +1 -1
- package/dist/system/index.d.ts +4 -0
- package/dist/system/index.d.ts.map +1 -0
- package/dist/system/index.js +21 -0
- package/dist/system/index.js.map +1 -0
- package/dist/telemetry/index.d.ts +11 -0
- package/dist/telemetry/index.d.ts.map +1 -0
- package/dist/telemetry/index.js +79 -0
- package/dist/telemetry/index.js.map +1 -0
- package/dist/telemetry.d.ts +2 -11
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +1 -1
- package/dist/telemetry.js.map +1 -1
- package/dist/time.d.ts +8 -0
- package/dist/time.d.ts.map +1 -0
- package/dist/time.js +13 -0
- package/dist/time.js.map +1 -0
- package/dist/types/email.d.ts +25 -0
- package/dist/types/email.d.ts.map +1 -0
- package/dist/types/email.js +2 -0
- package/dist/types/email.js.map +1 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types.d.ts +10 -7
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +15 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/viteServer.d.ts +13 -0
- package/dist/viteServer.d.ts.map +1 -0
- package/dist/viteServer.js +132 -0
- package/dist/viteServer.js.map +1 -0
- package/dist/websocket/client.d.ts +9 -0
- package/dist/websocket/client.d.ts.map +1 -0
- package/dist/websocket/client.js +16 -0
- package/dist/websocket/client.js.map +1 -0
- package/dist/websocket/clientChannel.d.ts +9 -0
- package/dist/websocket/clientChannel.d.ts.map +1 -0
- package/dist/websocket/clientChannel.js +26 -0
- package/dist/websocket/clientChannel.js.map +1 -0
- package/dist/websocket/serverChannel.d.ts +14 -0
- package/dist/websocket/serverChannel.d.ts.map +1 -0
- package/dist/websocket/serverChannel.js +21 -0
- package/dist/websocket/serverChannel.js.map +1 -0
- package/dist/websocket/socketio/client.d.ts +4 -0
- package/dist/websocket/socketio/client.d.ts.map +1 -0
- package/dist/websocket/socketio/client.js +48 -0
- package/dist/websocket/socketio/client.js.map +1 -0
- package/dist/websocket/socketio/server.d.ts +10 -0
- package/dist/websocket/socketio/server.d.ts.map +1 -0
- package/dist/websocket/socketio/server.js +80 -0
- package/dist/websocket/socketio/server.js.map +1 -0
- package/dist/websocket/types.d.ts +45 -0
- package/dist/websocket/types.d.ts.map +1 -0
- package/dist/websocket/types.js +2 -0
- package/dist/websocket/types.js.map +1 -0
- package/package.json +5 -6
- package/dist/chunk-3S2FFBNS.js +0 -2
- package/dist/chunk-3S2FFBNS.js.map +0 -1
- package/dist/chunk-55J6XMHW.js +0 -2
- package/dist/chunk-55J6XMHW.js.map +0 -1
- package/dist/chunk-C3UESBRX.js +0 -2
- package/dist/chunk-C3UESBRX.js.map +0 -1
- package/dist/chunk-DO5TZLF5.js +0 -2
- package/dist/chunk-DO5TZLF5.js.map +0 -1
- package/dist/chunk-KUL6YKKP.js +0 -3
- package/dist/chunk-KUL6YKKP.js.map +0 -1
- package/dist/chunk-PB6WQQ4L.js +0 -3
- package/dist/chunk-PB6WQQ4L.js.map +0 -1
- package/dist/index-CwdohC5n.d.ts +0 -15
- package/dist/package-IIELPLTY.js +0 -2
- package/dist/package-IIELPLTY.js.map +0 -1
- package/dist/types-Ds1ESQSs.d.ts +0 -106
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { Session, User } from '../auth/types';
|
|
2
|
+
import { ConnectionInfo } from '../methods/types';
|
|
3
|
+
/**
|
|
4
|
+
* Callback options for authentication operations
|
|
5
|
+
*/
|
|
6
|
+
export type AuthOption = {
|
|
7
|
+
/** Callback executed when authentication succeeds */
|
|
8
|
+
onSuccess?: (user: User) => void;
|
|
9
|
+
/** Callback executed when authentication fails */
|
|
10
|
+
onError?: (error: Error) => void;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Authentication configuration for the application
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import { startApp } from 'modelence/server';
|
|
18
|
+
*
|
|
19
|
+
* startApp({
|
|
20
|
+
* auth: {
|
|
21
|
+
* onAfterLogin: ({ user }) => {
|
|
22
|
+
* console.log('User logged in:', user.name);
|
|
23
|
+
* // Redirect to dashboard
|
|
24
|
+
* },
|
|
25
|
+
* onLoginError: ({ error }) => {
|
|
26
|
+
* console.error('Login failed:', error.message);
|
|
27
|
+
* // Show error toast
|
|
28
|
+
* },
|
|
29
|
+
* onAfterSignup: ({ user }) => {
|
|
30
|
+
* console.log('User signed up:', user.email);
|
|
31
|
+
* // Send welcome email
|
|
32
|
+
* },
|
|
33
|
+
* onSignupError: ({ error }) => {
|
|
34
|
+
* console.error('Signup failed:', error.message);
|
|
35
|
+
* }
|
|
36
|
+
* }
|
|
37
|
+
* });
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export type AuthConfig = {
|
|
41
|
+
onAfterLogin?: (props: {
|
|
42
|
+
user: User;
|
|
43
|
+
session: Session | null;
|
|
44
|
+
connectionInfo: ConnectionInfo;
|
|
45
|
+
}) => void;
|
|
46
|
+
onLoginError?: (props: {
|
|
47
|
+
error: Error;
|
|
48
|
+
session: Session | null;
|
|
49
|
+
connectionInfo: ConnectionInfo;
|
|
50
|
+
}) => void;
|
|
51
|
+
onAfterSignup?: (props: {
|
|
52
|
+
user: User;
|
|
53
|
+
session: Session | null;
|
|
54
|
+
connectionInfo: ConnectionInfo;
|
|
55
|
+
}) => void;
|
|
56
|
+
onSignupError?: (props: {
|
|
57
|
+
error: Error;
|
|
58
|
+
session: Session | null;
|
|
59
|
+
connectionInfo: ConnectionInfo;
|
|
60
|
+
}) => void;
|
|
61
|
+
/** deprecated: use onAfterLogin and onLoginError */
|
|
62
|
+
login?: AuthOption;
|
|
63
|
+
/** deprecated: user onAfterSignup and onSignupError */
|
|
64
|
+
signup?: AuthOption;
|
|
65
|
+
};
|
|
66
|
+
export declare function setAuthConfig(newAuthConfig: AuthConfig): void;
|
|
67
|
+
export declare function getAuthConfig(): AuthConfig;
|
|
68
|
+
//# sourceMappingURL=authConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authConfig.d.ts","sourceRoot":"","sources":["../../src/app/authConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,qDAAqD;IACrD,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACjC,kDAAkD;IAClD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QACrB,IAAI,EAAE,IAAI,CAAC;QACX,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QACxB,cAAc,EAAE,cAAc,CAAC;KAChC,KAAK,IAAI,CAAC;IACX,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE;QACrB,KAAK,EAAE,KAAK,CAAC;QACb,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QACxB,cAAc,EAAE,cAAc,CAAC;KAChC,KAAK,IAAI,CAAC;IACX,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,IAAI,EAAE,IAAI,CAAC;QACX,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QACxB,cAAc,EAAE,cAAc,CAAC;KAChC,KAAK,IAAI,CAAC;IACX,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE;QACtB,KAAK,EAAE,KAAK,CAAC;QACb,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;QACxB,cAAc,EAAE,cAAc,CAAC;KAChC,KAAK,IAAI,CAAC;IAEX,oDAAoD;IACpD,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,uDAAuD;IACvD,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAIF,wBAAgB,aAAa,CAAC,aAAa,EAAE,UAAU,QAEtD;AAED,wBAAgB,aAAa,eAE5B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
let authConfig = Object.freeze({});
|
|
2
|
+
export function setAuthConfig(newAuthConfig) {
|
|
3
|
+
authConfig = Object.freeze(Object.assign({}, authConfig, newAuthConfig));
|
|
4
|
+
}
|
|
5
|
+
export function getAuthConfig() {
|
|
6
|
+
return authConfig;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=authConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authConfig.js","sourceRoot":"","sources":["../../src/app/authConfig.ts"],"names":[],"mappings":"AAqEA,IAAI,UAAU,GAAe,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE/C,MAAM,UAAU,aAAa,CAAC,aAAyB;IACrD,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ConfigSchema } from '../config/types';
|
|
2
|
+
import { CronJobMetadata } from '../cron/types';
|
|
3
|
+
import { Store } from '../data/store';
|
|
4
|
+
import { AppConfig } from '../config/types';
|
|
5
|
+
type CloudBackendConnectOkResponse = {
|
|
6
|
+
status: 'ok';
|
|
7
|
+
configs: AppConfig[];
|
|
8
|
+
environmentId: string;
|
|
9
|
+
appAlias: string;
|
|
10
|
+
environmentAlias: string;
|
|
11
|
+
telemetry: {
|
|
12
|
+
isEnabled: boolean;
|
|
13
|
+
serviceName: string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
type CloudBackendConnectErrorResponse = {
|
|
17
|
+
status: 'error';
|
|
18
|
+
error: string;
|
|
19
|
+
};
|
|
20
|
+
export type CloudBackendConnectResponse = CloudBackendConnectOkResponse | CloudBackendConnectErrorResponse;
|
|
21
|
+
export declare function connectCloudBackend({ configSchema, cronJobsMetadata, stores, }: {
|
|
22
|
+
configSchema?: ConfigSchema;
|
|
23
|
+
cronJobsMetadata?: CronJobMetadata[];
|
|
24
|
+
stores: Store<any, any>[];
|
|
25
|
+
}): Promise<CloudBackendConnectOkResponse>;
|
|
26
|
+
export declare function fetchConfigs(): Promise<any>;
|
|
27
|
+
export declare function syncStatus(): Promise<any>;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=backendApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backendApi.d.ts","sourceRoot":"","sources":["../../src/app/backendApi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,KAAK,6BAA6B,GAAG;IACnC,MAAM,EAAE,IAAI,CAAC;IACb,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE;QACT,SAAS,EAAE,OAAO,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH,CAAC;AAEF,KAAK,gCAAgC,GAAG;IACtC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,2BAA2B,GACnC,6BAA6B,GAC7B,gCAAgC,CAAC;AAErC,wBAAsB,mBAAmB,CAAC,EACxC,YAAY,EACZ,gBAAgB,EAChB,MAAM,GACP,EAAE;IACD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IAErC,MAAM,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;CAC3B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAmCzC;AAED,wBAAsB,YAAY,iBAGjC;AAED,wBAAsB,UAAU,iBAK/B"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import os from 'os';
|
|
2
|
+
export async function connectCloudBackend({ configSchema, cronJobsMetadata, stores, }) {
|
|
3
|
+
const containerId = process.env.MODELENCE_CONTAINER_ID;
|
|
4
|
+
if (!containerId) {
|
|
5
|
+
throw new Error('Unable to connect to Modelence Cloud: MODELENCE_CONTAINER_ID is not set');
|
|
6
|
+
}
|
|
7
|
+
try {
|
|
8
|
+
const dataModels = Object.values(stores).map((store) => {
|
|
9
|
+
return {
|
|
10
|
+
name: store.getName(),
|
|
11
|
+
schema: store.getSerializedSchema(),
|
|
12
|
+
collections: [store.getName()],
|
|
13
|
+
version: 2,
|
|
14
|
+
};
|
|
15
|
+
});
|
|
16
|
+
const data = await callApi('/api/connect', 'POST', {
|
|
17
|
+
hostname: os.hostname(),
|
|
18
|
+
containerId,
|
|
19
|
+
dataModels,
|
|
20
|
+
configSchema,
|
|
21
|
+
cronJobsMetadata,
|
|
22
|
+
});
|
|
23
|
+
if (data.status === 'error') {
|
|
24
|
+
throw new Error(data.error);
|
|
25
|
+
}
|
|
26
|
+
console.log('Successfully connected to Modelence Cloud');
|
|
27
|
+
return data;
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
console.error('Unable to connect to Modelence Cloud:', error);
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export async function fetchConfigs() {
|
|
35
|
+
const data = await callApi('/api/configs', 'GET');
|
|
36
|
+
return data;
|
|
37
|
+
}
|
|
38
|
+
export async function syncStatus() {
|
|
39
|
+
const data = await callApi('/api/sync', 'POST', {
|
|
40
|
+
containerId: process.env.MODELENCE_CONTAINER_ID,
|
|
41
|
+
});
|
|
42
|
+
return data;
|
|
43
|
+
}
|
|
44
|
+
async function callApi(endpoint, method, payload) {
|
|
45
|
+
const { MODELENCE_SERVICE_ENDPOINT, MODELENCE_SERVICE_TOKEN } = process.env;
|
|
46
|
+
if (!MODELENCE_SERVICE_ENDPOINT) {
|
|
47
|
+
throw new Error('Unable to connect to Modelence Cloud: MODELENCE_SERVICE_ENDPOINT is not set');
|
|
48
|
+
}
|
|
49
|
+
const response = await fetch(`${MODELENCE_SERVICE_ENDPOINT}${endpoint}`, {
|
|
50
|
+
method,
|
|
51
|
+
headers: {
|
|
52
|
+
Authorization: `Bearer ${MODELENCE_SERVICE_TOKEN}`,
|
|
53
|
+
...(payload ? { 'Content-Type': 'application/json' } : {}),
|
|
54
|
+
},
|
|
55
|
+
body: payload ? JSON.stringify(payload) : undefined,
|
|
56
|
+
});
|
|
57
|
+
if (!response.ok) {
|
|
58
|
+
const data = await response.text();
|
|
59
|
+
try {
|
|
60
|
+
const json = JSON.parse(data);
|
|
61
|
+
throw new Error(`Unable to connect to Modelence Cloud: HTTP status: ${response.status}, ${json?.error}`);
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
throw new Error(`Unable to connect to Modelence Cloud: HTTP status: ${response.status}, ${data}`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return await response.json();
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=backendApi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"backendApi.js","sourceRoot":"","sources":["../../src/app/backendApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/app/email.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,wBAAgB,SAAS,CAAC,OAAO,EAAE,YAAY,6BAO9C"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { getEmailConfig } from '../app/emailConfig';
|
|
2
|
+
export function sendEmail(payload) {
|
|
3
|
+
if (!getEmailConfig().provider) {
|
|
4
|
+
throw new Error('Email provider is not configured, see https://docs.modelence.com/email for more details.');
|
|
5
|
+
}
|
|
6
|
+
return getEmailConfig().provider?.sendEmail(payload);
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=email.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/app/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,MAAM,UAAU,SAAS,CAAC,OAAqB;IAC7C,IAAI,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,0FAA0F,CAC3F,CAAC;IACJ,CAAC;IACD,OAAO,cAAc,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { EmailProvider } from '../types';
|
|
2
|
+
export type EmailConfig = {
|
|
3
|
+
provider?: EmailProvider;
|
|
4
|
+
from?: string;
|
|
5
|
+
verification?: {
|
|
6
|
+
subject?: string;
|
|
7
|
+
template?: (props: {
|
|
8
|
+
name: string;
|
|
9
|
+
email: string;
|
|
10
|
+
verificationUrl: string;
|
|
11
|
+
}) => string;
|
|
12
|
+
redirectUrl?: string;
|
|
13
|
+
};
|
|
14
|
+
passwordReset?: {
|
|
15
|
+
subject?: string;
|
|
16
|
+
template?: (props: {
|
|
17
|
+
name: string;
|
|
18
|
+
email: string;
|
|
19
|
+
resetUrl: string;
|
|
20
|
+
}) => string;
|
|
21
|
+
redirectUrl?: string;
|
|
22
|
+
};
|
|
23
|
+
emailVerifiedRedirectUrl?: string;
|
|
24
|
+
};
|
|
25
|
+
export declare function setEmailConfig(newEmailConfig: EmailConfig): void;
|
|
26
|
+
export declare function getEmailConfig(): EmailConfig;
|
|
27
|
+
//# sourceMappingURL=emailConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emailConfig.d.ts","sourceRoot":"","sources":["../../src/app/emailConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,eAAe,EAAE,MAAM,CAAA;SAAE,KAAK,MAAM,CAAC;QACvF,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,KAAK,MAAM,CAAC;QAChF,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAIF,wBAAgB,cAAc,CAAC,cAAc,EAAE,WAAW,QAEzD;AAED,wBAAgB,cAAc,gBAE7B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
let emailConfig = Object.freeze({});
|
|
2
|
+
export function setEmailConfig(newEmailConfig) {
|
|
3
|
+
emailConfig = Object.freeze(Object.assign({}, emailConfig, newEmailConfig));
|
|
4
|
+
}
|
|
5
|
+
export function getEmailConfig() {
|
|
6
|
+
return emailConfig;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=emailConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emailConfig.js","sourceRoot":"","sources":["../../src/app/emailConfig.ts"],"names":[],"mappings":"AAmBA,IAAI,WAAW,GAAgB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEjD,MAAM,UAAU,cAAc,CAAC,cAA2B;IACxD,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { AppServer } from '../types';
|
|
2
|
+
import { RoleDefinition } from '../auth/types';
|
|
3
|
+
import { MigrationScript } from '../migration';
|
|
4
|
+
import { Module } from './module';
|
|
5
|
+
import { EmailConfig } from './emailConfig';
|
|
6
|
+
import { AuthConfig } from './authConfig';
|
|
7
|
+
import { WebsocketConfig } from './websocketConfig';
|
|
8
|
+
export type AppOptions = {
|
|
9
|
+
modules?: Module[];
|
|
10
|
+
server?: AppServer;
|
|
11
|
+
email?: EmailConfig;
|
|
12
|
+
auth?: AuthConfig;
|
|
13
|
+
roles?: Record<string, RoleDefinition>;
|
|
14
|
+
defaultRoles?: Record<string, string>;
|
|
15
|
+
migrations?: Array<MigrationScript>;
|
|
16
|
+
websocket?: WebsocketConfig;
|
|
17
|
+
shouldStartServer?: boolean;
|
|
18
|
+
};
|
|
19
|
+
export declare function startApp({ modules, roles, defaultRoles, server, migrations, email, auth, websocket, shouldStartServer, }: AppOptions): Promise<void>;
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAS/C,OAAO,EAAE,eAAe,EAA+C,MAAM,cAAc,CAAC;AAO5F,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,WAAW,EAAkB,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAiB,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,eAAe,EAAsB,MAAM,mBAAmB,CAAC;AAExE,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,CAAC;IACpC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,wBAAsB,QAAQ,CAAC,EAC7B,OAAY,EACZ,KAAU,EACV,YAAiB,EACjB,MAAkB,EAClB,UAAe,EACf,KAAU,EACV,IAAS,EACT,SAAc,EACd,iBAAyB,GAC1B,EAAE,UAAU,iBA+FZ"}
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import dotenv from 'dotenv';
|
|
2
|
+
import fs from 'fs/promises';
|
|
3
|
+
import os from 'os';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import socketioServer from '../websocket/socketio/server';
|
|
6
|
+
import { initRoles } from '../auth/role';
|
|
7
|
+
import sessionModule from '../auth/session';
|
|
8
|
+
import userModule from '../auth/user';
|
|
9
|
+
import { loadConfigs, setSchema } from '../config/server';
|
|
10
|
+
import { startConfigSync } from '../config/sync';
|
|
11
|
+
import cronModule, { defineCronJob, getCronJobsMetadata, startCronJobs } from '../cron/jobs';
|
|
12
|
+
import { connect, getClient, getMongodbUri } from '../db/client';
|
|
13
|
+
import { _createSystemMutation, _createSystemQuery, createMutation, createQuery } from '../methods';
|
|
14
|
+
import { default as migrationModule, startMigrations } from '../migration';
|
|
15
|
+
import rateLimitModule from '../rate-limit';
|
|
16
|
+
import { initRateLimits } from '../rate-limit/rules';
|
|
17
|
+
import systemModule from '../system';
|
|
18
|
+
import lockModule from '../lock';
|
|
19
|
+
import { connectCloudBackend } from './backendApi';
|
|
20
|
+
import { initMetrics } from './metrics';
|
|
21
|
+
import { startServer } from './server';
|
|
22
|
+
import { markAppStarted, setMetadata } from './state';
|
|
23
|
+
import { setEmailConfig } from './emailConfig';
|
|
24
|
+
import { setAuthConfig } from './authConfig';
|
|
25
|
+
import { setWebsocketConfig } from './websocketConfig';
|
|
26
|
+
export async function startApp({ modules = [], roles = {}, defaultRoles = {}, server = undefined, migrations = [], email = {}, auth = {}, websocket = {}, shouldStartServer = false, }) {
|
|
27
|
+
dotenv.config();
|
|
28
|
+
dotenv.config({ path: '.modelence.env' });
|
|
29
|
+
const hasRemoteBackend = Boolean(process.env.MODELENCE_SERVICE_ENDPOINT);
|
|
30
|
+
const isCronEnabled = process.env.MODELENCE_CRON_ENABLED === 'true';
|
|
31
|
+
trackAppStart()
|
|
32
|
+
.then(() => {
|
|
33
|
+
// Do nothing
|
|
34
|
+
})
|
|
35
|
+
.catch(() => {
|
|
36
|
+
// Silently ignore tracking errors to not disrupt app startup
|
|
37
|
+
});
|
|
38
|
+
// TODO: verify that user modules don't start with `_system.` prefix
|
|
39
|
+
const systemModules = [
|
|
40
|
+
userModule,
|
|
41
|
+
sessionModule,
|
|
42
|
+
cronModule,
|
|
43
|
+
migrationModule,
|
|
44
|
+
rateLimitModule,
|
|
45
|
+
systemModule,
|
|
46
|
+
lockModule,
|
|
47
|
+
];
|
|
48
|
+
const combinedModules = [...systemModules, ...modules];
|
|
49
|
+
markAppStarted();
|
|
50
|
+
initSystemMethods(systemModules);
|
|
51
|
+
initCustomMethods(modules);
|
|
52
|
+
initRoles(roles, defaultRoles);
|
|
53
|
+
const configSchema = getConfigSchema(combinedModules);
|
|
54
|
+
setSchema(configSchema);
|
|
55
|
+
const stores = getStores(combinedModules);
|
|
56
|
+
const channels = getChannels(combinedModules);
|
|
57
|
+
if (isCronEnabled) {
|
|
58
|
+
defineCronJobs(combinedModules);
|
|
59
|
+
}
|
|
60
|
+
const rateLimits = getRateLimits(combinedModules);
|
|
61
|
+
initRateLimits(rateLimits);
|
|
62
|
+
if (hasRemoteBackend) {
|
|
63
|
+
const { configs, environmentId, appAlias, environmentAlias, telemetry } = await connectCloudBackend({
|
|
64
|
+
configSchema,
|
|
65
|
+
cronJobsMetadata: isCronEnabled ? getCronJobsMetadata() : undefined,
|
|
66
|
+
stores,
|
|
67
|
+
});
|
|
68
|
+
loadConfigs(configs);
|
|
69
|
+
setMetadata({ environmentId, appAlias, environmentAlias, telemetry });
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
loadConfigs(getLocalConfigs(configSchema));
|
|
73
|
+
}
|
|
74
|
+
setEmailConfig(email);
|
|
75
|
+
setAuthConfig(auth);
|
|
76
|
+
setWebsocketConfig({
|
|
77
|
+
...websocket,
|
|
78
|
+
provider: websocket.provider || socketioServer,
|
|
79
|
+
});
|
|
80
|
+
const mongodbUri = getMongodbUri();
|
|
81
|
+
if (mongodbUri) {
|
|
82
|
+
await connect();
|
|
83
|
+
initStores(stores);
|
|
84
|
+
}
|
|
85
|
+
if (isCronEnabled) {
|
|
86
|
+
startMigrations(migrations);
|
|
87
|
+
}
|
|
88
|
+
if (mongodbUri) {
|
|
89
|
+
for (const store of stores) {
|
|
90
|
+
store.createIndexes();
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
if (hasRemoteBackend) {
|
|
94
|
+
await initMetrics();
|
|
95
|
+
startConfigSync();
|
|
96
|
+
}
|
|
97
|
+
if (isCronEnabled) {
|
|
98
|
+
startCronJobs().catch(console.error);
|
|
99
|
+
}
|
|
100
|
+
if (shouldStartServer && server) {
|
|
101
|
+
await startServer(server, { combinedModules, channels });
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
function initCustomMethods(modules) {
|
|
105
|
+
for (const module of modules) {
|
|
106
|
+
for (const [key, handler] of Object.entries(module.queries)) {
|
|
107
|
+
createQuery(`${module.name}.${key}`, handler);
|
|
108
|
+
}
|
|
109
|
+
for (const [key, handler] of Object.entries(module.mutations)) {
|
|
110
|
+
createMutation(`${module.name}.${key}`, handler);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
function initSystemMethods(modules) {
|
|
115
|
+
for (const module of modules) {
|
|
116
|
+
for (const [key, handler] of Object.entries(module.queries)) {
|
|
117
|
+
_createSystemQuery(`${module.name}.${key}`, handler);
|
|
118
|
+
}
|
|
119
|
+
for (const [key, handler] of Object.entries(module.mutations)) {
|
|
120
|
+
_createSystemMutation(`${module.name}.${key}`, handler);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
function getStores(modules) {
|
|
125
|
+
return modules.flatMap((module) => module.stores);
|
|
126
|
+
}
|
|
127
|
+
function getChannels(modules) {
|
|
128
|
+
return modules.flatMap((module) => module.channels);
|
|
129
|
+
}
|
|
130
|
+
function getRateLimits(modules) {
|
|
131
|
+
return modules.flatMap((module) => module.rateLimits);
|
|
132
|
+
}
|
|
133
|
+
function getConfigSchema(modules) {
|
|
134
|
+
const merged = {};
|
|
135
|
+
for (const module of modules) {
|
|
136
|
+
for (const [key, value] of Object.entries(module.configSchema)) {
|
|
137
|
+
const absoluteKey = `${module.name}.${key}`;
|
|
138
|
+
if (absoluteKey in merged) {
|
|
139
|
+
throw new Error(`Duplicate config schema key: ${absoluteKey} (${module.name})`);
|
|
140
|
+
}
|
|
141
|
+
merged[absoluteKey] = value;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return merged;
|
|
145
|
+
}
|
|
146
|
+
function defineCronJobs(modules) {
|
|
147
|
+
for (const module of modules) {
|
|
148
|
+
for (const [cronAlias, cronJobParams] of Object.entries(module.cronJobs)) {
|
|
149
|
+
defineCronJob(`${module.name}.${cronAlias}`, cronJobParams);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
154
|
+
function initStores(stores) {
|
|
155
|
+
const client = getClient();
|
|
156
|
+
if (!client) {
|
|
157
|
+
throw new Error('Failed to initialize stores: MongoDB client not initialized');
|
|
158
|
+
}
|
|
159
|
+
for (const store of stores) {
|
|
160
|
+
store.init(client);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
const localConfigMap = {
|
|
164
|
+
MONGODB_URI: '_system.mongodbUri',
|
|
165
|
+
MODELENCE_AUTH_GOOGLE_ENABLED: '_system.user.auth.google.enabled',
|
|
166
|
+
MODELENCE_AUTH_GOOGLE_CLIENT_ID: '_system.user.auth.google.clientId',
|
|
167
|
+
MODELENCE_AUTH_GOOGLE_CLIENT_SECRET: '_system.user.auth.google.clientSecret',
|
|
168
|
+
MODELENCE_AUTH_GITHUB_ENABLED: '_system.user.auth.github.enabled',
|
|
169
|
+
MODELENCE_AUTH_GITHUB_CLIENT_ID: '_system.user.auth.github.clientId',
|
|
170
|
+
MODELENCE_AUTH_GITHUB_CLIENT_SECRET: '_system.user.auth.github.clientSecret',
|
|
171
|
+
MODELENCE_AUTH_GITHUB_CLIENT_SCOPES: '_system.user.auth.github.scopes',
|
|
172
|
+
MODELENCE_EMAIL_RESEND_API_KEY: '_system.email.resend.apiKey',
|
|
173
|
+
MODELENCE_EMAIL_AWS_SES_REGION: '_system.email.awsSes.region',
|
|
174
|
+
MODELENCE_EMAIL_AWS_SES_ACCESS_KEY_ID: '_system.email.awsSes.accessKeyId',
|
|
175
|
+
MODELENCE_EMAIL_AWS_SES_SECRET_ACCESS_KEY: '_system.email.awsSes.secretAccessKey',
|
|
176
|
+
MODELENCE_EMAIL_SMTP_HOST: '_system.email.smtp.host',
|
|
177
|
+
MODELENCE_EMAIL_SMTP_PORT: '_system.email.smtp.port',
|
|
178
|
+
MODELENCE_EMAIL_SMTP_USER: '_system.email.smtp.user',
|
|
179
|
+
MODELENCE_EMAIL_SMTP_PASS: '_system.email.smtp.pass',
|
|
180
|
+
MODELENCE_SITE_URL: '_system.site.url',
|
|
181
|
+
MODELENCE_ENV: '_system.env',
|
|
182
|
+
// deprecated
|
|
183
|
+
GOOGLE_AUTH_ENABLED: '_system.user.auth.google.enabled',
|
|
184
|
+
GOOGLE_AUTH_CLIENT_ID: '_system.user.auth.google.clientId',
|
|
185
|
+
GOOGLE_AUTH_CLIENT_SECRET: '_system.user.auth.google.clientSecret',
|
|
186
|
+
};
|
|
187
|
+
function formatLocalConfigValue(value, type) {
|
|
188
|
+
if (type === 'number') {
|
|
189
|
+
const numValue = Number(value);
|
|
190
|
+
if (isNaN(numValue)) {
|
|
191
|
+
throw new Error(`Invalid number value for config: ${value}`);
|
|
192
|
+
}
|
|
193
|
+
return numValue;
|
|
194
|
+
}
|
|
195
|
+
if (type === 'boolean') {
|
|
196
|
+
if (value.toLowerCase() === 'true') {
|
|
197
|
+
return true;
|
|
198
|
+
}
|
|
199
|
+
if (value.toLowerCase() === 'false') {
|
|
200
|
+
return false;
|
|
201
|
+
}
|
|
202
|
+
throw new Error(`Invalid boolean value for config: ${value}`);
|
|
203
|
+
}
|
|
204
|
+
return value;
|
|
205
|
+
}
|
|
206
|
+
function getLocalConfigs(configSchema) {
|
|
207
|
+
const configs = [];
|
|
208
|
+
for (const [envVar, configKey] of Object.entries(localConfigMap)) {
|
|
209
|
+
const value = process.env[envVar];
|
|
210
|
+
const configSchemaEntry = configSchema[configKey];
|
|
211
|
+
if (value) {
|
|
212
|
+
const type = configSchemaEntry?.type ?? 'string';
|
|
213
|
+
configs.push({
|
|
214
|
+
key: configKey,
|
|
215
|
+
type: type,
|
|
216
|
+
value: formatLocalConfigValue(value, type),
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
return configs;
|
|
221
|
+
}
|
|
222
|
+
async function trackAppStart() {
|
|
223
|
+
const isTrackingEnabled = process.env.MODELENCE_TRACKING_ENABLED !== 'false';
|
|
224
|
+
if (isTrackingEnabled) {
|
|
225
|
+
const serviceEndpoint = process.env.MODELENCE_SERVICE_ENDPOINT ?? 'https://cloud.modelence.com';
|
|
226
|
+
const environmentId = process.env.MODELENCE_ENVIRONMENT_ID;
|
|
227
|
+
const appDetails = await getAppDetails();
|
|
228
|
+
const modelencePackageJson = await import('../../package.json');
|
|
229
|
+
await fetch(`${serviceEndpoint}/api/track/app-start`, {
|
|
230
|
+
method: 'POST',
|
|
231
|
+
headers: {
|
|
232
|
+
'Content-Type': 'application/json',
|
|
233
|
+
},
|
|
234
|
+
body: JSON.stringify({
|
|
235
|
+
projectName: appDetails.name,
|
|
236
|
+
version: modelencePackageJson.default.version,
|
|
237
|
+
localHostname: os.hostname(),
|
|
238
|
+
environmentId,
|
|
239
|
+
}),
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
async function getAppDetails() {
|
|
244
|
+
try {
|
|
245
|
+
const packageJsonPath = path.join(process.cwd(), 'package.json');
|
|
246
|
+
const packageJsonContent = await fs.readFile(packageJsonPath, 'utf-8');
|
|
247
|
+
const packageJson = JSON.parse(packageJsonContent);
|
|
248
|
+
return {
|
|
249
|
+
name: packageJson.name || 'unknown',
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
catch {
|
|
253
|
+
return {
|
|
254
|
+
name: 'unknown',
|
|
255
|
+
};
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loggerProcess.d.ts","sourceRoot":"","sources":["../../src/app/loggerProcess.ts"],"names":[],"mappings":"AAgBA,wBAAgB,kBAAkB,CAAC,EACjC,cAAc,EAAE,eAAe,EAC/B,aAAa,EAAE,cAAc,GAC9B,EAAE;IACD,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,QAkDA"}
|