@urga-panel/ur-panels-core 1.0.1 → 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.
@@ -37,6 +37,13 @@ export declare abstract class AuthService extends Service {
37
37
  databaseId?: string;
38
38
  };
39
39
  }>;
40
+ logoutRequest({ username, password, params, request, url }: {
41
+ username: any;
42
+ password: any;
43
+ params: any;
44
+ request: any;
45
+ url: any;
46
+ }): Promise<any>;
40
47
  loginRequest({ username, password, params, request, url }: {
41
48
  username: any;
42
49
  password: any;
@@ -21,6 +21,7 @@ export class AuthService extends Service {
21
21
  const requestHandlerService = this.ots.usedService.RequestHandlerService();
22
22
  // requestHandlerService.addHandler("deneme",this.loginHandler.bind(this));
23
23
  requestHandlerService.addHandler("login", this.loginRequest.bind(this));
24
+ requestHandlerService.addHandler("logout", this.logoutRequest.bind(this));
24
25
  requestHandlerService.addHandler("deneme", this.deneme.bind(this), {
25
26
  auth: true,
26
27
  role: "guest" // Örnek olarak admin rolü
@@ -51,6 +52,23 @@ export class AuthService extends Service {
51
52
  // role?: string; // Optional role field
52
53
  // };
53
54
  // }>;
55
+ async logoutRequest({ username, password, params, request, url }) {
56
+ try {
57
+ // Token cookie’lerini silmek için geçmiş tarih veriyoruz
58
+ return new Response(JSON.stringify({ status: "success", message: "Logged out successfully" }), {
59
+ status: 200,
60
+ headers: {
61
+ "Set-Cookie": `accessToken=; Path=/; HttpOnly; Secure; SameSite=Strict; Max-Age=0, ` +
62
+ `refreshToken=; Path=/; HttpOnly; Secure; SameSite=Strict; Max-Age=0`,
63
+ "Content-Type": "application/json"
64
+ }
65
+ });
66
+ }
67
+ catch (error) {
68
+ console.error("Logout error:", error);
69
+ return new Response(JSON.stringify({ status: "error", message: "An error occurred during logout" }), { status: 500, headers: { "Content-Type": "application/json" } });
70
+ }
71
+ }
54
72
  // Define methods specific to AuthService here
55
73
  async loginRequest({ username, password, params, request, url }) {
56
74
  //const { username, password } = params;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@urga-panel/ur-panels-core",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -37,6 +37,7 @@ export abstract class AuthService extends Service {
37
37
  const requestHandlerService = this.ots.usedService.RequestHandlerService() as RequestHandlerService;
38
38
  // requestHandlerService.addHandler("deneme",this.loginHandler.bind(this));
39
39
  requestHandlerService.addHandler("login", this.loginRequest.bind(this));
40
+ requestHandlerService.addHandler("logout", this.logoutRequest.bind(this));
40
41
  requestHandlerService.addHandler("deneme", this.deneme.bind(this), {
41
42
  auth: true,
42
43
  role: "guest" // Örnek olarak admin rolü
@@ -91,6 +92,30 @@ export abstract class AuthService extends Service {
91
92
  // };
92
93
  // }>;
93
94
 
95
+ async logoutRequest({ username, password, params, request, url }): Promise<any> {
96
+ try {
97
+ // Token cookie’lerini silmek için geçmiş tarih veriyoruz
98
+ return new Response(
99
+ JSON.stringify({ status: "success", message: "Logged out successfully" }),
100
+ {
101
+ status: 200,
102
+ headers: {
103
+ "Set-Cookie":
104
+ `accessToken=; Path=/; HttpOnly; Secure; SameSite=Strict; Max-Age=0, ` +
105
+ `refreshToken=; Path=/; HttpOnly; Secure; SameSite=Strict; Max-Age=0`,
106
+ "Content-Type": "application/json"
107
+ }
108
+ }
109
+ );
110
+ } catch (error) {
111
+ console.error("Logout error:", error);
112
+ return new Response(
113
+ JSON.stringify({ status: "error", message: "An error occurred during logout" }),
114
+ { status: 500, headers: { "Content-Type": "application/json" } }
115
+ );
116
+ }
117
+ }
118
+
94
119
  // Define methods specific to AuthService here
95
120
  async loginRequest({ username, password, params, request, url }): Promise<any> {
96
121
  //const { username, password } = params;
@@ -124,9 +149,9 @@ export abstract class AuthService extends Service {
124
149
  }
125
150
 
126
151
  const accessToken = jwt.sign(
127
- {
128
- id: result.user.id,
129
- username: result.user.username,
152
+ {
153
+ id: result.user.id,
154
+ username: result.user.username,
130
155
  role: result.user.role,
131
156
  databaseId: result.user.databaseId // databaseId eklendi
132
157
  },
@@ -136,9 +161,9 @@ export abstract class AuthService extends Service {
136
161
 
137
162
  // 5. Refresh Token üret
138
163
  const refreshToken = jwt.sign(
139
- {
140
- id: result.user.id,
141
- username: result.user.username,
164
+ {
165
+ id: result.user.id,
166
+ username: result.user.username,
142
167
  role: result.user.role,
143
168
  databaseId: result.user.databaseId // databaseId eklendi
144
169
  },
@@ -231,7 +256,7 @@ export abstract class AuthService extends Service {
231
256
 
232
257
  //Check role here
233
258
  // Admin ise onay ver
234
-
259
+
235
260
  // Admin ise devam etsin
236
261
  if (options?.role && res.user?.role === 'admin') {
237
262
  // admin ise role kontrolü atlanır, devam edilir
@@ -251,9 +276,9 @@ export abstract class AuthService extends Service {
251
276
  { expiresIn: '15m' }
252
277
  );
253
278
  const newRefreshToken = jwt.sign(
254
- {
255
- id: decodedRefresh.id,
256
- username: decodedRefresh.username,
279
+ {
280
+ id: decodedRefresh.id,
281
+ username: decodedRefresh.username,
257
282
  role: decodedRefresh.role,
258
283
  databaseId: decodedRefresh.databaseId // databaseId eklendi
259
284
  },