mythik-server 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/README.md +45 -27
  2. package/dist/audit.js +1 -1
  3. package/dist/audit.js.map +1 -1
  4. package/dist/auth/db-auth-provider.d.ts +2 -2
  5. package/dist/auth/db-auth-provider.d.ts.map +1 -1
  6. package/dist/auth/db-auth-provider.js +17 -15
  7. package/dist/auth/db-auth-provider.js.map +1 -1
  8. package/dist/auth/scope-filter.d.ts +7 -1
  9. package/dist/auth/scope-filter.d.ts.map +1 -1
  10. package/dist/auth/scope-filter.js +24 -4
  11. package/dist/auth/scope-filter.js.map +1 -1
  12. package/dist/catalog-builder.d.ts +2 -1
  13. package/dist/catalog-builder.d.ts.map +1 -1
  14. package/dist/catalog-builder.js +24 -13
  15. package/dist/catalog-builder.js.map +1 -1
  16. package/dist/connection.d.ts +4 -2
  17. package/dist/connection.d.ts.map +1 -1
  18. package/dist/connection.js +74 -7
  19. package/dist/connection.js.map +1 -1
  20. package/dist/crud-builder.d.ts +8 -3
  21. package/dist/crud-builder.d.ts.map +1 -1
  22. package/dist/crud-builder.js +40 -16
  23. package/dist/crud-builder.js.map +1 -1
  24. package/dist/middleware/error-handler.js +1 -1
  25. package/dist/middleware/error-handler.js.map +1 -1
  26. package/dist/query-engine.d.ts +12 -4
  27. package/dist/query-engine.d.ts.map +1 -1
  28. package/dist/query-engine.js +12 -17
  29. package/dist/query-engine.js.map +1 -1
  30. package/dist/server.d.ts.map +1 -1
  31. package/dist/server.js +111 -159
  32. package/dist/server.js.map +1 -1
  33. package/dist/spec-serving.d.ts +7 -3
  34. package/dist/spec-serving.d.ts.map +1 -1
  35. package/dist/spec-serving.js +36 -12
  36. package/dist/spec-serving.js.map +1 -1
  37. package/dist/types.d.ts +34 -11
  38. package/dist/types.d.ts.map +1 -1
  39. package/package.json +2 -3
@@ -1,25 +1,21 @@
1
- import sql from 'mssql';
2
1
  import { assertValidIdentifier } from './validation/identifier-guard.js';
