entity-client 1.0.24 → 1.0.26

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 (42) hide show
  1. package/dist/EntityAppServerApi.d.ts +49 -0
  2. package/dist/EntityServerApi.d.ts +24 -0
  3. package/dist/client/base.d.ts +13 -0
  4. package/dist/client/base.js +1 -1
  5. package/dist/client/base.js.map +3 -3
  6. package/dist/client/request.d.ts +6 -0
  7. package/dist/client/request.js +1 -1
  8. package/dist/client/request.js.map +3 -3
  9. package/dist/index.js +1 -1
  10. package/dist/index.js.map +3 -3
  11. package/dist/mixins/app/plugins/alimtalk.d.ts +3 -0
  12. package/dist/mixins/app/plugins/friendtalk.d.ts +3 -0
  13. package/dist/mixins/app/plugins/holidays.d.ts +3 -0
  14. package/dist/mixins/app/plugins/identity.d.ts +3 -0
  15. package/dist/mixins/app/plugins/llm.d.ts +3 -0
  16. package/dist/mixins/app/plugins/ocr.d.ts +3 -0
  17. package/dist/mixins/app/plugins/pg.d.ts +3 -0
  18. package/dist/mixins/app/plugins/push.d.ts +3 -0
  19. package/dist/mixins/app/plugins/sms.d.ts +3 -0
  20. package/dist/mixins/app/plugins/taxinvoice.d.ts +3 -0
  21. package/dist/mixins/app/routes/account.d.ts +3 -0
  22. package/dist/mixins/app/routes/board.d.ts +4 -0
  23. package/dist/mixins/app/routes/board.js +1 -1
  24. package/dist/mixins/app/routes/board.js.map +2 -2
  25. package/dist/mixins/app/routes/email-verify.d.ts +3 -0
  26. package/dist/mixins/app/routes/oauth.d.ts +3 -0
  27. package/dist/mixins/app/routes/password-reset.d.ts +3 -0
  28. package/dist/mixins/app/routes/two-factor.d.ts +3 -0
  29. package/dist/mixins/server/admin.d.ts +3 -0
  30. package/dist/mixins/server/auth.d.ts +3 -0
  31. package/dist/mixins/server/auth.js +1 -1
  32. package/dist/mixins/server/auth.js.map +3 -3
  33. package/dist/mixins/server/entity.d.ts +3 -0
  34. package/dist/mixins/server/file.d.ts +3 -0
  35. package/dist/mixins/server/push.d.ts +3 -0
  36. package/dist/mixins/server/smtp.d.ts +3 -0
  37. package/dist/mixins/server/transaction.d.ts +3 -0
  38. package/dist/mixins/server/utils.d.ts +3 -0
  39. package/dist/react.js +1 -1
  40. package/dist/react.js.map +3 -3
  41. package/dist/types.d.ts +12 -0
  42. package/package.json +1 -1
@@ -15,12 +15,14 @@ export declare function AlimtalkMixin<TBase extends GConstructor<EntityServerCli
15
15
  apiKey: string;
16
16
  hmacSecret: string;
17
17
  encryptRequests: boolean;
18
+ debugPlainSecret: string;
18
19
  csrfEnabled: boolean;
19
20
  csrfHeaderName: string;
20
21
  csrfCookieName: string;
21
22
  csrfRefresher: (() => Promise<void>) | null;
22
23
  requestAbortControllers: Map<string, AbortController>;
23
24
  activeTxId: string | null;
25
+ initialHealthFired: boolean;
24
26
  keepSession: boolean;
25
27
  refreshBuffer: number;
26
28
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -43,6 +45,7 @@ export declare function AlimtalkMixin<TBase extends GConstructor<EntityServerCli
43
45
  realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
44
46
  realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
45
47
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
48
+ fireInitialHealth(): void;
46
49
  setToken(token: string): void;
47
50
  setAccessTokenFromResponse(token: string): void;
48
51
  syncRealtimeWithToken(): void;
@@ -9,12 +9,14 @@ export declare function FriendtalkMixin<TBase extends GConstructor<EntityServerC
9
9
  apiKey: string;
10
10
  hmacSecret: string;
11
11
  encryptRequests: boolean;
12
+ debugPlainSecret: string;
12
13
  csrfEnabled: boolean;
13
14
  csrfHeaderName: string;
14
15
  csrfCookieName: string;
15
16
  csrfRefresher: (() => Promise<void>) | null;
16
17
  requestAbortControllers: Map<string, AbortController>;
17
18
  activeTxId: string | null;
19
+ initialHealthFired: boolean;
18
20
  keepSession: boolean;
19
21
  refreshBuffer: number;
20
22
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -37,6 +39,7 @@ export declare function FriendtalkMixin<TBase extends GConstructor<EntityServerC
37
39
  realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
38
40
  realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
39
41
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
42
+ fireInitialHealth(): void;
40
43
  setToken(token: string): void;
41
44
  setAccessTokenFromResponse(token: string): void;
42
45
  syncRealtimeWithToken(): void;
@@ -17,12 +17,14 @@ export declare function HolidaysMixin<TBase extends GConstructor<EntityServerCli
17
17
  apiKey: string;
18
18
  hmacSecret: string;
19
19
  encryptRequests: boolean;
20
+ debugPlainSecret: string;
20
21
  csrfEnabled: boolean;
21
22
  csrfHeaderName: string;
22
23
  csrfCookieName: string;
23
24
  csrfRefresher: (() => Promise<void>) | null;
24
25
  requestAbortControllers: Map<string, AbortController>;
25
26
  activeTxId: string | null;
27
+ initialHealthFired: boolean;
26
28
  keepSession: boolean;
27
29
  refreshBuffer: number;
28
30
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -45,6 +47,7 @@ export declare function HolidaysMixin<TBase extends GConstructor<EntityServerCli
45
47
  realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
46
48
  realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
47
49
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
50
+ fireInitialHealth(): void;
48
51
  setToken(token: string): void;
49
52
  setAccessTokenFromResponse(token: string): void;
50
53
  syncRealtimeWithToken(): void;
@@ -15,12 +15,14 @@ export declare function IdentityMixin<TBase extends GConstructor<EntityServerCli
15
15
  apiKey: string;
16
16
  hmacSecret: string;
17
17
  encryptRequests: boolean;
18
+ debugPlainSecret: string;
18
19
  csrfEnabled: boolean;
19
20
  csrfHeaderName: string;
