@shadimakhoul/ggcoach 1.0.23 → 1.0.24

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,4 +1,5 @@
1
1
  import { Request, Response, NextFunction } from "express";
2
2
  export declare const requireAdmin: (req: Request, res: Response, next: NextFunction) => void | Response<any, Record<string, any>>;
3
3
  export declare const requireSuperAdmin: (req: Request, res: Response, next: NextFunction) => void | Response<any, Record<string, any>>;
4
+ export declare const requirePermission: (permission: string) => (req: Request, res: Response, next: NextFunction) => void | Response<any, Record<string, any>>;
4
5
  //# sourceMappingURL=admin-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-auth.d.ts","sourceRoot":"","sources":["../../middleware/admin-auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE1D,eAAO,MAAM,YAAY,QAClB,OAAO,OACP,QAAQ,QACP,YAAY,8CA0BnB,CAAC;AAEF,eAAO,MAAM,iBAAiB,QACvB,OAAO,OACP,QAAQ,QACP,YAAY,8CA0BnB,CAAC"}
1
+ {"version":3,"file":"admin-auth.d.ts","sourceRoot":"","sources":["../../middleware/admin-auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE1D,eAAO,MAAM,YAAY,QAClB,OAAO,OACP,QAAQ,QACP,YAAY,8CA0BnB,CAAC;AAEF,eAAO,MAAM,iBAAiB,QACvB,OAAO,OACP,QAAQ,QACP,YAAY,8CA0BnB,CAAC;AAQF,eAAO,MAAM,iBAAiB,eAAgB,MAAM,WACrC,OAAO,OAAO,QAAQ,QAAQ,YAAY,8CA+BxD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.requireSuperAdmin = exports.requireAdmin = void 0;
3
+ exports.requirePermission = exports.requireSuperAdmin = exports.requireAdmin = void 0;
4
4
  const types_1 = require("../types");
5
5
  const requireAdmin = (req, res, next) => {
6
6
  try {
@@ -52,4 +52,35 @@ const requireSuperAdmin = (req, res, next) => {
52
52
  }
53
53
  };
54
54
  exports.requireSuperAdmin = requireSuperAdmin;
55
+ const requirePermission = (permission) => {
56
+ return (req, res, next) => {
57
+ try {
58
+ const user = req.user;
59
+ if (!user) {
60
+ return res.status(401).json({
61
+ success: false,
62
+ message: "Unauthorized",
63
+ });
64
+ }
65
+ if (user.accountType === types_1.AccountType.SuperAdmin) {
66
+ return next();
67
+ }
68
+ const permissions = user.permissions || [];
69
+ if (!permissions.includes(permission)) {
70
+ return res.status(403).json({
71
+ success: false,
72
+ message: `Forbidden: missing permission '${permission}'`,
73
+ });
74
+ }
75
+ return next();
76
+ }
77
+ catch (error) {
78
+ return res.status(500).json({
79
+ success: false,
80
+ error: "Permission check failed",
81
+ });
82
+ }
83
+ };
84
+ };
85
+ exports.requirePermission = requirePermission;
55
86
  //# sourceMappingURL=admin-auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-auth.js","sourceRoot":"","sources":["../../middleware/admin-auth.ts"],"names":[],"mappings":";;;AAAA,oCAAqD;AAG9C,MAAM,YAAY,GAAG,CAC1B,GAAY,EACZ,GAAa,EACb,IAAkB,EAClB,EAAE;IACF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QAEtB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,sCAAsC;aAC9B,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,KAAK,mBAAW,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,KAAK,mBAAW,CAAC,UAAU,EAAE,CAAC;YAC1F,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,kCAAkC;aAC1B,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YAC1B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,4BAA4B;SACpB,CAAC,CAAC;IACrB,CAAC;AACH,CAAC,CAAC;AA7BW,QAAA,YAAY,gBA6BvB;AAEK,MAAM,iBAAiB,GAAG,CAC/B,GAAY,EACZ,GAAa,EACb,IAAkB,EAClB,EAAE;IACF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QAEtB,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,sCAAsC;aAC9B,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,KAAK,mBAAW,CAAC,UAAU,EAAE,CAAC;YAChD,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,wCAAwC;aAChC,CAAC,CAAC;QACrB,CAAC;QAED,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YAC1B,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,4BAA4B;SACpB,CAAC,CAAC;IACrB,CAAC;AACH,CAAC,CAAC;AA7BW,QAAA,iBAAiB,qBA6B5B"}
1
+ {"version":3,"file":"admin-auth.js","sourceRoot":"","sources":["../../middleware/admin-auth.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shadimakhoul/ggcoach",
3
- "version": "1.0.23",
3
+ "version": "1.0.24",
4
4
  "description": "Shared utilities and types for GGCoach microservices",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",