3
- export async function checkScreensTable(pool, tableName) {
2
+ export async function checkScreensTable(driver, tableName) {
4
3
  try {
5
4
  assertValidIdentifier(tableName, 'specServing.table');
6
- const result = await pool.request()
7
- .input('tableName', sql.NVarChar, tableName)
8
- .query('SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @tableName');
9
- return result.recordset.length > 0;
5
+ return await driver.tableExists(tableName);
10
6
  }
11
7
  catch {
12
8
  return false;
13
9
  }
14
10
  }
15
- export function buildSpecServingRoutes(pool, tableName) {
11
+ export function buildSpecServingRoutes(driver, tableName) {
12
+ assertValidIdentifier(tableName, 'specServing.table');
13
+ const table = quoteIdentifierPath(driver, tableName);
16
14
  async function loadScreen(id) {
17
- const result = await pool.request()
18
- .input('id', sql.NVarChar, id)
19
- .query(`SELECT spec FROM [${tableName}] WHERE id = @id`);
20
- if (!result.recordset[0])
15
+ const result = await driver.query(`SELECT ${driver.quoteIdent('spec')} FROM ${table} WHERE ${driver.quoteIdent('id')} = @id`, { id });
16
+ if (!result[0])
21
17
  return null;
22
- const raw = result.recordset[0].spec;
18
+ const raw = result[0].spec;
23
19
  const parsed = typeof raw === 'string' ? JSON.parse(raw) : raw;
24
20
  // Never serve api-specs to the browser — they contain table names, SQL, auth config
25
21
  if (parsed && typeof parsed === 'object' && parsed.type === 'api') {
@@ -37,6 +33,34 @@ export function buildSpecServingRoutes(pool, tableName) {
37
33
  }
38
34
  return { loadScreen, loadApp };
39
35
  }
36
+ export async function discoverAppSpecs(driver, tableName) {
37
+ try {
38
+ assertValidIdentifier(tableName, 'specServing.table');
39
+ const table = quoteIdentifierPath(driver, tableName);
40
+ const rows = await driver.query(`SELECT ${driver.quoteIdent('id')}, ${driver.quoteIdent('spec')} FROM ${table}`);
41
+ const appSpecs = [];
42
+ for (const row of rows) {
43
+ const spec = typeof row.spec === 'string' ? JSON.parse(row.spec) : row.spec;
44
+ if (spec && typeof spec === 'object' && spec.type === 'app') {
45
+ const navigation = spec.navigation;
46
+ const auth = navigation?.auth;
47
+ appSpecs.push({
48
+ id: row.id,
49
+ loginScreen: typeof auth?.loginScreen === 'string' ? auth.loginScreen : null,
50
+ });
51
+ }
52
+ }
53
+ return appSpecs;
54
+ }
55
+ catch {
56
+ return [];
57
+ }
58
+ }
59
+ function quoteIdentifierPath(driver, identifier) {
60
+ return identifier.includes('.')
61
+ ? driver.quoteQualified(...identifier.split('.'))
62
+ : driver.quoteIdent(identifier);
63
+ }
40
64
  /** Strips authorization-sensitive fields from AppSpec for unauthenticated responses. */
41
65
  export function stripSensitiveFields(appSpec) {
42
66
  const stripped = structuredClone(appSpec);
@@ -1 +1 @@
1
- {"version":3,"file":"spec-serving.js","sourceRoot":"","sources":["../src/spec-serving.ts"],"names":[],"mappings":"AAAA,OAAO,GAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAoB,EAAE,SAAiB;IAC7E,IAAI,CAAC;QACH,qBAAqB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE;aAChC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC;aAC3C,KAAK,CAAC,gFAAgF,CAAC,CAAC;QAC3F,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAoB,EAAE,SAAiB;IAC5E,KAAK,UAAU,UAAU,CAAC,EAAU;QAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE;aAChC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;aAC7B,KAAK,CAAC,qBAAqB,SAAS,kBAAkB,CAAC,CAAC;QAE3D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEtC,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrC,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAE/D,oFAAoF;QACpF,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAK,MAAkC,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC/F,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,EAAU;QAC/B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACnD,IAAK,IAAgC,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,oBAAoB,CAAC,OAAgC;IACnE,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAiD,CAAC;IACvE,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC;IAE1B,MAAM,IAAI,GAAG,GAAG,CAAC,IAA2C,CAAC;IAC7D,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;QACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"spec-serving.js","sourceRoot":"","sources":["../src/spec-serving.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,9 +1,10 @@
1
- import type { ConnectionPool } from 'mssql';
1
+ import type { SqlDialect, SqlDriver } from 'mythik/server';
2
2
  import type { JwtConfig, EndpointScopeOverride } from './auth/types.js';
3
3
  import type { AuditConfig } from './audit.js';
4
4
  export interface ApiSpec {
5
5
  type: 'api';
6
6
  name?: string;
7
+ dialect?: SqlDialect;
7
8
  auth?: ApiAuthConfig;
8
9
  catalogs?: Record<string, CatalogConfig>;
9
10
  endpoints?: Record<string, EndpointConfig>;
@@ -40,14 +41,44 @@ export interface MythikServerConfig {
40
41
  table: string;
41
42
  };
42
43
  }
43
- export interface ConnectionConfig {
44
+ export interface SqlServerConnectionConfig {
45
+ type?: 'sqlserver';
44
46
  server: string;
45
47
  database: string;
46
48
  user?: string;
47
49
  password?: string;
48
50
  port?: number;
51
+ trustedConnection?: boolean;
49
52
  trustServerCertificate?: boolean;
50
53
  }
54
+ export interface PostgresConnectionConfig {
55
+ type: 'postgres';
56
+ connectionString?: string;
57
+ host?: string;
58
+ port?: number;
59
+ database?: string;
60
+ user?: string;
61
+ password?: string;
62
+ ssl?: boolean | Record<string, unknown>;
63
+ }
64
+ export interface MysqlConnectionConfig {
65
+ type: 'mysql';
66
+ uri?: string;
67
+ host?: string;
68
+ port?: number;
69
+ database?: string;
70
+ user?: string;
71
+ password?: string;
72
+ ssl?: boolean | Record<string, unknown>;
73
+ }
74
+ export interface SqliteConnectionConfig {
75
+ type: 'sqlite';
76
+ filename?: string;
77
+ readonly?: boolean;
78
+ fileMustExist?: boolean;
79
+ timeout?: number;
80
+ }
81
+ export type ConnectionConfig = SqlServerConnectionConfig | PostgresConnectionConfig | MysqlConnectionConfig | SqliteConnectionConfig;
51
82
  export interface CatalogConfig {
52
83
  from?: string;
53
84
  value?: string;
@@ -89,17 +120,9 @@ export interface CrudConfig {
89
120
  insertable: string[];
90
121
  updatable: string[];
91
122
  }
92
- export interface SqlTypes {
93
- Int: unknown;
94
- Float: unknown;
95
- Bit: unknown;
96
- NVarChar: unknown;
97
- DateTime: unknown;
98
- }
99
123
  export interface HandlerContext {
100
124
  params: Record<string, unknown>;
101
- db: ConnectionPool;
102
- sql: SqlTypes;
125
+ db: SqlDriver;
103
126
  user: UserContext | null;
104
127
  query: Record<string, string>;
105
128
  body: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAc,SAAS,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC5C;AAED,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,iBAAiB,EAAE,cAAc,CAAC;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,iBAAiB,EAAE,YAAY,CAAC,CAAC;IAClE,WAAW,CAAC,EAAE,OAAO,iBAAiB,EAAE,iBAAiB,CAAC;IAC1D,cAAc,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAID,MAAM,WAAW,kBAAkB;IACjC,6EAA6E;IAC7E,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG;QAAE,KAAK,EAAE,OAAO,QAAQ,EAAE,SAAS,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,0BAA0B;IAC1B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,+CAA+C;IAC/C,IAAI,CAAC,EAAE;QAAE,GAAG,EAAE,SAAS,CAAA;KAAE,CAAC;IAC1B,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C;AAID,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,UAAU,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GACxB,yBAAyB,GACzB,wBAAwB,GACxB,qBAAqB,GACrB,sBAAsB,CAAC;AAI3B,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAC;CAC1E;AAID,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,GAAG,qBAAqB,GAAG,KAAK,CAAC;CACvD;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,EAAE,EAAE,SAAS,CAAC;IACd,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,aAAa,GACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,OAAO,EAAE,GACT;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAExC,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;AAItE,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,MAAM,IAAI,OAAO,SAAS,EAAE,OAAO,CAAC;CACrC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mythik-server",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Declarative REST runtime for Mythik ApiSpec contracts, auth, RBAC, catalogs, and CRUD endpoints.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -41,8 +41,7 @@
41
41
  "cors": "^2.8.5",
42
42
  "express": "^4.21.2",
43
43
  "jsonwebtoken": "^9.0.3",
44
- "mssql": "^11.0.1",
45
- "mythik": "0.1.2"
44
+ "mythik": "0.1.3"
46
45
  },
47
46
  "devDependencies": {
48
47
  "@types/bcryptjs": "^3.0.0",