@urga-panel/ur-panels-core 1.0.6 → 1.0.8

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.
@@ -112,12 +112,14 @@ export class AuthService extends Service {
112
112
  databaseId: result.user.databaseId,
113
113
  databases: result.user.databases // databaseId eklendi
114
114
  }, JWT_REFRESH_SECRET, { expiresIn: '7d' });
115
- // return { status: "success", accessToken: accessToken,
116
- // refreshToken: refreshToken };
117
- // // ...tokenları ürettikten sonra...
115
+ // --- ENVIRONMENT-BASED COOKIE SETTINGS ---
116
+ const isProd = process.env.NODE_ENV === 'production';
117
+ const domain = isProd ? '.urpanels.com' : '.local.test';
118
+ const secure = isProd ? 'Secure; ' : '';
119
+ const sameSite = isProd ? 'Strict' : 'Lax';
118
120
  const headers = new Headers();
119
- headers.append("Set-Cookie", `accessToken=${accessToken}; Path=/; Domain=.local.test; HttpOnly; SameSite=Lax; Max-Age=900`);
120
- headers.append("Set-Cookie", `refreshToken=${refreshToken}; Path=/; Domain=.local.test; HttpOnly; SameSite=Lax; Max-Age=604800`);
121
+ headers.append("Set-Cookie", `accessToken=${accessToken}; Path=/; Domain=${domain}; ${secure}HttpOnly; SameSite=${sameSite}; Max-Age=900`);
122
+ headers.append("Set-Cookie", `refreshToken=${refreshToken}; Path=/; Domain=${domain}; ${secure}HttpOnly; SameSite=${sameSite}; Max-Age=604800`);
121
123
  headers.append("Content-Type", `application/json`);
122
124
  return new Response(JSON.stringify({ status: "success", message: "valid credentials", data: { user: result.user } }), {
123
125
  status: 200,
@@ -28,6 +28,7 @@ export declare abstract class ProjectInfoService extends Service {
28
28
  requiredServices: any[];
29
29
  };
30
30
  abstract pages: ProjectsPages;
31
+ abstract frontServices: any;
31
32
  constructor(ots: ProjectInfoOts);
32
33
  protected onSetup(options?: ServiceSetupOptions): Promise<ServiceResponse>;
33
34
  protected onStart(): Promise<ServiceResponse>;
@@ -11,6 +11,13 @@ export class ProjectInfoService extends Service {
11
11
  this.ots = ots;
12
12
  }
13
13
  async onSetup(options) {
14
+ Object.keys(this.frontServices).forEach(async (tag) => {
15
+ const service = this.ots.abilities.createChildService?.(tag, this.frontServices[tag].serviceRef || PageService);
16
+ if (service) {
17
+ this.frontServices[tag].service = service;
18
+ }
19
+ await service.setup();
20
+ });
14
21
  // Create a service for each page
15
22
  Object.keys(this.pages).forEach(async (tag) => {
16
23
  const service = this.ots.abilities.createChildService?.("ProjectPage-" + tag, this.pages[tag].serviceRef || PageService);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@urga-panel/ur-panels-core",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -174,19 +174,22 @@ export abstract class AuthService extends Service {
174
174
  { expiresIn: '7d' }
175
175
  );
176
176
 
177
- // return { status: "success", accessToken: accessToken,
178
- // refreshToken: refreshToken };
179
- // // ...tokenları ürettikten sonra...
177
+ // --- ENVIRONMENT-BASED COOKIE SETTINGS ---
178
+ const isProd = process.env.NODE_ENV === 'production';
179
+ const domain = isProd ? '.urpanels.com' : '.local.test';
180
+ const secure = isProd ? 'Secure; ' : '';
181
+ const sameSite = isProd ? 'Strict' : 'Lax';
182
+
180
183
  const headers = new Headers();
181
184
 
182
185
  headers.append(
183
186
  "Set-Cookie",
184
- `accessToken=${accessToken}; Path=/; Domain=.local.test; HttpOnly; SameSite=Lax; Max-Age=900`
187
+ `accessToken=${accessToken}; Path=/; Domain=${domain}; ${secure}HttpOnly; SameSite=${sameSite}; Max-Age=900`
185
188
  );
186
189
 
187
190
  headers.append(
188
191
  "Set-Cookie",
189
- `refreshToken=${refreshToken}; Path=/; Domain=.local.test; HttpOnly; SameSite=Lax; Max-Age=604800`
192
+ `refreshToken=${refreshToken}; Path=/; Domain=${domain}; ${secure}HttpOnly; SameSite=${sameSite}; Max-Age=604800`
190
193
  );
191
194
  headers.append(
192
195
  "Content-Type",
@@ -34,12 +34,24 @@ export abstract class ProjectInfoService extends Service {
34
34
  }
35
35
 
36
36
  abstract pages: ProjectsPages;
37
+ abstract frontServices: any;
37
38
 
38
39
  constructor(public ots: ProjectInfoOts) {
39
40
  super({ ...ots });
40
41
  }
41
42
 
42
43
  protected async onSetup(options?: ServiceSetupOptions): Promise<ServiceResponse> {
44
+
45
+ Object.keys(this.frontServices).forEach(async tag => {
46
+ const service = this.ots.abilities.createChildService?.(tag,
47
+ this.frontServices[tag].serviceRef || PageService
48
+ );
49
+ if (service) {
50
+ this.frontServices[tag].service = service as PageService;
51
+ }
52
+ await service.setup();
53
+ });
54
+
43
55
  // Create a service for each page
44
56
  Object.keys(this.pages).forEach(async tag => {
45
57
  const service = this.ots.abilities.createChildService?.("ProjectPage-" + tag,