20
21
  csrfCookieName: string;
21
22
  csrfRefresher: (() => Promise<void>) | null;
22
23
  requestAbortControllers: Map<string, AbortController>;
23
24
  activeTxId: string | null;
25
+ initialHealthFired: boolean;
24
26
  keepSession: boolean;
25
27
  refreshBuffer: number;
26
28
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -43,6 +45,7 @@ export declare function IdentityMixin<TBase extends GConstructor<EntityServerCli
43
45
  realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
44
46
  realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
45
47
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
48
+ fireInitialHealth(): void;
46
49
  setToken(token: string): void;
47
50
  setAccessTokenFromResponse(token: string): void;
48
51
  syncRealtimeWithToken(): void;
@@ -77,12 +77,14 @@ export declare function LlmMixin<TBase extends GConstructor<EntityServerClientBa
77
77
  apiKey: string;
78
78
  hmacSecret: string;
79
79
  encryptRequests: boolean;
80
+ debugPlainSecret: string;
80
81
  csrfEnabled: boolean;
81
82
  csrfHeaderName: string;
82
83
  csrfCookieName: string;
83
84
  csrfRefresher: (() => Promise<void>) | null;
84
85
  requestAbortControllers: Map<string, AbortController>;
85
86
  activeTxId: string | null;
87
+ initialHealthFired: boolean;
86
88
  keepSession: boolean;
87
89
  refreshBuffer: number;
88
90
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -105,6 +107,7 @@ export declare function LlmMixin<TBase extends GConstructor<EntityServerClientBa
105
107
  realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
106
108
  realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
107
109
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
110
+ fireInitialHealth(): void;
108
111
  setToken(token: string): void;
109
112
  setAccessTokenFromResponse(token: string): void;
110
113
  syncRealtimeWithToken(): void;
@@ -23,12 +23,14 @@ export declare function OcrMixin<TBase extends GConstructor<EntityServerClientBa
23
23
  apiKey: string;
24
24
  hmacSecret: string;
25
25
  encryptRequests: boolean;
26
+ debugPlainSecret: string;
26
27
  csrfEnabled: boolean;
27
28
  csrfHeaderName: string;
28
29
  csrfCookieName: string;
29
30
  csrfRefresher: (() => Promise<void>) | null;
30
31
  requestAbortControllers: Map<string, AbortController>;
31
32
  activeTxId: string | null;
33
+ initialHealthFired: boolean;
32
34
  keepSession: boolean;
33
35
  refreshBuffer: number;
34
36
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -51,6 +53,7 @@ export declare function OcrMixin<TBase extends GConstructor<EntityServerClientBa
51
53
  realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
52
54
  realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
53
55
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
56
+ fireInitialHealth(): void;
54
57
  setToken(token: string): void;
55
58
  setAccessTokenFromResponse(token: string): void;
56
59
  syncRealtimeWithToken(): void;
@@ -21,12 +21,14 @@ export declare function PgMixin<TBase extends GConstructor<EntityServerClientBas
21
21
  apiKey: string;
22
22
  hmacSecret: string;
23
23
  encryptRequests: boolean;
24
+ debugPlainSecret: string;
24
25
  csrfEnabled: boolean;
25
26
  csrfHeaderName: string;
26
27
  csrfCookieName: string;
27
28
  csrfRefresher: (() => Promise<void>) | null;
28
29
  requestAbortControllers: Map<string, AbortController>;
29
30
  activeTxId: string | null;
31
+ initialHealthFired: boolean;
30
32
  keepSession: boolean;
31
33
  refreshBuffer: number;
32
34
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -49,6 +51,7 @@ export declare function PgMixin<TBase extends GConstructor<EntityServerClientBas
49
51
  realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
50
52
  realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
51
53
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
54
+ fireInitialHealth(): void;
52
55
  setToken(token: string): void;
53
56
  setAccessTokenFromResponse(token: string): void;
54
57
  syncRealtimeWithToken(): void;
@@ -17,12 +17,14 @@ export declare function AppPushMixin<TBase extends GConstructor<EntityServerClie
17
17
  apiKey: string;
18
18
  hmacSecret: string;
19
19
  encryptRequests: boolean;
20
+ debugPlainSecret: string;
20
21
  csrfEnabled: boolean;
21
22
  csrfHeaderName: string;
22
23
  csrfCookieName: string;
23
24
  csrfRefresher: (() => Promise<void>) | null;
24
25
  requestAbortControllers: Map<string, AbortController>;
25
26
  activeTxId: string | null;
27
+ initialHealthFired: boolean;
26
28
  keepSession: boolean;
27
29
  refreshBuffer: number;
28
30
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -45,6 +47,7 @@ export declare function AppPushMixin<TBase extends GConstructor<EntityServerClie
45
47
  realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
46
48
  realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
47
49
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
50
+ fireInitialHealth(): void;
48
51
  setToken(token: string): void;
49
52
  setAccessTokenFromResponse(token: string): void;
50
53
  syncRealtimeWithToken(): void;
@@ -15,12 +15,14 @@ export declare function SmsMixin<TBase extends GConstructor<EntityServerClientBa
15
15
  apiKey: string;
16
16
  hmacSecret: string;
17
17
  encryptRequests: boolean;
18
+ debugPlainSecret: string;
18
19
  csrfEnabled: boolean;
19
20
  csrfHeaderName: string;
20
21
  csrfCookieName: string;
21
22
  csrfRefresher: (() => Promise<void>) | null;
22
23
  requestAbortControllers: Map<string, AbortController>;
23
24
  activeTxId: string | null;
25
+ initialHealthFired: boolean;
24
26
  keepSession: boolean;
25
27
  refreshBuffer: number;
26
28
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -43,6 +45,7 @@ export declare function SmsMixin<TBase extends GConstructor<EntityServerClientBa
43
45
  realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
44
46
  realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
45
47
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
48
+ fireInitialHealth(): void;
46
49
  setToken(token: string): void;
47
50
  setAccessTokenFromResponse(token: string): void;
48
51
  syncRealtimeWithToken(): void;
@@ -19,12 +19,14 @@ export declare function TaxinvoiceMixin<TBase extends GConstructor<EntityServerC
19
19
  apiKey: string;
20
20
  hmacSecret: string;
21
21
  encryptRequests: boolean;
22
+ debugPlainSecret: string;
22
23
  csrfEnabled: boolean;
