@progalaxyelabs/ngx-stonescriptphp-client 1.1.0 → 1.1.1

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 (61) hide show
  1. package/package.json +5 -13
  2. package/dist/api-connection.service.d.ts +0 -35
  3. package/dist/api-connection.service.d.ts.map +0 -1
  4. package/dist/api-connection.service.js +0 -314
  5. package/dist/api-connection.service.js.map +0 -1
  6. package/dist/api-response.model.d.ts +0 -16
  7. package/dist/api-response.model.d.ts.map +0 -1
  8. package/dist/api-response.model.js +0 -51
  9. package/dist/api-response.model.js.map +0 -1
  10. package/dist/auth.service.d.ts +0 -4
  11. package/dist/auth.service.d.ts.map +0 -1
  12. package/dist/auth.service.js +0 -16
  13. package/dist/auth.service.js.map +0 -1
  14. package/dist/csrf.service.d.ts +0 -22
  15. package/dist/csrf.service.d.ts.map +0 -1
  16. package/dist/csrf.service.js +0 -47
  17. package/dist/csrf.service.js.map +0 -1
  18. package/dist/db.service.d.ts +0 -4
  19. package/dist/db.service.d.ts.map +0 -1
  20. package/dist/db.service.js +0 -16
  21. package/dist/db.service.js.map +0 -1
  22. package/dist/esm/api-connection.service.js +0 -311
  23. package/dist/esm/api-connection.service.js.map +0 -1
  24. package/dist/esm/api-response.model.js +0 -47
  25. package/dist/esm/api-response.model.js.map +0 -1
  26. package/dist/esm/auth.service.js +0 -13
  27. package/dist/esm/auth.service.js.map +0 -1
  28. package/dist/esm/csrf.service.js +0 -44
  29. package/dist/esm/csrf.service.js.map +0 -1
  30. package/dist/esm/db.service.js +0 -13
  31. package/dist/esm/db.service.js.map +0 -1
  32. package/dist/esm/index.js +0 -13
  33. package/dist/esm/index.js.map +0 -1
  34. package/dist/esm/my-environment.model.js +0 -29
  35. package/dist/esm/my-environment.model.js.map +0 -1
  36. package/dist/esm/ngx-stonescriptphp-client.module.js +0 -25
  37. package/dist/esm/ngx-stonescriptphp-client.module.js.map +0 -1
  38. package/dist/esm/signin-status.service.js +0 -23
  39. package/dist/esm/signin-status.service.js.map +0 -1
  40. package/dist/esm/token.service.js +0 -61
  41. package/dist/esm/token.service.js.map +0 -1
  42. package/dist/index.d.ts +0 -10
  43. package/dist/index.d.ts.map +0 -1
  44. package/dist/index.js +0 -16
  45. package/dist/index.js.map +0 -1
  46. package/dist/my-environment.model.d.ts +0 -61
  47. package/dist/my-environment.model.d.ts.map +0 -1
  48. package/dist/my-environment.model.js +0 -33
  49. package/dist/my-environment.model.js.map +0 -1
  50. package/dist/ngx-stonescriptphp-client.module.d.ts +0 -6
  51. package/dist/ngx-stonescriptphp-client.module.d.ts.map +0 -1
  52. package/dist/ngx-stonescriptphp-client.module.js +0 -28
  53. package/dist/ngx-stonescriptphp-client.module.js.map +0 -1
  54. package/dist/signin-status.service.d.ts +0 -8
  55. package/dist/signin-status.service.d.ts.map +0 -1
  56. package/dist/signin-status.service.js +0 -26
  57. package/dist/signin-status.service.js.map +0 -1
  58. package/dist/token.service.d.ts +0 -14
  59. package/dist/token.service.d.ts.map +0 -1
  60. package/dist/token.service.js +0 -64
  61. package/dist/token.service.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progalaxyelabs/ngx-stonescriptphp-client",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Angular client library for StoneScriptPHP backend framework",
5
5
  "keywords": [
6
6
  "angular",
@@ -23,25 +23,14 @@
23
23
  "email": "team@stonescriptphp.org",
24
24
  "url": "https://stonescriptphp.org"
25
25
  },
