node-auth-kit 1.0.2

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 (47) hide show
  1. package/LICENSE +5 -0
  2. package/README.md +335 -0
  3. package/dist/index.d.ts +13 -0
  4. package/dist/index.js +27 -0
  5. package/dist/src/adapters/base.adapter.d.ts +21 -0
  6. package/dist/src/adapters/base.adapter.js +2 -0
  7. package/dist/src/adapters/mongoose.adapter.d.ts +53 -0
  8. package/dist/src/adapters/mongoose.adapter.js +78 -0
  9. package/dist/src/adapters/prisma.adapter.d.ts +29 -0
  10. package/dist/src/adapters/prisma.adapter.js +40 -0
  11. package/dist/src/config/default.config.d.ts +19 -0
  12. package/dist/src/config/default.config.js +17 -0
  13. package/dist/src/config/index.d.ts +4 -0
  14. package/dist/src/config/index.js +23 -0
  15. package/dist/src/controllers/registrations.controller.d.ts +3 -0
  16. package/dist/src/controllers/registrations.controller.js +25 -0
  17. package/dist/src/controllers/sessions.controller.d.ts +3 -0
  18. package/dist/src/controllers/sessions.controller.js +25 -0
  19. package/dist/src/core/auth.service.d.ts +35 -0
  20. package/dist/src/core/auth.service.js +113 -0
  21. package/dist/src/core/password.service.d.ts +9 -0
  22. package/dist/src/core/password.service.js +19 -0
  23. package/dist/src/core/token.service.d.ts +15 -0
  24. package/dist/src/core/token.service.js +26 -0
  25. package/dist/src/deviceAuth.d.ts +32 -0
  26. package/dist/src/deviceAuth.js +67 -0
  27. package/dist/src/factories/auth-service.factory.d.ts +2 -0
  28. package/dist/src/factories/auth-service.factory.js +30 -0
  29. package/dist/src/hooks/index.d.ts +5 -0
  30. package/dist/src/hooks/index.js +20 -0
  31. package/dist/src/middlewares/authenticate.middleware.d.ts +15 -0
  32. package/dist/src/middlewares/authenticate.middleware.js +46 -0
  33. package/dist/src/middlewares/authorize.middleware.d.ts +8 -0
  34. package/dist/src/middlewares/authorize.middleware.js +36 -0
  35. package/dist/src/overrides/index.d.ts +7 -0
  36. package/dist/src/overrides/index.js +13 -0
  37. package/dist/src/routes/auth.routes.d.ts +2 -0
  38. package/dist/src/routes/auth.routes.js +41 -0
  39. package/dist/src/types/index.d.ts +11 -0
  40. package/dist/src/types/index.js +2 -0
  41. package/dist/src/utils/index.d.ts +3 -0
  42. package/dist/src/utils/index.js +12 -0
  43. package/dist/src/utils/pick.d.ts +1 -0
  44. package/dist/src/utils/pick.js +13 -0
  45. package/dist/src/utils/response.d.ts +10 -0
  46. package/dist/src/utils/response.js +32 -0
  47. package/package.json +51 -0
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pick = void 0;
4
+ const pick = (source, keys) => {
5
+ const result = {};
6
+ for (const key of keys) {
7
+ if (key in source) {
8
+ result[key] = source[key];
9
+ }
10
+ }
11
+ return result;
12
+ };
13
+ exports.pick = pick;
@@ -0,0 +1,10 @@
1
+ export interface ResponseLike {
2
+ status(code: number): this;
3
+ json(body: unknown): this;
4
+ }
5
+ export declare const sendJson: <T>(res: ResponseLike, body: T, statusCode?: number) => void;
6
+ export declare const sendError: (res: ResponseLike, statusCode: number, message: string) => void;
7
+ export declare const badRequest: (res: ResponseLike, message: string) => void;
8
+ export declare const unauthorized: (res: ResponseLike, message?: string) => void;
9
+ export declare const forbidden: (res: ResponseLike, message?: string) => void;
10
+ export declare const internalError: (res: ResponseLike, message?: string) => void;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.internalError = exports.forbidden = exports.unauthorized = exports.badRequest = exports.sendError = exports.sendJson = void 0;
4
+ const sendJson = (res, body, statusCode = 200) => {
5
+ if (statusCode !== 200) {
6
+ res.status(statusCode).json(body);
7
+ }
8
+ else {
9
+ res.json(body);
10
+ }
11
+ };
12
+ exports.sendJson = sendJson;
13
+ const sendError = (res, statusCode, message) => {
14
+ res.status(statusCode).json({ error: message });
15
+ };
16
+ exports.sendError = sendError;
17
+ const badRequest = (res, message) => {
18
+ (0, exports.sendError)(res, 400, message);
19
+ };
20
+ exports.badRequest = badRequest;
21
+ const unauthorized = (res, message = 'Unauthorized') => {
22
+ (0, exports.sendError)(res, 401, message);
23
+ };
24
+ exports.unauthorized = unauthorized;
25
+ const forbidden = (res, message = 'Forbidden') => {
26
+ (0, exports.sendError)(res, 403, message);
27
+ };
28
+ exports.forbidden = forbidden;
29
+ const internalError = (res, message = 'An unexpected error occurred') => {
30
+ (0, exports.sendError)(res, 500, message);
31
+ };
32
+ exports.internalError = internalError;
package/package.json ADDED
@@ -0,0 +1,51 @@
1
+ {
2
+ "name": "node-auth-kit",
3
+ "version": "1.0.2",
4
+ "description": "Device-based authentication and authorization for Node.js with Prisma and Mongoose adapters",
5
+ "author": "Yogendra Prajapati",
6
+ "license": "MIT",
7
+ "main": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "files": [
10
+ "dist",
11
+ "README.md",
12
+ "LICENSE"
13
+ ],
14
+ "scripts": {
15
+ "build": "tsc",
16
+ "dev": "ts-node src/deviceAuth.ts",
17
+ "prepublishOnly": "npm run build"
18
+ },
19
+ "keywords": [
20
+ "authentication",
21
+ "authorization",
22
+ "device-auth",
23
+ "jwt",
24
+ "nodejs",
25
+ "express",
26
+ "prisma",
27
+ "mongoose"
28
+ ],
29
+ "repository": {
30
+ "type": "git",
31
+ "url": "git+https://github.com/learningyogendra-netizen/device_auth.git"
32
+ },
33
+ "bugs": {
34
+ "url": "https://github.com/learningyogendra-netizen/device_auth/issues"
35
+ },
36
+ "dependencies": {
37
+ "bcrypt": "^6.0.0",
38
+ "express": "^4.19.2",
39
+ "jsonwebtoken": "^9.0.3",
40
+ "mongoose": "^9.0.2"
41
+ },
42
+ "peerDependencies": {
43
+ "@prisma/client": "^4.7.1 || ^5.0.0"
44
+ },
45
+ "devDependencies": {
46
+ "typescript": "^5.9.3",
47
+ "@types/express": "^4.17.21",
48
+ "@types/bcrypt": "^6.0.0",
49
+ "@types/jsonwebtoken": "^9.0.10"
50
+ }
51
+ }