23
24
  csrfHeaderName: string;
24
25
  csrfCookieName: string;
25
26
  csrfRefresher: (() => Promise<void>) | null;
26
27
  requestAbortControllers: Map<string, AbortController>;
27
28
  activeTxId: string | null;
29
+ initialHealthFired: boolean;
28
30
  keepSession: boolean;
29
31
  refreshBuffer: number;
30
32
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -47,6 +49,7 @@ export declare function TaxinvoiceMixin<TBase extends GConstructor<EntityServerC
47
49
  realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
48
50
  realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
49
51
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
52
+ fireInitialHealth(): void;
50
53
  setToken(token: string): void;
51
54
  setAccessTokenFromResponse(token: string): void;
52
55
  syncRealtimeWithToken(): void;
@@ -17,12 +17,14 @@ export declare function AccountAppMixin<TBase extends GConstructor<EntityServerC
17
17
  apiKey: string;
18
18
  hmacSecret: string;
19
19
  encryptRequests: boolean;
20
+ debugPlainSecret: string;
20
21
  csrfEnabled: boolean;
21
22
  csrfHeaderName: string;
22
23
  csrfCookieName: string;
23
24
  csrfRefresher: (() => Promise<void>) | null;
24
25
  requestAbortControllers: Map<string, AbortController>;
25
26
  activeTxId: string | null;
27
+ initialHealthFired: boolean;
26
28
  keepSession: boolean;
27
29
  refreshBuffer: number;
28
30
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -45,6 +47,7 @@ export declare function AccountAppMixin<TBase extends GConstructor<EntityServerC
45
47
  realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
46
48
  realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
47
49
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
50
+ fireInitialHealth(): void;
48
51
  setToken(token: string): void;
49
52
  setAccessTokenFromResponse(token: string): void;
50
53
  syncRealtimeWithToken(): void;
@@ -10,6 +10,7 @@ export declare function BoardMixin<TBase extends GConstructor<EntityServerClient
10
10
  getBoardPost<T = unknown>(seq: number): Promise<T>;
11
11
  createBoardPost<T = unknown>(category: string, body: Record<string, unknown>): Promise<T>;
12
12
  updateBoardPost<T = unknown>(seq: number, body: Record<string, unknown>): Promise<T>;
13
+ expireBoardPost<T = unknown>(seq: number): Promise<T>;
13
14
  deleteBoardPost<T = unknown>(seq: number): Promise<T>;
14
15
  listBoardComments<T = unknown>(postSeq: number, query?: Record<string, unknown>): Promise<T>;
15
16
  createBoardComment<T = unknown>(postSeq: number, body: Record<string, unknown>): Promise<T>;
@@ -40,12 +41,14 @@ export declare function BoardMixin<TBase extends GConstructor<EntityServerClient
40
41
  apiKey: string;
41
42
  hmacSecret: string;
42
43
  encryptRequests: boolean;
44
+ debugPlainSecret: string;
43
45
  csrfEnabled: boolean;
44
46
  csrfHeaderName: string;
45
47
  csrfCookieName: string;
46
48
  csrfRefresher: (() => Promise<void>) | null;
47
49
  requestAbortControllers: Map<string, AbortController>;
48
50
  activeTxId: string | null;
51
+ initialHealthFired: boolean;
49
52
  keepSession: boolean;
50
53
  refreshBuffer: number;
51
54
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -68,6 +71,7 @@ export declare function BoardMixin<TBase extends GConstructor<EntityServerClient
68
71
  realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
69
72
  realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
70
73
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
74
+ fireInitialHealth(): void;
71
75
  setToken(token: string): void;
72
76
  setAccessTokenFromResponse(token: string): void;
73
77
  syncRealtimeWithToken(): void;