26
- "main": "dist/index.js",
27
- "module": "dist/esm/index.js",
28
- "types": "dist/index.d.ts",
29
- "exports": {
30
- ".": {
31
- "types": "./dist/index.d.ts",
32
- "import": "./dist/esm/index.js",
33
- "require": "./dist/index.js"
34
- }
35
- },
36
26
  "files": [
37
- "dist",
38
27
  "README.md",
39
28
  "HLD.md",
40
29
  "LICENSE",
41
30
  "docs"
42
31
  ],
43
32
  "scripts": {
44
- "build": "rm -rf dist && tsc && tsc -p tsconfig.esm.json",
33
+ "build": "ng-packagr -p ng-package.json",
45
34
  "prepublishOnly": "npm run build",
46
35
  "test": "echo \"No tests configured\"",
47
36
  "publish:npm": "npm publish --access public"
@@ -56,7 +45,10 @@
56
45
  },
57
46
  "devDependencies": {
58
47
  "@angular/common": "^20.0.0",
48
+ "@angular/compiler": "^20.0.0",
49
+ "@angular/compiler-cli": "^20.0.0",
59
50
  "@angular/core": "^20.0.0",
51
+ "ng-packagr": "^20.0.0",
60
52
  "typescript": "~5.8.0"
61
53
  },
