@shahadpichen/docpush 1.0.8 → 1.0.10

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":"oauth.d.ts","sourceRoot":"","sources":["../../../src/server/auth/oauth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAWpD;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,QA2G5C"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/server/auth/oauth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAWpD;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,QA8F5C"}
@@ -13,8 +13,6 @@ const passport_google_oauth20_1 = require("passport-google-oauth20");
13
13
  function setupOAuth(config) {
14
14
  if (config.auth.mode !== 'domain-restricted')
15
15
  return;
16
- // Get allowed domains from config (required for domain-restricted)
17
- const allowedDomains = config.auth.allowedDomains;
18
16
  // GitHub OAuth
19
17
  if (config.auth.providers.includes('github') &&
20
18
  process.env.GITHUB_CLIENT_ID &&
@@ -27,13 +25,8 @@ function setupOAuth(config) {
27
25
  }, async (accessToken, refreshToken, profile, done) => {
28
26
  try {
29
27
  const email = profile.emails?.[0]?.value || `${profile.username}@github.com`;
30
- // Check domain restriction if configured
31
- if (allowedDomains.length > 0) {
32
- const domain = email.split('@')[1];
33
- if (!allowedDomains.includes(domain)) {
34
- return done(null, false);
35
- }
36
- }
28
+ // Domain check happens in requireEdit middleware, not here
29
+ // This allows anyone to login, but only allowed domains can edit
37
30
  const user = {
38
31
  id: `github:${profile.id}`,
39
32
  email,
@@ -64,13 +57,8 @@ function setupOAuth(config) {
64
57
  if (!email) {
65
58
  return done(null, false);
66
59
  }
67
- // Check domain restriction if configured
68
- if (allowedDomains.length > 0) {
69
- const domain = email.split('@')[1];
70
- if (!allowedDomains.includes(domain)) {
71
- return done(null, false);
72
- }
73
- }
60
+ // Domain check happens in requireEdit middleware, not here
61
+ // This allows anyone to login, but only allowed domains can edit
74
62
  const user = {
75
63
  id: `google:${profile.id}`,
76
64
  email,
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/server/auth/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/server/auth/oauth.ts"],"names":[],"mappings":";;;;;AAiBA,gCA8FC;AA/GD,wDAAgC;AAChC,uDAA6F;AAC7F,qEAAoG;AAYpG;;GAEG;AACH,SAAgB,UAAU,CAAC,MAAkB;IAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,mBAAmB;QAAE,OAAO;IAErD,eAAe;IACf,IACE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAC5B,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAChC,CAAC;QACD,kBAAQ,CAAC,GAAG,CACV,IAAI,2BAAc,CAChB;YACE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;YACtC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;YAC9C,WAAW,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,2BAA2B;YAC9D,KAAK,EAAE,CAAC,YAAY,CAAC;SACtB,EACD,KAAK,EACH,WAAmB,EACnB,YAAoB,EACpB,OAAsB,EACtB,IAA2D,EAC3D,EAAE;YACF,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,QAAQ,aAAa,CAAC;gBAE7E,2DAA2D;gBAC3D,iEAAiE;gBAEjE,MAAM,IAAI,GAAc;oBACtB,EAAE,EAAE,UAAU,OAAO,CAAC,EAAE,EAAE;oBAC1B,KAAK;oBACL,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,IAAI,aAAa;oBAC9D,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK;oBAClC,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;iBAChE,CAAC;gBAEF,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CACF,CACF,CAAC;IACJ,CAAC;IAED,eAAe;IACf,IACE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAC5B,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAChC,CAAC;QACD,kBAAQ,CAAC,GAAG,CACV,IAAI,kCAAc,CAChB;YACE,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;YACtC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;YAC9C,WAAW,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,2BAA2B;YAC9D,KAAK,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;SAC5B,EACD,KAAK,EACH,WAAmB,EACnB,YAAoB,EACpB,OAAsB,EACtB,IAA2D,EAC3D,EAAE;YACF,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;gBAEzC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC3B,CAAC;gBAED,2DAA2D;gBAC3D,iEAAiE;gBAEjE,MAAM,IAAI,GAAc;oBACtB,EAAE,EAAE,UAAU,OAAO,CAAC,EAAE,EAAE;oBAC1B,KAAK;oBACL,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,aAAa;oBAC1C,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK;oBAClC,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;iBAChE,CAAC;gBAEF,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC,CACF,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/server/middleware/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI/D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,OAAO,CAAC;QAChB,UAAU,IAAI;YACZ,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,MAAM,CAAC;SACf;KACF;CACF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBhG;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BjG"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/server/middleware/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAI/D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,OAAO,CAAC;QAChB,UAAU,IAAI;YACZ,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,MAAM,CAAC;SACf;KACF;CACF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BhG;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BjG"}
@@ -13,11 +13,24 @@ async function requireEdit(req, res, next) {
13
13
  req.user = { id: 'anonymous', email: null, role: 'editor' };
14
14
  return next();
15
15
  }
16
- // Domain-restricted or OAuth - must be logged in
16
+ // Domain-restricted - must be logged in
17
17
  if (!req.user) {
18
18
  res.status(401).json({ error: 'Authentication required' });
19
19
  return;
20
20
  }
21
+ // For domain-restricted mode, check if user's email domain is allowed
22
+ if (config.auth.mode === 'domain-restricted') {
23
+ const userEmail = req.user.email;
24
+ if (!userEmail) {
25
+ res.status(403).json({ error: 'Email required for editing' });
26
+ return;
27
+ }
28
+ const domain = userEmail.split('@')[1];
29
+ if (!config.auth.allowedDomains.includes(domain)) {
30
+ res.status(403).json({ error: `Your email domain @${domain} is not allowed to edit` });
31
+ return;
32
+ }
33
+ }
21
34
  next();
22
35
  }
23
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/server/middleware/auth.ts"],"names":[],"mappings":";;AAkBA,kCAgBC;AAKD,oCA4BC;AAlED,8CAA+C;AAc/C;;GAEG;AACI,KAAK,UAAU,WAAW,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IAC/E,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,IAAA,mBAAU,GAAE,CAAC,CAAC;IAElD,gCAAgC;IAChC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC5D,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,iDAAiD;IACjD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACd,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,IAAI,EAAE,CAAC;AACT,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,YAAY,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB;IAChF,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,IAAA,mBAAU,GAAE,CAAC,CAAC;IAElD,sCAAsC;IACtC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAW,CAAC;QAE3D,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,GAAG,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACvD,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAED,8DAA8D;IAC9D,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,IAAI,EAAE,CAAC;AACT,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/server/middleware/auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/server/routes/auth.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,MAAM,4CAAmB,CAAC;AAgFhC,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/server/routes/auth.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,MAAM,4CAAmB,CAAC;AAuFhC,eAAe,MAAM,CAAC"}
@@ -6,6 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const express_1 = __importDefault(require("express"));
7
7
  const passport_1 = __importDefault(require("passport"));
8
8
  const router = express_1.default.Router();
9
+ /**
10
+ * Get redirect URL after OAuth - uses FRONTEND_URL if set, otherwise APP_URL
11
+ */
12
+ function getRedirectUrl() {
13
+ return process.env.FRONTEND_URL || process.env.APP_URL || '/';
14
+ }
9
15
  /**
10
16
  * GET /api/auth/me
11
17
  * Get current user info
@@ -54,7 +60,7 @@ router.get('/github', passport_1.default.authenticate('github'));
54
60
  * GitHub OAuth callback
55
61
  */
56
62
  router.get('/github/callback', passport_1.default.authenticate('github', { failureRedirect: '/login?error=github' }), (req, res) => {
57
- res.redirect('/');
63
+ res.redirect(getRedirectUrl());
58
64
  });
59
65
  /**
60
66
  * GET /api/auth/google
@@ -66,7 +72,7 @@ router.get('/google', passport_1.default.authenticate('google'));
66
72
  * Google OAuth callback
67
73
  */
68
74
  router.get('/google/callback', passport_1.default.authenticate('google', { failureRedirect: '/login?error=google' }), (req, res) => {
69
- res.redirect('/');
75
+ res.redirect(getRedirectUrl());
70
76
  });
71
77
  exports.default = router;
72
78
  //# sourceMappingURL=auth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/server/routes/auth.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,wDAAgC;AAIhC,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;AAEhC;;;GAGG;AACH,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC7B,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,OAAO,GAAG,CAAC,IAAI,CAAC;YACd,aAAa,EAAE,IAAI;YACnB,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAED,2DAA2D;IAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAoB,CAAC;IACxC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,GAAG,CAAC,IAAI,CAAC;YACd,aAAa,EAAE,IAAI;YACnB,IAAI,EAAE;gBACJ,EAAE,EAAE,WAAW;gBACf,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAClC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACjB,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEvD;;;GAGG;AACH,MAAM,CAAC,GAAG,CACR,kBAAkB,EAClB,kBAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,EAC3E,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACX,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC,CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEvD;;;GAGG;AACH,MAAM,CAAC,GAAG,CACR,kBAAkB,EAClB,kBAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,EAC3E,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACX,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC,CACF,CAAC;AAEF,kBAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/server/routes/auth.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,wDAAgC;AAIhC,MAAM,MAAM,GAAG,iBAAO,CAAC,MAAM,EAAE,CAAC;AAEhC;;GAEG;AACH,SAAS,cAAc;IACrB,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC;AAChE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC7B,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,OAAO,GAAG,CAAC,IAAI,CAAC;YACd,aAAa,EAAE,IAAI;YACnB,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAED,2DAA2D;IAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAoB,CAAC;IACxC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,GAAG,CAAC,IAAI,CAAC;YACd,aAAa,EAAE,IAAI;YACnB,IAAI,EAAE;gBACJ,EAAE,EAAE,WAAW;gBACf,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAClC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;QACjB,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEvD;;;GAGG;AACH,MAAM,CAAC,GAAG,CACR,kBAAkB,EAClB,kBAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,EAC3E,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACX,GAAG,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;AACjC,CAAC,CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEvD;;;GAGG;AACH,MAAM,CAAC,GAAG,CACR,kBAAkB,EAClB,kBAAQ,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,eAAe,EAAE,qBAAqB,EAAE,CAAC,EAC3E,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACX,GAAG,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;AACjC,CAAC,CACF,CAAC;AAEF,kBAAe,MAAM,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shahadpichen/docpush",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -4,9 +4,13 @@
4
4
  # Required: GitHub Personal Access Token with repo scope
5
5
  GITHUB_TOKEN=ghp_your_token_here
6
6
 
7
- # Required: Your app's public URL
7
+ # Required: Your DocPush API server URL
8
8
  APP_URL=http://localhost:3000
9
9
 
10
+ # Optional: Your frontend app URL (for OAuth redirect)
11
+ # If different from APP_URL, set this to where users should go after login
12
+ FRONTEND_URL=http://localhost:3001
13
+
10
14
  # Required: Session secret (generate a random string for production)
11
15
  SESSION_SECRET=your-secret-key-here
12
16