@@ -1,2 +1,2 @@
1
- import{buildQuery as o}from"../../../client/utils.js";function a(e){return class extends e{listBoardCategories(t={}){const r=o(t);return this.http.get(`/v1/board/categories${r?`?${r}`:""}`,!1)}getBoardCategory(t){return this.http.get(`/v1/board/categories/${t}`,!1)}createBoardCategory(t){return this.http.post("/v1/board/categories",t)}updateBoardCategory(t,r){return this.http.put(`/v1/board/categories/${t}`,r)}deleteBoardCategory(t){return this.http.delete(`/v1/board/categories/${t}`)}listBoardPosts(t,r={}){const n=o(r);return this.http.get(`/v1/board/${t}/list${n?`?${n}`:""}`)}getBoardPost(t){return this.http.get(`/v1/board/posts/${t}`)}createBoardPost(t,r){return this.http.post(`/v1/board/${t}/submit`,r)}updateBoardPost(t,r){return this.http.put(`/v1/board/posts/${t}`,r)}deleteBoardPost(t){return this.http.delete(`/v1/board/posts/${t}`)}listBoardComments(t,r={}){const n=o(r);return this.http.get(`/v1/board/posts/${t}/comments${n?`?${n}`:""}`,!1)}createBoardComment(t,r){return this.http.post(`/v1/board/posts/${t}/comments/submit`,r)}updateBoardComment(t,r){return this.http.put(`/v1/board/comments/${t}`,r)}deleteBoardComment(t){return this.http.delete(`/v1/board/comments/${t}`)}listBoardFiles(t){return this.http.get(`/v1/board/posts/${t}/files`,!1)}async uploadBoardFile(t,r){const n=new FormData;return n.append("file",r,r instanceof File?r.name:"upload"),this.requestForm("POST",`/v1/board/posts/${t}/files`,n)}boardFileUrl(t){return`${this.baseUrl}/v1/board/files/${t}`}deleteBoardFile(t){return this.http.delete(`/v1/board/files/${t}`)}createBoardGuestPost(t,r){return this.http.post(`/v1/board/${t}/guest-submit`,r,!1)}authenticateBoardGuestPost(t,r){return this.http.post(`/v1/board/posts/${t}/guest-auth`,r,!1)}toggleBoardPostLike(t){return this.http.post(`/v1/board/posts/${t}/like`,{})}acceptBoardPost(t){return this.http.post(`/v1/board/posts/${t}/accept`,{})}rateBoardPost(t,r){return this.http.post(`/v1/board/posts/${t}/rating`,r)}rateBoardComment(t,r){return this.http.post(`/v1/board/comments/${t}/rating`,r)}listBoardTags(t={}){const r=o(t);return this.http.get(`/v1/board/tags${r?`?${r}`:""}`,!1)}setBoardPostTags(t,r){return this.http.put(`/v1/board/posts/${t}/tags`,r)}reportBoardPost(t,r){return this.http.post(`/v1/board/posts/${t}/report`,r)}reportBoardComment(t,r){return this.http.post(`/v1/board/comments/${t}/report`,r)}listBoardReports(t={}){const r=o(t);return this.http.get(`/v1/board/admin/reports${r?`?${r}`:""}`)}updateBoardReport(t,r){return this.http.patch(`/v1/board/admin/reports/${t}`,r)}markBoardPostRead(t){return this.http.post(`/v1/board/posts/${t}/read`,{})}listBoardMentions(t={}){const r=o(t);return this.http.get(`/v1/board/mentions${r?`?${r}`:""}`)}markBoardMentionRead(t){return this.http.patch(`/v1/board/mentions/${t}/read`,{})}}}export{a as BoardMixin};
1
+ import{buildQuery as o}from"../../../client/utils.js";function a(e){return class extends e{listBoardCategories(t={}){const r=o(t);return this.http.get(`/v1/board/categories${r?`?${r}`:""}`,!1)}getBoardCategory(t){return this.http.get(`/v1/board/categories/${t}`,!1)}createBoardCategory(t){return this.http.post("/v1/board/categories",t)}updateBoardCategory(t,r){return this.http.put(`/v1/board/categories/${t}`,r)}deleteBoardCategory(t){return this.http.delete(`/v1/board/categories/${t}`)}listBoardPosts(t,r={}){const n=o(r);return this.http.get(`/v1/board/${t}/list${n?`?${n}`:""}`)}getBoardPost(t){return this.http.get(`/v1/board/posts/${t}`)}createBoardPost(t,r){return this.http.post(`/v1/board/${t}/submit`,r)}updateBoardPost(t,r){return this.http.patch(`/v1/board/posts/${t}`,r)}expireBoardPost(t){return this.http.post(`/v1/board/posts/${t}/expire`,{})}deleteBoardPost(t){return this.http.delete(`/v1/board/posts/${t}`)}listBoardComments(t,r={}){const n=o(r);return this.http.get(`/v1/board/posts/${t}/comments${n?`?${n}`:""}`,!1)}createBoardComment(t,r){return this.http.post(`/v1/board/posts/${t}/comments/submit`,r)}updateBoardComment(t,r){return this.http.put(`/v1/board/comments/${t}`,r)}deleteBoardComment(t){return this.http.delete(`/v1/board/comments/${t}`)}listBoardFiles(t){return this.http.get(`/v1/board/posts/${t}/files`,!1)}async uploadBoardFile(t,r){const n=new FormData;return n.append("file",r,r instanceof File?r.name:"upload"),this.requestForm("POST",`/v1/board/posts/${t}/files`,n)}boardFileUrl(t){return`${this.baseUrl}/v1/board/files/${t}`}deleteBoardFile(t){return this.http.delete(`/v1/board/files/${t}`)}createBoardGuestPost(t,r){return this.http.post(`/v1/board/${t}/guest-submit`,r,!1)}authenticateBoardGuestPost(t,r){return this.http.post(`/v1/board/posts/${t}/guest-auth`,r,!1)}toggleBoardPostLike(t){return this.http.post(`/v1/board/posts/${t}/like`,{})}acceptBoardPost(t){return this.http.post(`/v1/board/posts/${t}/accept`,{})}rateBoardPost(t,r){return this.http.post(`/v1/board/posts/${t}/rating`,r)}rateBoardComment(t,r){return this.http.post(`/v1/board/comments/${t}/rating`,r)}listBoardTags(t={}){const r=o(t);return this.http.get(`/v1/board/tags${r?`?${r}`:""}`,!1)}setBoardPostTags(t,r){return this.http.put(`/v1/board/posts/${t}/tags`,r)}reportBoardPost(t,r){return this.http.post(`/v1/board/posts/${t}/report`,r)}reportBoardComment(t,r){return this.http.post(`/v1/board/comments/${t}/report`,r)}listBoardReports(t={}){const r=o(t);return this.http.get(`/v1/board/admin/reports${r?`?${r}`:""}`)}updateBoardReport(t,r){return this.http.patch(`/v1/board/admin/reports/${t}`,r)}markBoardPostRead(t){return this.http.post(`/v1/board/posts/${t}/read`,{})}listBoardMentions(t={}){const r=o(t);return this.http.get(`/v1/board/mentions${r?`?${r}`:""}`)}markBoardMentionRead(t){return this.http.patch(`/v1/board/mentions/${t}/read`,{})}}}export{a as BoardMixin};
2
2
  //# sourceMappingURL=board.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/mixins/app/routes/board.ts"],