62
54
  "publishConfig": {
@@ -1,35 +0,0 @@
1
- import { TokenService } from './token.service';
2
- import { SigninStatusService } from './signin-status.service';
3
- import { ApiResponse } from './api-response.model';
4
- import { MyEnvironmentModel } from './my-environment.model';
5
- import { CsrfService } from './csrf.service';
6
- export declare class ApiConnectionService {
7
- private tokens;
8
- private signinStatus;
9
- private environment;
10
- private csrf;
11
- private host;
12
- private accessToken;
13
- private authConfig;
14
- constructor(tokens: TokenService, signinStatus: SigninStatusService, environment: MyEnvironmentModel, csrf: CsrfService);
15
- private request;
16
- private handleError;
17
- get<DataType>(endpoint: string, queryParamsObj?: any): Promise<ApiResponse<DataType>>;
18
- post<DataType>(pathWithQueryParams: string, data: any): Promise<ApiResponse<DataType>>;
19
- put<DataType>(pathWithQueryParams: string, data: any): Promise<ApiResponse<DataType>>;
20
- patch<DataType>(pathWithQueryParams: string, data: any): Promise<ApiResponse<DataType>>;
21
- delete<DataType>(endpoint: string, queryParamsObj?: any): Promise<ApiResponse<DataType>>;
22
- private includeAccessToken;
23
- private refreshAccessTokenAndRetry;
24
- refreshAccessToken(): Promise<boolean>;
25
- /**
26
- * Refresh access token using cookie-based auth (StoneScriptPHP v2.1.x default)
27
- */
28
- private refreshAccessTokenCookieMode;
29
- /**
30
- * Refresh access token using body-based auth (legacy mode)
31
- */
32
- private refreshAccessTokenBodyMode;
33
- buildQueryString(options?: any): string;
34
- }
35
- //# sourceMappingURL=api-connection.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-connection.service.d.ts","sourceRoot":"","sources":["../src/api-connection.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAc,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAGa,oBAAoB;IASzB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,IAAI;IAVhB,OAAO,CAAC,IAAI,CAAK;IAEjB,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,UAAU,CAAY;gBAGlB,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,mBAAmB,EACjC,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,WAAW;YA4Bf,OAAO;IAmCrB,OAAO,CAAC,WAAW;IAOb,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,GAAG,GAAI,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAStF,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IActF,GAAG,CAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAcrF,KAAK,CAAC,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAcvF,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAsC9F,OAAO,CAAC,kBAAkB;YAaZ,0BAA0B;IAYlC,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAY5C;;OAEG;YACW,4BAA4B;IAwD1C;;OAEG;YACW,0BAA0B;IAkDxC,gBAAgB,CAAC,OAAO,CAAC,EAAE,GAAG,GAAG,MAAM;CAkB1C"}
@@ -1,314 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ApiConnectionService = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@angular/core");
6
- const token_service_1 = require("./token.service");
7
- const signin_status_service_1 = require("./signin-status.service");
8
- const api_response_model_1 = require("./api-response.model");
9
- const my_environment_model_1 = require("./my-environment.model");
10
- const csrf_service_1 = require("./csrf.service");
11
- let ApiConnectionService = class ApiConnectionService {
12
- tokens;
13
- signinStatus;
14
- environment;
15
- csrf;
16
- host = ''; // contains trailing slash
17
- accessToken = '';
18
- authConfig;
19
- constructor(tokens, signinStatus, environment, csrf) {
20
- this.tokens = tokens;
21
- this.signinStatus = signinStatus;
22
- this.environment = environment;
23
- this.csrf = csrf;
24
- this.host = environment.apiServer.host;
25
- // Set default auth config based on mode
26
- this.authConfig = {
27
- mode: environment.auth?.mode || 'cookie',
28
- refreshEndpoint: environment.auth?.refreshEndpoint,
29
- useCsrf: environment.auth?.useCsrf,
30
- refreshTokenCookieName: environment.auth?.refreshTokenCookieName || 'refresh_token',
31
- csrfTokenCookieName: environment.auth?.csrfTokenCookieName || 'csrf_token',
32
- csrfHeaderName: environment.auth?.csrfHeaderName || 'X-CSRF-Token'
33
- };
34
- // Set default refresh endpoint based on mode if not specified
35
- if (!this.authConfig.refreshEndpoint) {
36
- this.authConfig.refreshEndpoint = this.authConfig.mode === 'cookie'
37
- ? '/auth/refresh'
38
- : '/user/refresh_access';
39
- }
40
- // Set default CSRF setting based on mode if not specified
41
- if (this.authConfig.useCsrf === undefined) {
42
- this.authConfig.useCsrf = this.authConfig.mode === 'cookie';
43
- }
44
- }
45
- async request(url, options, data) {
46
- try {
47
- if (data !== null) {
48
- const body = JSON.stringify(data);
49
- if (body) {
50
- options.body = body;
51
- }
52
- else {
53
- options.body = {};
54
- }
55
- }
56
- const accessTokenIncluded = this.includeAccessToken(options);
57
- let response = await fetch(url, options);
58
- if ((response.status === 401) && accessTokenIncluded) {
59
- response = await this.refreshAccessTokenAndRetry(url, options, response);
60
- }
61
- if (response.ok) {
62
- const json = await (response.json());
63
- return (new api_response_model_1.ApiResponse(json.status, json.data, json.message));
64
- }
65
- if (response.status === 401) {
66
- this.signinStatus.signedOut();
67
- }
68
- return this.handleError(response);
69
- }
70
- catch (error) {
71
- return this.handleError(error);
72
- }
73
- }
74
- handleError(error) {
75
- console.error(`Backend returned code ${error.status}, ` +
76
- `full error: `, error);
77
- return new api_response_model_1.ApiResponse('error');
78
- }
79
- async get(endpoint, queryParamsObj) {
80
- const url = this.host + endpoint.replace(/^\/+/, '') + this.buildQueryString(queryParamsObj);
81
- const fetchOptions = {
82
- mode: 'cors',
83
- redirect: 'error'
84
- };
85
- return this.request(url, fetchOptions, null);
86
- }
87
- async post(pathWithQueryParams, data) {
88
- const url = this.host + pathWithQueryParams.replace(/^\/+/, '');
89
- const fetchOptions = {
90
- method: 'POST',
91
- mode: 'cors',
92
- redirect: 'error',
93
- headers: {
94
- 'Content-Type': 'application/json'
95
- },
96
- body: JSON.stringify(data)
97
- };
98
- return this.request(url, fetchOptions, data);
99
- }
100
- async put(pathWithQueryParams, data) {
101
- const url = this.host + pathWithQueryParams.replace(/^\/+/, '');
102
- const fetchOptions = {
103
- method: 'PUT',
104
- mode: 'cors',
105
- redirect: 'error',
106
- headers: {
107
- 'Content-Type': 'application/json'
108
- },
109
- body: JSON.stringify(data)
110
- };
111
- return this.request(url, fetchOptions, data);
112
- }
113
- async patch(pathWithQueryParams, data) {
114
- const url = this.host + pathWithQueryParams.replace(/^\/+/, '');
115
- const fetchOptions = {
116
- method: 'PATCH',
117
- mode: 'cors',
118
- redirect: 'error',
119
- headers: {
120
- 'Content-Type': 'application/json'
121
- },
122
- body: JSON.stringify(data)
123
- };
124
- return this.request(url, fetchOptions, data);
125
- }
126
- async delete(endpoint, queryParamsObj) {
127
- const url = this.host + endpoint.replace(/^\/+/, '') + this.buildQueryString(queryParamsObj);
128
- const fetchOptions = {
129
- method: 'DELETE',
130
- mode: 'cors',
131
- redirect: 'error'
132
- };
133
- return this.request(url, fetchOptions, null);
134
- }
135
- // async postFormWithFiles(pathWithQueryParams: string, formData: FormData): Promise<ApiResponse | null> {
136
- // const url = this.host + pathWithQueryParams.replace(/^\/+/, '')
137
- // try {
138
- // const fetchOptions: RequestInit = {
139
- // method: 'POST',
140
- // mode: 'cors',
141
- // redirect: 'error',
142
- // body: formData
143
- // }
144
- // const accessTokenIncluded = this.includeAccessToken(fetchOptions)
145
- // let response: Response = await fetch(url, fetchOptions)
146
- // if ((response.status === 401) && accessTokenIncluded) {
147
- // response = await this.refreshAccessTokenAndRetry(url, fetchOptions, response)
148
- // }
149
- // if (response.ok) {
150
- // return ((await (response.json()) as ApiResponse))
151
- // }
152
- // return this.handleError(response)
153
- // } catch (error) {
154
- // return this.handleError(error)
155
- // }
156
- // }
157
- includeAccessToken(options) {
158
- this.accessToken = this.tokens.getAccessToken();
159
- if (!this.accessToken) {
160
- return false;
161
- }
162
- if (!options.headers) {
163
- options.headers = {};
164
- }
165
- options.headers['Authorization'] = 'Bearer ' + this.accessToken;
166
- return true;
167
- }
168
- async refreshAccessTokenAndRetry(url, fetchOptions, response) {
169
- const refreshStatusOk = await this.refreshAccessToken();
170
- if (!refreshStatusOk) {
171
- return response;
172
- }
173
- fetchOptions.headers['Authorization'] = 'Bearer ' + this.accessToken;
174
- response = await fetch(url, fetchOptions);
175
- return response;
176
- }
177
- async refreshAccessToken() {
178
- if (this.authConfig.mode === 'none') {
179
- return false;
180
- }
181
- if (this.authConfig.mode === 'cookie') {
182
- return await this.refreshAccessTokenCookieMode();
183
- }
184
- else {
185
- return await this.refreshAccessTokenBodyMode();
186
- }
187
- }
188
- /**
189
- * Refresh access token using cookie-based auth (StoneScriptPHP v2.1.x default)
190
- */
191
- async refreshAccessTokenCookieMode() {
192
- try {
193
- const refreshTokenUrl = this.host + this.authConfig.refreshEndpoint.replace(/^\/+/, '');
194
- const headers = {
195
- 'Content-Type': 'application/json'
196
- };
197
- // Add CSRF token if enabled
198
- if (this.authConfig.useCsrf) {
199
- const csrfToken = this.csrf.getCsrfToken(this.authConfig.csrfTokenCookieName);
200
- if (!csrfToken) {
201
- console.error('CSRF token not found in cookie');
202
- return false;
203
- }
204
- headers[this.authConfig.csrfHeaderName] = csrfToken;
205
- }
206
- let refreshTokenResponse = await fetch(refreshTokenUrl, {
207
- method: 'POST',
208
- mode: 'cors',
209
- credentials: 'include', // Important: send cookies
210
- redirect: 'error',
211
- headers: headers
212
- });
213
- if (!refreshTokenResponse.ok) {
214
- this.accessToken = '';
215
- this.tokens.clear();
216
- return false;
217
- }
218
- let refreshAccessData = await refreshTokenResponse.json();
219
- if (!refreshAccessData || refreshAccessData.status !== 'ok') {
220
- return false;
221
- }
222
- // Extract access token from response
223
- const newAccessToken = refreshAccessData.data?.access_token || refreshAccessData.access_token;
224
- if (!newAccessToken) {
225
- console.error('No access token in refresh response');
226
- return false;
227
- }
228
- // Store new access token (refresh token is in httpOnly cookie)
229
- this.tokens.setAccessToken(newAccessToken);
230
- this.accessToken = newAccessToken;
231
- return true;
232
- }
233
- catch (error) {
234
- console.error('Token refresh failed (cookie mode):', error);
235
- this.accessToken = '';
236
- this.tokens.clear();
237
- return false;
238
- }
239
- }
240
- /**
241
- * Refresh access token using body-based auth (legacy mode)
242
- */
243
- async refreshAccessTokenBodyMode() {
244
- try {
245
- const refreshToken = this.tokens.getRefreshToken();
246
- if (!refreshToken) {
247
- return false;
248
- }
249
- const refreshTokenUrl = this.host + this.authConfig.refreshEndpoint.replace(/^\/+/, '');
250
- let refreshTokenResponse = await fetch(refreshTokenUrl, {
251
- method: 'POST',
252
- mode: 'cors',
253
- redirect: 'error',
254
- headers: {
255
- 'Content-Type': 'application/json'
256
- },
257
- body: JSON.stringify({
258
- access_token: this.accessToken,
259
- refresh_token: refreshToken
260
- })
261
- });
262
- if (!refreshTokenResponse.ok) {
263
- this.accessToken = '';
264
- this.tokens.clear();
265
- return false;
266
- }
267
- let refreshAccessData = await refreshTokenResponse.json();
268
- if (!refreshAccessData) {
269
- return false;
270
- }
271
- const newAccessToken = refreshAccessData.data?.access_token || refreshAccessData.access_token;
272
- if (!newAccessToken) {
273
- console.error('No access token in refresh response');
274
- return false;
275
- }
276
- this.tokens.setTokens(newAccessToken, refreshToken);
277
- this.accessToken = newAccessToken;
278
- return true;
279
- }
280
- catch (error) {
281
- console.error('Token refresh failed (body mode):', error);
282
- this.accessToken = '';
283
- this.tokens.clear();
284
- return false;
285
- }
286
- }
287
- buildQueryString(options) {
288
- if (options === undefined) {
289
- return '';
290
- }
291
- const array = [];
292
- for (let key in options) {
293
- if (options.hasOwnProperty(key) && (options[key] !== null) && (options[key] !== undefined)) {
294
- array.push(encodeURIComponent(key) + "=" + encodeURIComponent(options[key]));
295
- }
296
- }
297
- const str = array.join('&');
298
- if (str !== '') {
299
- return '?' + str;
300
- }
301
- return '';
302
- }
303
- };
304
- exports.ApiConnectionService = ApiConnectionService;
305
- exports.ApiConnectionService = ApiConnectionService = tslib_1.__decorate([
306
- (0, core_1.Injectable)({
307
- providedIn: 'root'
308
- }),
309
- tslib_1.__metadata("design:paramtypes", [token_service_1.TokenService,
310
- signin_status_service_1.SigninStatusService,
311
- my_environment_model_1.MyEnvironmentModel,
312
- csrf_service_1.CsrfService])
313
- ], ApiConnectionService);
314
- //# sourceMappingURL=api-connection.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-connection.service.js","sourceRoot":"","sources":["../src/api-connection.service.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- export declare class ApiResponse<DataType> {
2
- private status;
3
- private data;
4
- private message;
5
- constructor(status: string, data?: any, message?: string);
6
- onOk(callback: (data: DataType) => void): ApiResponse<DataType>;
7
- onNotOk(callback: (message: string, data: DataType) => void): ApiResponse<DataType>;
8
- onError(callback: () => void): ApiResponse<DataType>;
9
- isSuccess(): boolean;
10
- isError(): boolean;
11
- getData(): DataType | null;
12
- getError(): string;
13
- getStatus(): string;
14
- getMessage(): string;
15
- }
16
- //# sourceMappingURL=api-response.model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-response.model.d.ts","sourceRoot":"","sources":["../src/api-response.model.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW,CAAC,QAAQ;IAC7B,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,OAAO,CAAQ;gBAEX,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,GAAQ,EAAE,OAAO,GAAE,MAAW;IAMhE,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC;IAO/D,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC;IAOnF,OAAO,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC;IAOpD,SAAS,IAAI,OAAO;IAIpB,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,QAAQ,GAAG,IAAI;IAI1B,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,MAAM;IAInB,UAAU,IAAI,MAAM;CAGvB"}
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ApiResponse = void 0;
4
- class ApiResponse {
5
- status;
6
- data;
7
- message;
8
- constructor(status, data = {}, message = '') {
9
- this.status = status;
10
- this.data = data;
11
- this.message = message;
12
- }
13
- onOk(callback) {
14
- if (this.status === 'ok') {
15
- callback(this.data);
16
- }
17
- return this;
18
- }
19
- onNotOk(callback) {
20
- if (this.status === 'not ok') {
21
- callback(this.message, this.data);
22
- }
23
- return this;
24
- }
25
- onError(callback) {
26
- if (this.status === 'error') {
27
- callback();
28
- }
29
- return this;
30
- }
31
- isSuccess() {
32
- return this.status === 'ok';
33
- }
34
- isError() {
35
- return this.status === 'error' || this.status === 'not ok';
36
- }
37
- getData() {
38
- return this.data || null;
39
- }
40
- getError() {
41
- return this.message || 'Unknown error';
42
- }
43
- getStatus() {
44
- return this.status;
45
- }
46
- getMessage() {
47
- return this.message;
48
- }
49
- }
50
- exports.ApiResponse = ApiResponse;
51
- //# sourceMappingURL=api-response.model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-response.model.js","sourceRoot":"","sources":["../src/api-response.model.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;IACZ,MAAM,CAAQ;IACd,IAAI,CAAK;IACT,OAAO,CAAQ;IAEvB,YAAY,MAAc,EAAE,OAAY,EAAE,EAAE,UAAkB,EAAE;QAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAED,IAAI,CAAC,QAAkC;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,OAAO,CAAC,QAAmD;QACvD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,OAAO,CAAC,QAAoB;QACxB,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC1B,QAAQ,EAAE,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAA;IAC/B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAA;IAC9D,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAA;IAC5B,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,OAAO,IAAI,eAAe,CAAA;IAC1C,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAA;IACtB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;CACJ;AAvDD,kCAuDC"}
@@ -1,4 +0,0 @@
1
- export declare class AuthService {
2
- constructor();
3
- }
4
- //# sourceMappingURL=auth.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../src/auth.service.ts"],"names":[],"mappings":"AAEA,qBAGa,WAAW;;CAGvB"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AuthService = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@angular/core");
6
- let AuthService = class AuthService {
7
- constructor() { }
8
- };
9
- exports.AuthService = AuthService;
10
- exports.AuthService = AuthService = tslib_1.__decorate([
11
- (0, core_1.Injectable)({
12
- providedIn: 'root'
13
- }),
14
- tslib_1.__metadata("design:paramtypes", [])
15
- ], AuthService);
16
- //# sourceMappingURL=auth.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../src/auth.service.ts"],"names":[],"mappings":";;;;AAAA,wCAA2C;AAKpC,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEtB,gBAAgB,CAAC;CAClB,CAAA;AAHY,kCAAW;sBAAX,WAAW;IAHvB,IAAA,iBAAU,EAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;;GACW,WAAW,CAGvB"}
@@ -1,22 +0,0 @@
1
- /**
2
- * CSRF Token Service
3
- *
4
- * Manages CSRF tokens for cookie-based authentication.
5
- * Reads CSRF token from cookies and provides it for request headers.
6
- */
7
- export declare class CsrfService {
8
- /**
9
- * Get CSRF token from cookie
10
- */
11
- getCsrfToken(cookieName?: string): string | null;
12
- /**
13
- * Check if CSRF token exists
14
- */
15
- hasCsrfToken(cookieName?: string): boolean;
16
- /**
17
- * Clear CSRF token (for logout)
18
- * Note: Client-side deletion is limited for httpOnly cookies
19
- */
20
- clearCsrfToken(cookieName?: string): void;
21
- }
22
- //# sourceMappingURL=csrf.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"csrf.service.d.ts","sourceRoot":"","sources":["../src/csrf.service.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,qBAGa,WAAW;IAEpB;;OAEG;IACH,YAAY,CAAC,UAAU,GAAE,MAAqB,GAAG,MAAM,GAAG,IAAI;IAW9D;;OAEG;IACH,YAAY,CAAC,UAAU,GAAE,MAAqB,GAAG,OAAO;IAIxD;;;OAGG;IACH,cAAc,CAAC,UAAU,GAAE,MAAqB,GAAG,IAAI;CAI1D"}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CsrfService = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@angular/core");
6
- /**
7
- * CSRF Token Service
8
- *
9
- * Manages CSRF tokens for cookie-based authentication.
10
- * Reads CSRF token from cookies and provides it for request headers.
11
- */
12
- let CsrfService = class CsrfService {
13
- /**
14
- * Get CSRF token from cookie
15
- */
16
- getCsrfToken(cookieName = 'csrf_token') {
17
- const cookies = document.cookie.split(';');
18
- for (const cookie of cookies) {
19
- const [name, value] = cookie.trim().split('=');
20
- if (name === cookieName) {
21
- return decodeURIComponent(value);
22
- }
23
- }
24
- return null;
25
- }
26
- /**
27
- * Check if CSRF token exists
28
- */
29
- hasCsrfToken(cookieName = 'csrf_token') {
30
- return this.getCsrfToken(cookieName) !== null;
31
- }
32
- /**
33
- * Clear CSRF token (for logout)
34
- * Note: Client-side deletion is limited for httpOnly cookies
35
- */
36
- clearCsrfToken(cookieName = 'csrf_token') {
37
- // Can only clear non-httpOnly cookies
38
- document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;
39
- }
40
- };
41
- exports.CsrfService = CsrfService;
42
- exports.CsrfService = CsrfService = tslib_1.__decorate([
43
- (0, core_1.Injectable)({
44
- providedIn: 'root'
45
- })
46
- ], CsrfService);
47
- //# sourceMappingURL=csrf.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"csrf.service.js","sourceRoot":"","sources":["../src/csrf.service.ts"],"names":[],"mappings":";;;;AAAA,wCAA2C;AAE3C;;;;;GAKG;AAII,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEpB;;OAEG;IACH,YAAY,CAAC,aAAqB,YAAY;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACtB,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,aAAqB,YAAY;QAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,aAAqB,YAAY;QAC5C,sCAAsC;QACtC,QAAQ,CAAC,MAAM,GAAG,GAAG,UAAU,mDAAmD,CAAC;IACvF,CAAC;CACJ,CAAA;AA/BY,kCAAW;sBAAX,WAAW;IAHvB,IAAA,iBAAU,EAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;GACW,WAAW,CA+BvB"}
@@ -1,4 +0,0 @@
1
- export declare class DbService {
2
- constructor();
3
- }
4
- //# sourceMappingURL=db.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"db.service.d.ts","sourceRoot":"","sources":["../src/db.service.ts"],"names":[],"mappings":"AAEA,qBAGa,SAAS;;CAGrB"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DbService = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@angular/core");
6
- let DbService = class DbService {
7
- constructor() { }
8
- };
9
- exports.DbService = DbService;
10
- exports.DbService = DbService = tslib_1.__decorate([
11
- (0, core_1.Injectable)({
12
- providedIn: 'root'
13
- }),
14
- tslib_1.__metadata("design:paramtypes", [])
15
- ], DbService);
16
- //# sourceMappingURL=db.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"db.service.js","sourceRoot":"","sources":["../src/db.service.ts"],"names":[],"mappings":";;;;AAAA,wCAA2C;AAKpC,IAAM,SAAS,GAAf,MAAM,SAAS;IAEpB,gBAAgB,CAAC;CAClB,CAAA;AAHY,8BAAS;oBAAT,SAAS;IAHrB,IAAA,iBAAU,EAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;;GACW,SAAS,CAGrB"}