@skalfa/skalfa-api-core 1.0.19 → 1.0.21

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.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAA;AAEvF,MAAM,CAAC,MAAM,kBAAkB,GAAK,EAAE,CAAA;AACtC,MAAM,CAAC,MAAM,eAAe,GAAQ,OAAO,CAAC,GAAG,CAAC,eAAe,KAAO,MAAM,CAAA;AAC5E,MAAM,CAAC,MAAM,UAAU,GAAa,OAAO,CAAC,GAAG,CAAC,UAAU,KAAO,MAAM,CAAA;AACvE,MAAM,CAAC,MAAM,cAAc,GAAS,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,CAAA;AAE7E,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,yCAAyC;IACzC,4CAA4C;IAC5C,yCAAyC;IACzC,iBAAiB;IAEjB,yCAAyC;IACzC,4CAA4C;IAC5C,yCAAyC;IACzC,iBAAiB;IAEjB,yCAAyC;IACzC,+BAA+B;IAC/B,yCAAyC;IACzC,iBAAiB;IAEjB,yCAAyC;IACzC,kCAAkC;IAClC,yCAAyC;IACzC,mBAAmB;IAEnB,yCAAyC;IACzC,kCAAkC;IAClC,yCAAyC;IACzC,mBAAmB;IAEnB,yCAAyC;IACzC,8BAA8B;IAC9B,yCAAyC;IACzC,gBAAgB;IAEhB,yCAAyC;IACzC,sCAAsC;IACtC,yCAAyC;IACzC,yBAAyB;IACzB,+BAA+B;CAChC,CAAA"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/auth/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,uCAAuC,CAAA;AAEvF,MAAM,CAAC,MAAM,kBAAkB,GAAK,EAAE,CAAA;AACtC,MAAM,CAAC,MAAM,eAAe,GAAQ,OAAO,CAAC,GAAG,CAAC,eAAe,KAAO,MAAM,CAAA;AAC5E,MAAM,CAAC,MAAM,UAAU,GAAa,OAAO,CAAC,GAAG,CAAC,UAAU,KAAY,MAAM,CAAA;AAC5E,MAAM,CAAC,MAAM,cAAc,GAAS,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC,CAAA;AAE7E,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,yCAAyC;IACzC,4CAA4C;IAC5C,yCAAyC;IACzC,iBAAiB;IAEjB,yCAAyC;IACzC,4CAA4C;IAC5C,yCAAyC;IACzC,iBAAiB;IAEjB,yCAAyC;IACzC,+BAA+B;IAC/B,yCAAyC;IACzC,iBAAiB;IAEjB,yCAAyC;IACzC,kCAAkC;IAClC,yCAAyC;IACzC,mBAAmB;IAEnB,yCAAyC;IACzC,kCAAkC;IAClC,yCAAyC;IACzC,mBAAmB;IAEnB,yCAAyC;IACzC,8BAA8B;IAC9B,yCAAyC;IACzC,gBAAgB;IAEhB,yCAAyC;IACzC,sCAAsC;IACtC,yCAAyC;IACzC,yBAAyB;IACzB,+BAA+B;CAChC,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import { db } from '@skalfa/skalfa-orm';
2
2
  export async function getUserPermissions(userId) {
3
- const roleIds = await db("user_roles").where("user_id", userId).pluck("user_role_id");
3
+ const roleIds = await db("user_has_user_roles").where("user_id", userId).pluck("user_role_id");
4
4
  const query = db("user_permissions").where("user_id", userId);
5
5
  if (roleIds.length > 0) {
6
- query.orWhereIn("role_id", roleIds);
6
+ query.orWhereIn("user_role_id", roleIds);
7
7
  }
8
8
  const rows = await query.pluck("permissions");
9
9
  return Array.from(new Set(rows.flatMap((p) => p ?? [])));
@@ -1 +1 @@
1
- {"version":3,"file":"get-user-permissions.js","sourceRoot":"","sources":["../../../src/auth/helpers/get-user-permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAEvC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAc;IACrD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAErF,MAAM,KAAK,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAE7D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACrC,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IAE7C,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,GAAG,CACL,IAAI,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAClC,CACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"get-user-permissions.js","sourceRoot":"","sources":["../../../src/auth/helpers/get-user-permissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAEvC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAc;IACrD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IAE9F,MAAM,KAAK,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAE7D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IAC1C,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IAE7C,OAAO,KAAK,CAAC,IAAI,CACf,IAAI,GAAG,CACL,IAAI,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAClC,CACF,CAAA;AACH,CAAC"}
@@ -9,7 +9,7 @@ export const Auth = (app) => app.derive(async ({ request }) => {
9
9
  return { user: null, permissions: [], token: null };
10
10
  return {
11
11
  user: result.user,
12
- permissions: result.permissions,
12
+ permissions: result.token.permissions,
13
13
  token: result.token,
14
14
  };
15
15
  });
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IACpE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAEvD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IAEzG,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE5D,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEjE,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/middleware/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IACpE,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAEvD,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IAEzG,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE5D,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAEjE,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW;QACrC,KAAK,EAAE,MAAM,CAAC,KAAK;KACpB,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -81,10 +81,12 @@ function createPermission(keys) {
81
81
  ]);
82
82
  },
83
83
  guard(c) {
84
- const permissions = new Set(c.permissions || []);
85
- const ok = this.keys.some(k => permissions?.has(k));
86
- if (!ok) {
87
- c.responseForbidden();
84
+ if (process.env.AUTH_PERMISSION === "true") {
85
+ const permissions = new Set(c.permissions || []);
86
+ const ok = this.keys.some(k => permissions?.has(k));
87
+ if (!ok) {
88
+ c.responseForbidden();
89
+ }
88
90
  }
89
91
  }
90
92
  };
@@ -1 +1 @@
1
- {"version":3,"file":"permission.js","sourceRoot":"","sources":["../../src/permission/permission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission.js","sourceRoot":"","sources":["../../src/permission/permission.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,17 +1,13 @@
1
1
  {
2
2
  "name": "@skalfa/skalfa-api-core",
3
- "version": "1.0.19",
4
- "description": "Core framework engine and foundational utilities for the Skalfa API backend.",
3
+ "version": "1.0.21",
4
+ "description": "Core and Foundational utilities for the Skalfa API Framework.",
5
+ "keywords": ["skalfa", "skalfa-api", "skalfa-api-core", "bun-framework", "elysia-framework"],
5
6
  "main": "dist/index.js",
6
7
  "types": "dist/index.d.ts",
7
8
  "scripts": {
8
- "build": "tsc --ignoreDeprecations 6.0"
9
+ "build": "tsc"
9
10
  },
10
- "keywords": [
11
- "aluna",
12
- "core",
13
- "utility"
14
- ],
15
11
  "author": "",
16
12
  "license": "MIT",
17
13
  "dependencies": {
package/src/auth/auth.ts CHANGED
@@ -9,7 +9,7 @@ import { revalidateUserPermissionsByRole } from './revalidate-user-permissions-b
9
9
 
10
10
  export const TOKEN_PLAIN_LENGTH = 20
11
11
  export const AUTH_PERMISSION = process.env.AUTH_PERMISSION === "true"
12
- export const AUTH_CACHE = process.env.AUTH_CACHE === "true"
12
+ export const AUTH_CACHE = process.env.AUTH_CACHE === "true"
13
13
  export const AUTH_CACHE_TTL = Number(process.env.AUTH_CACHE_TTL || 600)
14
14
 
15
15
  export const auth = {
@@ -1,12 +1,12 @@
1
1
  import { db } from '@skalfa/skalfa-orm'
2
2
 
3
3
  export async function getUserPermissions(userId: number): Promise<string[]> {
4
- const roleIds = await db("user_roles").where("user_id", userId).pluck("user_role_id")
4
+ const roleIds = await db("user_has_user_roles").where("user_id", userId).pluck("user_role_id")
5
5
 
6
6
  const query = db("user_permissions").where("user_id", userId)
7
7
 
8
8
  if (roleIds.length > 0) {
9
- query.orWhereIn("role_id", roleIds)
9
+ query.orWhereIn("user_role_id", roleIds)
10
10
  }
11
11
 
12
12
  const rows = await query.pluck("permissions")
@@ -13,7 +13,7 @@ export const Auth = (app: Elysia) => app.derive(async ({ request }) => {
13
13
 
14
14
  return {
15
15
  user: result.user,
16
- permissions: result.permissions,
16
+ permissions: result.token.permissions,
17
17
  token: result.token,
18
18
  }
19
19
  })
@@ -120,11 +120,14 @@ function createPermission(keys: KeyPermission[]) {
120
120
  },
121
121
 
122
122
  guard(c: ControllerContext) {
123
- const permissions = new Set(c.permissions || [])
124
-
125
- const ok = this.keys.some(k => permissions?.has(k))
126
- if (!ok) {
127
- c.responseForbidden()
123
+ if(process.env.AUTH_PERMISSION === "true") {
124
+ const permissions = new Set(c.permissions || [])
125
+
126
+ const ok = this.keys.some(k => permissions?.has(k))
127
+
128
+ if (!ok) {
129
+ c.responseForbidden()
130
+ }
128
131
  }
129
132
  }
130
133
  }
package/tsconfig.json CHANGED
@@ -1,9 +1,8 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "ignoreDeprecations": "5.0",
4
3
  "target": "ES2021",
5
4
  "module": "ES2022",
6
- "moduleResolution": "node",
5
+ "moduleResolution": "bundler",
7
6
  "declaration": true,
8
7
  "sourceMap": true,
9
8
  "outDir": "./dist",
@@ -12,11 +11,10 @@
12
11
  "esModuleInterop": true,
13
12
  "skipLibCheck": true,
14
13
  "forceConsistentCasingInFileNames": true,
15
- "baseUrl": ".",
16
14
  "types": ["bun-types", "elysia"],
17
15
  "paths": {
18
- "@utils": ["src/index.ts"],
19
- "@utils/*": ["src/*"]
16
+ "@utils": ["./src/index.ts"],
17
+ "@utils/*": ["./src/*"]
20
18
  }
21
19
  },
22
20
  "include": ["src/**/*"]