4
- "sourcesContent": ["import { buildQuery } from \"../../../client/utils.js\";\nimport type {\n GConstructor,\n EntityServerClientBase,\n} from \"../../../client/base.js\";\n\nexport function BoardMixin<TBase extends GConstructor<EntityServerClientBase>>(\n Base: TBase,\n) {\n return class BoardMixinClass extends Base {\n listBoardCategories<T = unknown>(\n query: Record<string, unknown> = {},\n ): Promise<T> {\n const qs = buildQuery(query);\n return this.http.get(\n `/v1/board/categories${qs ? `?${qs}` : \"\"}`,\n false,\n );\n }\n\n getBoardCategory<T = unknown>(seq: number): Promise<T> {\n return this.http.get(\n `/v1/board/categories/${seq}`,\n false,\n );\n }\n\n createBoardCategory<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\"/v1/board/categories\", body);\n }\n\n updateBoardCategory<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.put(`/v1/board/categories/${seq}`, body);\n }\n\n deleteBoardCategory<T = unknown>(seq: number): Promise<T> {\n return this.http.delete(`/v1/board/categories/${seq}`);\n }\n\n listBoardPosts<T = unknown>(\n category: string,\n query: Record<string, unknown> = {},\n ): Promise<T> {\n const qs = buildQuery(query);\n return this.http.get(`/v1/board/${category}/list${qs ? `?${qs}` : \"\"}`);\n }\n\n getBoardPost<T = unknown>(seq: number): Promise<T> {\n return this.http.get(`/v1/board/posts/${seq}`);\n }\n\n createBoardPost<T = unknown>(\n category: string,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n `/v1/board/${category}/submit`,\n body,\n );\n }\n\n updateBoardPost<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.put(`/v1/board/posts/${seq}`, body);\n }\n\n deleteBoardPost<T = unknown>(seq: number): Promise<T> {\n return this.http.delete(`/v1/board/posts/${seq}`);\n }\n\n listBoardComments<T = unknown>(\n postSeq: number,\n query: Record<string, unknown> = {},\n ): Promise<T> {\n const qs = buildQuery(query);\n return this.http.get(\n `/v1/board/posts/${postSeq}/comments${qs ? `?${qs}` : \"\"}`,\n false,\n );\n }\n\n createBoardComment<T = unknown>(\n postSeq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n `/v1/board/posts/${postSeq}/comments/submit`,\n body,\n );\n }\n\n updateBoardComment<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.put(`/v1/board/comments/${seq}`, body);\n }\n\n deleteBoardComment<T = unknown>(seq: number): Promise<T> {\n return this.http.delete(`/v1/board/comments/${seq}`);\n }\n\n listBoardFiles<T = unknown>(postSeq: number): Promise<T> {\n return this.http.get(\n `/v1/board/posts/${postSeq}/files`,\n false,\n );\n }\n\n async uploadBoardFile<T = unknown>(\n postSeq: number,\n file: File | Blob,\n ): Promise<T> {\n const form = new FormData();\n form.append(\n \"file\",\n file,\n file instanceof File ? file.name : \"upload\",\n );\n return this.requestForm(\n \"POST\",\n `/v1/board/posts/${postSeq}/files`,\n form,\n );\n }\n\n boardFileUrl(uuid: string): string {\n return `${this.baseUrl}/v1/board/files/${uuid}`;\n }\n\n deleteBoardFile<T = unknown>(uuid: string): Promise<T> {\n return this.http.delete(`/v1/board/files/${uuid}`);\n }\n\n createBoardGuestPost<T = unknown>(\n category: string,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n `/v1/board/${category}/guest-submit`,\n body,\n false,\n );\n }\n\n authenticateBoardGuestPost<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n `/v1/board/posts/${seq}/guest-auth`,\n body,\n false,\n );\n }\n\n toggleBoardPostLike<T = unknown>(seq: number): Promise<T> {\n return this.http.post(`/v1/board/posts/${seq}/like`, {});\n }\n\n acceptBoardPost<T = unknown>(seq: number): Promise<T> {\n return this.http.post(\n `/v1/board/posts/${seq}/accept`,\n {},\n );\n }\n\n rateBoardPost<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n `/v1/board/posts/${seq}/rating`,\n body,\n );\n }\n\n rateBoardComment<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n `/v1/board/comments/${seq}/rating`,\n body,\n );\n }\n\n listBoardTags<T = unknown>(\n query: Record<string, unknown> = {},\n ): Promise<T> {\n const qs = buildQuery(query);\n return this.http.get(\n `/v1/board/tags${qs ? `?${qs}` : \"\"}`,\n false,\n );\n }\n\n setBoardPostTags<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.put(`/v1/board/posts/${seq}/tags`, body);\n }\n\n reportBoardPost<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n `/v1/board/posts/${seq}/report`,\n body,\n );\n }\n\n reportBoardComment<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n `/v1/board/comments/${seq}/report`,\n body,\n );\n }\n\n listBoardReports<T = unknown>(\n query: Record<string, unknown> = {},\n ): Promise<T> {\n const qs = buildQuery(query);\n return this.http.get(\n `/v1/board/admin/reports${qs ? `?${qs}` : \"\"}`,\n );\n }\n\n updateBoardReport<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.patch(\n `/v1/board/admin/reports/${seq}`,\n body,\n );\n }\n\n markBoardPostRead<T = unknown>(seq: number): Promise<T> {\n return this.http.post(`/v1/board/posts/${seq}/read`, {});\n }\n\n listBoardMentions<T = unknown>(\n query: Record<string, unknown> = {},\n ): Promise<T> {\n const qs = buildQuery(query);\n return this.http.get(\n `/v1/board/mentions${qs ? `?${qs}` : \"\"}`,\n );\n }\n\n markBoardMentionRead<T = unknown>(seq: number): Promise<T> {\n return this.http.patch(\n `/v1/board/mentions/${seq}/read`,\n {},\n );\n }\n };\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { buildQuery } from \"../../../client/utils.js\";\nimport type {\n GConstructor,\n EntityServerClientBase,\n} from \"../../../client/base.js\";\n\nexport function BoardMixin<TBase extends GConstructor<EntityServerClientBase>>(\n Base: TBase,\n) {\n return class BoardMixinClass extends Base {\n listBoardCategories<T = unknown>(\n query: Record<string, unknown> = {},\n ): Promise<T> {\n const qs = buildQuery(query);\n return this.http.get(\n `/v1/board/categories${qs ? `?${qs}` : \"\"}`,\n false,\n );\n }\n\n getBoardCategory<T = unknown>(seq: number): Promise<T> {\n return this.http.get(`/v1/board/categories/${seq}`, false);\n }\n\n createBoardCategory<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\"/v1/board/categories\", body);\n }\n\n updateBoardCategory<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.put(`/v1/board/categories/${seq}`, body);\n }\n\n deleteBoardCategory<T = unknown>(seq: number): Promise<T> {\n return this.http.delete(`/v1/board/categories/${seq}`);\n }\n\n listBoardPosts<T = unknown>(\n category: string,\n query: Record<string, unknown> = {},\n ): Promise<T> {\n const qs = buildQuery(query);\n return this.http.get(\n `/v1/board/${category}/list${qs ? `?${qs}` : \"\"}`,\n );\n }\n\n getBoardPost<T = unknown>(seq: number): Promise<T> {\n return this.http.get(`/v1/board/posts/${seq}`);\n }\n\n createBoardPost<T = unknown>(\n category: string,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(`/v1/board/${category}/submit`, body);\n }\n\n updateBoardPost<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.patch(`/v1/board/posts/${seq}`, body);\n }\n\n expireBoardPost<T = unknown>(seq: number): Promise<T> {\n return this.http.post(`/v1/board/posts/${seq}/expire`, {});\n }\n\n deleteBoardPost<T = unknown>(seq: number): Promise<T> {\n return this.http.delete(`/v1/board/posts/${seq}`);\n }\n\n listBoardComments<T = unknown>(\n postSeq: number,\n query: Record<string, unknown> = {},\n ): Promise<T> {\n const qs = buildQuery(query);\n return this.http.get(\n `/v1/board/posts/${postSeq}/comments${qs ? `?${qs}` : \"\"}`,\n false,\n );\n }\n\n createBoardComment<T = unknown>(\n postSeq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n `/v1/board/posts/${postSeq}/comments/submit`,\n body,\n );\n }\n\n updateBoardComment<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.put(`/v1/board/comments/${seq}`, body);\n }\n\n deleteBoardComment<T = unknown>(seq: number): Promise<T> {\n return this.http.delete(`/v1/board/comments/${seq}`);\n }\n\n listBoardFiles<T = unknown>(postSeq: number): Promise<T> {\n return this.http.get(`/v1/board/posts/${postSeq}/files`, false);\n }\n\n async uploadBoardFile<T = unknown>(\n postSeq: number,\n file: File | Blob,\n ): Promise<T> {\n const form = new FormData();\n form.append(\n \"file\",\n file,\n file instanceof File ? file.name : \"upload\",\n );\n return this.requestForm(\n \"POST\",\n `/v1/board/posts/${postSeq}/files`,\n form,\n );\n }\n\n boardFileUrl(uuid: string): string {\n return `${this.baseUrl}/v1/board/files/${uuid}`;\n }\n\n deleteBoardFile<T = unknown>(uuid: string): Promise<T> {\n return this.http.delete(`/v1/board/files/${uuid}`);\n }\n\n createBoardGuestPost<T = unknown>(\n category: string,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n `/v1/board/${category}/guest-submit`,\n body,\n false,\n );\n }\n\n authenticateBoardGuestPost<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n `/v1/board/posts/${seq}/guest-auth`,\n body,\n false,\n );\n }\n\n toggleBoardPostLike<T = unknown>(seq: number): Promise<T> {\n return this.http.post(`/v1/board/posts/${seq}/like`, {});\n }\n\n acceptBoardPost<T = unknown>(seq: number): Promise<T> {\n return this.http.post(`/v1/board/posts/${seq}/accept`, {});\n }\n\n rateBoardPost<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(`/v1/board/posts/${seq}/rating`, body);\n }\n\n rateBoardComment<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(`/v1/board/comments/${seq}/rating`, body);\n }\n\n listBoardTags<T = unknown>(\n query: Record<string, unknown> = {},\n ): Promise<T> {\n const qs = buildQuery(query);\n return this.http.get(`/v1/board/tags${qs ? `?${qs}` : \"\"}`, false);\n }\n\n setBoardPostTags<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.put(`/v1/board/posts/${seq}/tags`, body);\n }\n\n reportBoardPost<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(`/v1/board/posts/${seq}/report`, body);\n }\n\n reportBoardComment<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(`/v1/board/comments/${seq}/report`, body);\n }\n\n listBoardReports<T = unknown>(\n query: Record<string, unknown> = {},\n ): Promise<T> {\n const qs = buildQuery(query);\n return this.http.get(\n `/v1/board/admin/reports${qs ? `?${qs}` : \"\"}`,\n );\n }\n\n updateBoardReport<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.patch(`/v1/board/admin/reports/${seq}`, body);\n }\n\n markBoardPostRead<T = unknown>(seq: number): Promise<T> {\n return this.http.post(`/v1/board/posts/${seq}/read`, {});\n }\n\n listBoardMentions<T = unknown>(\n query: Record<string, unknown> = {},\n ): Promise<T> {\n const qs = buildQuery(query);\n return this.http.get(`/v1/board/mentions${qs ? `?${qs}` : \"\"}`);\n }\n\n markBoardMentionRead<T = unknown>(seq: number): Promise<T> {\n return this.http.patch(`/v1/board/mentions/${seq}/read`, {});\n }\n };\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["buildQuery", "BoardMixin", "Base", "query", "qs", "seq", "body", "category", "postSeq", "file", "form", "uuid"]
7
7
  }
@@ -12,12 +12,14 @@ export declare function EmailVerifyMixin<TBase extends GConstructor<EntityServer
12
12
  apiKey: string;
13
13
  hmacSecret: string;
14
14
  encryptRequests: boolean;
15
+ debugPlainSecret: string;
15
16
  csrfEnabled: boolean;
16
17
  csrfHeaderName: string;
17
18
  csrfCookieName: string;
18
19
  csrfRefresher: (() => Promise<void>) | null;
19
20
  requestAbortControllers: Map<string, AbortController>;
20
21
  activeTxId: string | null;
22
+ initialHealthFired: boolean;
21
23
  keepSession: boolean;
22
24
  refreshBuffer: number;
23
25
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -40,6 +42,7 @@ export declare function EmailVerifyMixin<TBase extends GConstructor<EntityServer
40
42
  realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
41
43
  realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
42
44
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
45
+ fireInitialHealth(): void;
43
46
  setToken(token: string): void;
44
47
  setAccessTokenFromResponse(token: string): void;
45
48
  syncRealtimeWithToken(): void;
@@ -13,12 +13,14 @@ export declare function OAuthMixin<TBase extends GConstructor<EntityServerClient
13
13
  apiKey: string;
14
14
  hmacSecret: string;
15
15
  encryptRequests: boolean;
16
+ debugPlainSecret: string;
16
17
  csrfEnabled: boolean;
17
18
  csrfHeaderName: string;
18
19
  csrfCookieName: string;
19
20
  csrfRefresher: (() => Promise<void>) | null;
20
21
  requestAbortControllers: Map<string, AbortController>;
21
22
  activeTxId: string | null;
23
+ initialHealthFired: boolean;
22
24
  keepSession: boolean;
23
25
  refreshBuffer: number;
24
26
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -41,6 +43,7 @@ export declare function OAuthMixin<TBase extends GConstructor<EntityServerClient
41
43
  realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
42
44
  realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
43
45
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
46
+ fireInitialHealth(): void;
44
47
  setToken(token: string): void;
45
48
  setAccessTokenFromResponse(token: string): void;
46
49
  syncRealtimeWithToken(): void;
@@ -12,12 +12,14 @@ export declare function PasswordResetMixin<TBase extends GConstructor<EntityServ
12
12
  apiKey: string;
13
13
  hmacSecret: string;
14
14
  encryptRequests: boolean;
15
+ debugPlainSecret: string;
15
16
  csrfEnabled: boolean;
16
17
  csrfHeaderName: string;
17
18
  csrfCookieName: string;
18
19
  csrfRefresher: (() => Promise<void>) | null;
19
20
  requestAbortControllers: Map<string, AbortController>;
20
21
  activeTxId: string | null;
22
+ initialHealthFired: boolean;
21
23
  keepSession: boolean;
22
24
  refreshBuffer: number;
23
25
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -40,6 +42,7 @@ export declare function PasswordResetMixin<TBase extends GConstructor<EntityServ
40
42
  realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
41
43
  realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
42
44
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
45
+ fireInitialHealth(): void;
43
46
  setToken(token: string): void;
44
47
  setAccessTokenFromResponse(token: string): void;
45
48
  syncRealtimeWithToken(): void;
@@ -14,12 +14,14 @@ export declare function TwoFactorMixin<TBase extends GConstructor<EntityServerCl
14
14
  apiKey: string;
15
15
  hmacSecret: string;
16
16
  encryptRequests: boolean;
17
+ debugPlainSecret: string;
17
18
  csrfEnabled: boolean;
18
19
  csrfHeaderName: string;
19
20
  csrfCookieName: string;
20
21
  csrfRefresher: (() => Promise<void>) | null;
21
22
  requestAbortControllers: Map<string, AbortController>;
22
23
  activeTxId: string | null;
24
+ initialHealthFired: boolean;
23
25
  keepSession: boolean;
24
26
  refreshBuffer: number;
25
27
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -42,6 +44,7 @@ export declare function TwoFactorMixin<TBase extends GConstructor<EntityServerCl
42
44
  realtimeStatusListeners: Set<import("../../../types.js").RealtimeStatusListener>;
43
45
  realtimeEventListeners: Map<string, Set<import("../../../types.js").RealtimeMessageListener>>;
44
46
  configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
47
+ fireInitialHealth(): void;
45
48
  setToken(token: string): void;
46
49
  setAccessTokenFromResponse(token: string): void;
47
50
  syncRealtimeWithToken(): void;
@@ -58,12 +58,14 @@ export declare function AdminMixin<TBase extends GConstructor<EntityServerClient
58
58
  apiKey: string;
59
59
  hmacSecret: string;
60
60
  encryptRequests: boolean;
61
+ debugPlainSecret: string;
61
62
  csrfEnabled: boolean;
62
63
  csrfHeaderName: string;
63
64
  csrfCookieName: string;
64
65
  csrfRefresher: (() => Promise<void>) | null;
65
66
  requestAbortControllers: Map<string, AbortController>;
66
67
  activeTxId: string | null;
68
+ initialHealthFired: boolean;
67
69
  keepSession: boolean;
68
70
  refreshBuffer: number;
69
71
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -86,6 +88,7 @@ export declare function AdminMixin<TBase extends GConstructor<EntityServerClient
86
88
  realtimeStatusListeners: Set<import("../../types.js").RealtimeStatusListener>;
87
89
  realtimeEventListeners: Map<string, Set<import("../../types.js").RealtimeMessageListener>>;
88
90
  configure(options: Partial<import("../../types.js").EntityServerClientOptions>): void;
91
+ fireInitialHealth(): void;
89
92
  setToken(token: string): void;
90
93
  setAccessTokenFromResponse(token: string): void;
91
94
  syncRealtimeWithToken(): void;
@@ -95,11 +95,13 @@ export declare function AuthMixin<TBase extends GConstructor<EntityServerClientB
95
95
  apiKey: string;
96
96
  hmacSecret: string;
97
97
  encryptRequests: boolean;
98
+ debugPlainSecret: string;
98
99
  csrfEnabled: boolean;
99
100
  csrfHeaderName: string;
100
101
  csrfCookieName: string;
101
102
  requestAbortControllers: Map<string, AbortController>;
102
103
  activeTxId: string | null;
104
+ initialHealthFired: boolean;
103
105
  keepSession: boolean;
104
106
  refreshBuffer: number;
105
107
  onTokenRefreshed?: (accessToken: string, expiresIn: number) => void;
@@ -122,6 +124,7 @@ export declare function AuthMixin<TBase extends GConstructor<EntityServerClientB
122
124
  realtimeStatusListeners: Set<import("../../types.js").RealtimeStatusListener>;
123
125
  realtimeEventListeners: Map<string, Set<import("../../types.js").RealtimeMessageListener>>;
124
126
  configure(options: Partial<import("../../types.js").EntityServerClientOptions>): void;
127
+ fireInitialHealth(): void;
125
128
  setToken(token: string): void;
126
129
  syncRealtimeWithToken(): void;
127
130
  setAnonymousPacketToken(token: string): void;
@@ -1,2 +1,2 @@
1
- import{entityRequest as u}from"../../client/request.js";function h(o){return o.ok===!0&&o.requires_2fa!==!0&&typeof o.data=="object"&&o.data!==null&&"access_token"in o.data}function d(o){return class extends o{authBootstrapPromise=null;authBootstrapToken="";authBootstrapAnonymousCompleted=!1;setAccessTokenFromResponse(e){super.setAccessTokenFromResponse(e),this.authBootstrapToken=e,this.authBootstrapAnonymousCompleted=!1}csrfRefresher=()=>this.checkHealth(this.keepSession).then(()=>{});async checkHealth(e=!1){try{const t=this.token,s={};e&&(s["X-Session-Bootstrap"]="1");const i=await fetch(`${this.baseUrl}/v1/health`,{signal:AbortSignal.timeout(3e3),credentials:"include",headers:s}),r=await i.json(),n=i.headers.get("X-Access-Token");n&&(this.token=n,e&&n!==t&&this.onTokenRefreshed?.(n,0));const a=this.readCookie("anon_token");return r.packet_encryption===!0&&a&&(this.anonymousPacketToken=a,this.encryptRequests=!0),this.applyCsrfHealth(),this.onHealthChange?.(!0),e&&r.authenticated===!1&&t&&(this.disconnectRealtime("session_expired"),this.onSessionExpired?.(new Error("Session expired"))),r}catch(t){throw this.onHealthChange?.(!1),t}}readCookie(e){if(typeof document>"u")return null;const t=document.cookie.split(";").map(s=>s.trim()).find(s=>s.startsWith(`${e}=`));if(!t)return null;try{return decodeURIComponent(t.slice(e.length+1))}catch{return t.slice(e.length+1)}}async ensurePublicAuthBootstrap(){if(typeof document>"u"||this.apiKey&&this.hmacSecret)return;const e=!!this.anonymousPacketToken||!!this.readCookie("anon_token"),t=!!this.readCookie(this.csrfCookieName);e&&t&&this.csrfEnabled||await this.checkHealth(!1)}async ensureAuthenticatedRequestBootstrap(){if(!(typeof document>"u")&&!(this.apiKey&&this.hmacSecret)){if(this.token){if(this.authBootstrapToken===this.token)return}else if(this.authBootstrapAnonymousCompleted)return;return this.authBootstrapPromise?this.authBootstrapPromise:(this.authBootstrapPromise=this.checkHealth(!0).then(()=>{this.token?this.authBootstrapToken=this.token:this.authBootstrapAnonymousCompleted=!0}).finally(()=>{this.authBootstrapPromise=null}),this.authBootstrapPromise)}}async prepareRequest(e){await super.prepareRequest(e),e&&await this.ensureAuthenticatedRequestBootstrap()}async login(e,t){await this.ensurePublicAuthBootstrap();const s=await u(this.reqOpts,"POST","/v1/auth/login",{email:e,passwd:t},!1,{},{requireOkShape:!1,allowStatuses:[403]});return h(s)&&(this.token=s.data.access_token,this.applyCsrfHealth(),this.keepSession&&this.healthTickTimer===null&&this.startHealthTick()),s}async tokenRefresh(){const e=await this.request("POST","/v1/auth/token_refresh",void 0,!1);return this.token=e.data.access_token,this.applyCsrfHealth(),e.data}async refreshToken(e){if(!e)return this.tokenRefresh();const t=await this.request("POST","/v1/auth/refresh",{refresh_token:e},!1);return this.token=t.data.access_token,this.applyCsrfHealth(),t.data}async logout(e){this.stopKeepSession(),this.stopHealthTick(),this.disconnectRealtime("logout");const t=await this.request("POST","/v1/auth/logout",e?{refresh_token:e}:void 0,!1);return this.token="",this.applyCsrfHealth(),t}me(){return this.request("GET","/v1/auth/me")}withdraw(e){return this.request("POST","/v1/auth/withdraw",e?{passwd:e}:{})}}}export{d as AuthMixin,h as isAuthLoginSuccessResponse};
1
+ import{entityRequest as u}from"../../client/request.js";function c(o){return o.ok===!0&&o.requires_2fa!==!0&&typeof o.data=="object"&&o.data!==null&&"access_token"in o.data}function f(o){return class extends o{authBootstrapPromise=null;authBootstrapToken="";authBootstrapAnonymousCompleted=!1;setAccessTokenFromResponse(e){super.setAccessTokenFromResponse(e),this.authBootstrapToken=e,this.authBootstrapAnonymousCompleted=!1}csrfRefresher=()=>this.checkHealth(this.keepSession).then(()=>{});async checkHealth(e=!1){try{const t=this.token,s={};e&&(s["X-Session-Bootstrap"]="1");const r=await fetch(`${this.baseUrl}/v1/health`,{signal:AbortSignal.timeout(3e3),credentials:"include",headers:s}),i=await r.json(),n=r.headers.get("X-Access-Token");n&&(this.token=n,e&&n!==t&&this.onTokenRefreshed?.(n,0));const h=r.headers.get("X-Packet-Encryption")==="1"||i.packet_encryption===!0,a=this.readCookie("anon_token");return h&&a&&(this.anonymousPacketToken=a,this.encryptRequests=!0),this.applyCsrfHealth(),this.onHealthChange?.(!0),e&&i.authenticated===!1&&t&&(this.disconnectRealtime("session_expired"),this.onSessionExpired?.(new Error("Session expired"))),i}catch(t){throw this.onHealthChange?.(!1),t}}readCookie(e){if(typeof document>"u")return null;const t=document.cookie.split(";").map(s=>s.trim()).find(s=>s.startsWith(`${e}=`));if(!t)return null;try{return decodeURIComponent(t.slice(e.length+1))}catch{return t.slice(e.length+1)}}async ensurePublicAuthBootstrap(){if(typeof document>"u"||this.apiKey&&this.hmacSecret)return;const e=!!this.anonymousPacketToken||!!this.readCookie("anon_token"),t=!!this.readCookie(this.csrfCookieName);e&&t&&this.csrfEnabled||await this.checkHealth(!1)}async ensureAuthenticatedRequestBootstrap(){if(!(typeof document>"u")&&!(this.apiKey&&this.hmacSecret)){if(this.token){if(this.authBootstrapToken===this.token)return}else if(this.authBootstrapAnonymousCompleted)return;return this.authBootstrapPromise?this.authBootstrapPromise:(this.authBootstrapPromise=this.checkHealth(!0).then(()=>{this.token?this.authBootstrapToken=this.token:this.authBootstrapAnonymousCompleted=!0}).finally(()=>{this.authBootstrapPromise=null}),this.authBootstrapPromise)}}async prepareRequest(e){await super.prepareRequest(e),e&&await this.ensureAuthenticatedRequestBootstrap()}async login(e,t){await this.ensurePublicAuthBootstrap();const s=await u(this.reqOpts,"POST","/v1/auth/login",{email:e,passwd:t},!1,{},{requireOkShape:!1,allowStatuses:[403]});return c(s)&&(this.token=s.data.access_token,this.applyCsrfHealth(),this.keepSession&&this.healthTickTimer===null&&this.startHealthTick()),s}async tokenRefresh(){const e=await this.request("POST","/v1/auth/token_refresh",void 0,!1);return this.token=e.data.access_token,this.applyCsrfHealth(),e.data}async refreshToken(e){if(!e)return this.tokenRefresh();const t=await this.request("POST","/v1/auth/refresh",{refresh_token:e},!1);return this.token=t.data.access_token,this.applyCsrfHealth(),t.data}async logout(e){this.stopKeepSession(),this.stopHealthTick(),this.disconnectRealtime("logout");const t=await this.request("POST","/v1/auth/logout",e?{refresh_token:e}:void 0,!1);return this.token="",this.applyCsrfHealth(),t}me(){return this.request("GET","/v1/auth/me")}withdraw(e){return this.request("POST","/v1/auth/withdraw",e?{passwd:e}:{})}}}export{f as AuthMixin,c as isAuthLoginSuccessResponse};
2
2
  //# sourceMappingURL=auth.js.map