entity-client 1.0.7 → 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.
- package/README.md +362 -0
- package/dist/EntityAppServerApi.d.ts +1080 -0
- package/dist/EntityAppServerApi.js +2 -0
- package/dist/EntityAppServerApi.js.map +7 -0
- package/dist/{EntityServerClient.d.ts → EntityServerApi.d.ts} +114 -20
- package/dist/EntityServerApi.js +2 -0
- package/dist/EntityServerApi.js.map +7 -0
- package/dist/client/base.d.ts +13 -4
- package/dist/client/base.js +1 -1
- package/dist/client/base.js.map +3 -3
- package/dist/hooks/useEntityAppServer.d.ts +18 -0
- package/dist/hooks/useEntityAppServer.js +2 -0
- package/dist/hooks/useEntityAppServer.js.map +7 -0
- package/dist/hooks/useEntityClient.d.ts +74 -0
- package/dist/hooks/useEntityClient.js +2 -0
- package/dist/hooks/useEntityClient.js.map +7 -0
- package/dist/hooks/useEntityServer.d.ts +5 -88
- package/dist/hooks/useEntityServer.js +1 -1
- package/dist/hooks/useEntityServer.js.map +3 -3
- package/dist/index.d.ts +6 -6
- package/dist/index.js +1 -1
- package/dist/index.js.map +4 -4
- package/dist/mixins/app/index.d.ts +6 -6
- package/dist/mixins/app/index.js +1 -1
- package/dist/mixins/app/index.js.map +2 -2
- package/dist/mixins/app/plugins/alimtalk.d.ts +68 -0
- package/dist/mixins/app/plugins/alimtalk.js +2 -0
- package/dist/mixins/app/plugins/alimtalk.js.map +7 -0
- package/dist/mixins/app/plugins/friendtalk.d.ts +62 -0
- package/dist/mixins/app/plugins/friendtalk.js +2 -0
- package/dist/mixins/app/plugins/friendtalk.js.map +7 -0
- package/dist/mixins/app/plugins/holidays.d.ts +70 -0
- package/dist/mixins/app/plugins/holidays.js +2 -0
- package/dist/mixins/app/plugins/holidays.js.map +7 -0
- package/dist/mixins/app/plugins/identity.d.ts +68 -0
- package/dist/mixins/app/plugins/identity.js +2 -0
- package/dist/mixins/app/plugins/identity.js.map +7 -0
- package/dist/mixins/app/plugins/index.d.ts +10 -0
- package/dist/mixins/app/plugins/index.js +2 -0
- package/dist/mixins/app/plugins/index.js.map +7 -0
- package/dist/mixins/app/plugins/llm.d.ts +130 -0
- package/dist/mixins/app/plugins/llm.js +2 -0
- package/dist/mixins/app/plugins/llm.js.map +7 -0
- package/dist/mixins/app/plugins/ocr.d.ts +76 -0
- package/dist/mixins/app/plugins/ocr.js +2 -0
- package/dist/mixins/app/plugins/ocr.js.map +7 -0
- package/dist/mixins/app/plugins/pg.d.ts +74 -0
- package/dist/mixins/app/plugins/pg.js +2 -0
- package/dist/mixins/app/plugins/pg.js.map +7 -0
- package/dist/mixins/app/plugins/push.d.ts +70 -0
- package/dist/mixins/app/plugins/push.js +2 -0
- package/dist/mixins/app/plugins/push.js.map +7 -0
- package/dist/mixins/app/plugins/sms.d.ts +68 -0
- package/dist/mixins/app/plugins/sms.js +2 -0
- package/dist/mixins/app/plugins/sms.js.map +7 -0
- package/dist/mixins/app/plugins/taxinvoice.d.ts +72 -0
- package/dist/mixins/app/plugins/taxinvoice.js +2 -0
- package/dist/mixins/app/plugins/taxinvoice.js.map +7 -0
- package/dist/mixins/app/{account.d.ts → routes/account.d.ts} +11 -5
- package/dist/mixins/app/routes/account.js +2 -0
- package/dist/mixins/app/routes/account.js.map +7 -0
- package/dist/mixins/app/{board.d.ts → routes/board.d.ts} +11 -5
- package/dist/mixins/app/routes/board.js +2 -0
- package/dist/mixins/app/routes/board.js.map +7 -0
- package/dist/mixins/app/{email-verify.d.ts → routes/email-verify.d.ts} +11 -5
- package/dist/mixins/app/routes/email-verify.js +2 -0
- package/dist/mixins/app/routes/email-verify.js.map +7 -0
- package/dist/mixins/app/{oauth.d.ts → routes/oauth.d.ts} +11 -5
- package/dist/mixins/app/routes/oauth.js +2 -0
- package/dist/mixins/app/routes/oauth.js.map +7 -0
- package/dist/mixins/app/{password-reset.d.ts → routes/password-reset.d.ts} +11 -5
- package/dist/mixins/app/routes/password-reset.js +2 -0
- package/dist/mixins/app/routes/password-reset.js.map +7 -0
- package/dist/mixins/app/{two-factor.d.ts → routes/two-factor.d.ts} +11 -5
- package/dist/mixins/app/routes/two-factor.js +2 -0
- package/dist/mixins/app/routes/two-factor.js.map +7 -0
- package/dist/mixins/server/admin.d.ts +7 -1
- package/dist/mixins/server/admin.js +1 -1
- package/dist/mixins/server/admin.js.map +2 -2
- package/dist/mixins/{auth.d.ts → server/auth.d.ts} +12 -20
- package/dist/mixins/{auth.js → server/auth.js} +1 -1
- package/dist/mixins/server/auth.js.map +7 -0
- package/dist/mixins/{entity.d.ts → server/entity.d.ts} +12 -6
- package/dist/mixins/server/entity.js +2 -0
- package/dist/mixins/server/entity.js.map +7 -0
- package/dist/mixins/{file.d.ts → server/file.d.ts} +12 -6
- package/dist/mixins/server/file.js.map +7 -0
- package/dist/mixins/server/index.d.ts +7 -6
- package/dist/mixins/server/index.js +1 -1
- package/dist/mixins/server/index.js.map +3 -3
- package/dist/mixins/{push.d.ts → server/push.d.ts} +12 -6
- package/dist/mixins/server/push.js.map +7 -0
- package/dist/mixins/{smtp.d.ts → server/smtp.d.ts} +14 -6
- package/dist/mixins/server/smtp.js +2 -0
- package/dist/mixins/server/smtp.js.map +7 -0
- package/dist/mixins/server/transaction.d.ts +66 -0
- package/dist/mixins/server/transaction.js +2 -0
- package/dist/mixins/server/transaction.js.map +7 -0
- package/dist/mixins/{utils.d.ts → server/utils.d.ts} +12 -6
- package/dist/mixins/server/utils.js +2 -0
- package/dist/mixins/server/utils.js.map +7 -0
- package/dist/react.d.ts +2 -0
- package/dist/react.js +1 -1
- package/dist/react.js.map +4 -4
- package/package.json +2 -2
- package/dist/EntityAppServerClient.d.ts +0 -383
- package/dist/EntityAppServerClient.js +0 -2
- package/dist/EntityAppServerClient.js.map +0 -7
- package/dist/EntityServerClient.js +0 -2
- package/dist/EntityServerClient.js.map +0 -7
- package/dist/mixins/app/account.js +0 -2
- package/dist/mixins/app/account.js.map +0 -7
- package/dist/mixins/app/board.js +0 -2
- package/dist/mixins/app/board.js.map +0 -7
- package/dist/mixins/app/email-verify.js +0 -2
- package/dist/mixins/app/email-verify.js.map +0 -7
- package/dist/mixins/app/oauth.js +0 -2
- package/dist/mixins/app/oauth.js.map +0 -7
- package/dist/mixins/app/password-reset.js +0 -2
- package/dist/mixins/app/password-reset.js.map +0 -7
- package/dist/mixins/app/two-factor.js +0 -2
- package/dist/mixins/app/two-factor.js.map +0 -7
- package/dist/mixins/auth.js.map +0 -7
- package/dist/mixins/entity.js +0 -2
- package/dist/mixins/entity.js.map +0 -7
- package/dist/mixins/file.js.map +0 -7
- package/dist/mixins/push.js.map +0 -7
- package/dist/mixins/smtp.js +0 -2
- package/dist/mixins/smtp.js.map +0 -7
- package/dist/mixins/utils.js +0 -2
- package/dist/mixins/utils.js.map +0 -7
- /package/dist/mixins/{file.js → server/file.js} +0 -0
- /package/dist/mixins/{push.js → server/push.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GConstructor, EntityServerClientBase } from "
|
|
1
|
+
import type { GConstructor, EntityServerClientBase } from "../../../client/base.js";
|
|
2
2
|
export declare function EmailVerifyMixin<TBase extends GConstructor<EntityServerClientBase>>(Base: TBase): {
|
|
3
3
|
new (...args: any[]): {
|
|
4
4
|
sendEmailVerification<T = unknown>(body: Record<string, unknown>): Promise<T>;
|
|
@@ -26,7 +26,7 @@ export declare function EmailVerifyMixin<TBase extends GConstructor<EntityServer
|
|
|
26
26
|
_refreshTimer: ReturnType<typeof setTimeout> | null;
|
|
27
27
|
_csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
|
|
28
28
|
_csrfRefreshPromise: Promise<string> | null;
|
|
29
|
-
configure(options: Partial<import("
|
|
29
|
+
configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
|
|
30
30
|
setToken(token: string): void;
|
|
31
31
|
setAnonymousPacketToken(token: string): void;
|
|
32
32
|
setApiKey(apiKey: string): void;
|
|
@@ -44,10 +44,16 @@ export declare function EmailVerifyMixin<TBase extends GConstructor<EntityServer
|
|
|
44
44
|
stopCsrfRefresh(): void;
|
|
45
45
|
_scheduleCsrfRefresh(expiresIn: number): void;
|
|
46
46
|
refreshCsrfToken(): Promise<string>;
|
|
47
|
-
_applyCsrfHealth(csrf?: import("
|
|
47
|
+
_applyCsrfHealth(csrf?: import("../../../types.js").EntityServerClientHealthCsrf | null): void;
|
|
48
48
|
readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
|
|
49
|
-
get _reqOpts(): import("
|
|
50
|
-
|
|
49
|
+
get _reqOpts(): import("../../../client/request.js").RequestOptions;
|
|
50
|
+
get http(): {
|
|
51
|
+
get<T>(path: string, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
52
|
+
post<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
53
|
+
put<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
54
|
+
patch<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
55
|
+
delete<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
56
|
+
};
|
|
51
57
|
requestBinary(method: string, path: string, body?: unknown, withAuth?: boolean): Promise<ArrayBuffer>;
|
|
52
58
|
requestForm<T>(method: string, path: string, form: FormData, withAuth?: boolean): Promise<T>;
|
|
53
59
|
requestFormBinary(method: string, path: string, form: FormData, withAuth?: boolean): Promise<ArrayBuffer>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{buildQuery as n}from"../../../client/utils.js";function a(t){return class extends t{sendEmailVerification(e){return this.http.post("/v1/email-verify/send",e,!1)}confirmEmailVerification(e){return this.http.post("/v1/email-verify/confirm",e,!1)}activateEmailVerification(e){const i=n(e);return this.http.get(`/v1/email-verify/activate${i?`?${i}`:""}`,!1)}getEmailVerificationStatus(){return this.http.get("/v1/email-verify/status")}changeVerifiedEmail(e){return this.http.post("/v1/email-verify/change",e)}}}export{a as EmailVerifyMixin};
|
|
2
|
+
//# sourceMappingURL=email-verify.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/mixins/app/routes/email-verify.ts"],
|
|
4
|
+
"sourcesContent": ["import { buildQuery } from \"../../../client/utils.js\";\nimport type {\n GConstructor,\n EntityServerClientBase,\n} from \"../../../client/base.js\";\n\nexport function EmailVerifyMixin<\n TBase extends GConstructor<EntityServerClientBase>,\n>(Base: TBase) {\n return class EmailVerifyMixinClass extends Base {\n sendEmailVerification<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n \"/v1/email-verify/send\",\n body,\n false,\n );\n }\n\n confirmEmailVerification<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n \"/v1/email-verify/confirm\",\n body,\n false,\n );\n }\n\n activateEmailVerification<T = unknown>(\n query: Record<string, unknown>,\n ): Promise<T> {\n const qs = buildQuery(query);\n return this.http.get(\n `/v1/email-verify/activate${qs ? `?${qs}` : \"\"}`,\n false,\n );\n }\n\n getEmailVerificationStatus<T = unknown>(): Promise<T> {\n return this.http.get(\"/v1/email-verify/status\");\n }\n\n changeVerifiedEmail<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\"/v1/email-verify/change\", body);\n }\n };\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,cAAAA,MAAkB,2BAMpB,SAASC,EAEdC,EAAa,CACX,OAAO,cAAoCA,CAAK,CAC5C,sBACIC,EACU,CACV,OAAO,KAAK,KAAK,KACb,wBACAA,EACA,EACJ,CACJ,CAEA,yBACIA,EACU,CACV,OAAO,KAAK,KAAK,KACb,2BACAA,EACA,EACJ,CACJ,CAEA,0BACIC,EACU,CACV,MAAMC,EAAKL,EAAWI,CAAK,EAC3B,OAAO,KAAK,KAAK,IACb,4BAA4BC,EAAK,IAAIA,CAAE,GAAK,EAAE,GAC9C,EACJ,CACJ,CAEA,4BAAsD,CAClD,OAAO,KAAK,KAAK,IAAI,yBAAyB,CAClD,CAEA,oBACIF,EACU,CACV,OAAO,KAAK,KAAK,KAAK,0BAA2BA,CAAI,CACzD,CACJ,CACJ",
|
|
6
|
+
"names": ["buildQuery", "EmailVerifyMixin", "Base", "body", "query", "qs"]
|
|
7
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GConstructor, EntityServerClientBase } from "
|
|
1
|
+
import type { GConstructor, EntityServerClientBase } from "../../../client/base.js";
|
|
2
2
|
export declare function OAuthMixin<TBase extends GConstructor<EntityServerClientBase>>(Base: TBase): {
|
|
3
3
|
new (...args: any[]): {
|
|
4
4
|
oauthAuthorizeUrl(provider: string, query?: Record<string, unknown>): string;
|
|
@@ -27,7 +27,7 @@ export declare function OAuthMixin<TBase extends GConstructor<EntityServerClient
|
|
|
27
27
|
_refreshTimer: ReturnType<typeof setTimeout> | null;
|
|
28
28
|
_csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
|
|
29
29
|
_csrfRefreshPromise: Promise<string> | null;
|
|
30
|
-
configure(options: Partial<import("
|
|
30
|
+
configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
|
|
31
31
|
setToken(token: string): void;
|
|
32
32
|
setAnonymousPacketToken(token: string): void;
|
|
33
33
|
setApiKey(apiKey: string): void;
|
|
@@ -45,10 +45,16 @@ export declare function OAuthMixin<TBase extends GConstructor<EntityServerClient
|
|
|
45
45
|
stopCsrfRefresh(): void;
|
|
46
46
|
_scheduleCsrfRefresh(expiresIn: number): void;
|
|
47
47
|
refreshCsrfToken(): Promise<string>;
|
|
48
|
-
_applyCsrfHealth(csrf?: import("
|
|
48
|
+
_applyCsrfHealth(csrf?: import("../../../types.js").EntityServerClientHealthCsrf | null): void;
|
|
49
49
|
readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
|
|
50
|
-
get _reqOpts(): import("
|
|
51
|
-
|
|
50
|
+
get _reqOpts(): import("../../../client/request.js").RequestOptions;
|
|
51
|
+
get http(): {
|
|
52
|
+
get<T>(path: string, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
53
|
+
post<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
54
|
+
put<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
55
|
+
patch<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
56
|
+
delete<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
57
|
+
};
|
|
52
58
|
requestBinary(method: string, path: string, body?: unknown, withAuth?: boolean): Promise<ArrayBuffer>;
|
|
53
59
|
requestForm<T>(method: string, path: string, form: FormData, withAuth?: boolean): Promise<T>;
|
|
54
60
|
requestFormBinary(method: string, path: string, form: FormData, withAuth?: boolean): Promise<ArrayBuffer>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{buildQuery as o}from"../../../client/utils.js";function c(s){return class extends s{oauthAuthorizeUrl(t,n={}){const r=o(n);return`${this.baseUrl}/v1/oauth/${t}${r?`?${r}`:""}`}oauthCallback(t,n,r="POST"){if(r==="GET"){const e=o(n??{});return this.http.get(`/v1/oauth/${t}/callback${e?`?${e}`:""}`,!1)}return this.http.post(`/v1/oauth/${t}/callback`,n,!1)}linkOAuthAccount(t){return this.http.post("/v1/account/oauth/link",t)}unlinkOAuthAccount(t){return this.http.delete(`/v1/account/oauth/link/${t}`)}listOAuthProviders(){return this.http.get("/v1/account/oauth/providers")}refreshOAuthProviderToken(t,n){return this.http.post(`/v1/account/oauth/refresh/${t}`,n)}}}export{c as OAuthMixin};
|
|
2
|
+
//# sourceMappingURL=oauth.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/mixins/app/routes/oauth.ts"],
|
|
4
|
+
"sourcesContent": ["import { buildQuery } from \"../../../client/utils.js\";\nimport type {\n GConstructor,\n EntityServerClientBase,\n} from \"../../../client/base.js\";\n\nexport function OAuthMixin<TBase extends GConstructor<EntityServerClientBase>>(\n Base: TBase,\n) {\n return class OAuthMixinClass extends Base {\n oauthAuthorizeUrl(\n provider: string,\n query: Record<string, unknown> = {},\n ): string {\n const qs = buildQuery(query);\n return `${this.baseUrl}/v1/oauth/${provider}${qs ? `?${qs}` : \"\"}`;\n }\n\n oauthCallback<T = unknown>(\n provider: string,\n payload?: Record<string, unknown>,\n method: \"GET\" | \"POST\" = \"POST\",\n ): Promise<T> {\n if (method === \"GET\") {\n const qs = buildQuery(payload ?? {});\n return this.http.get(\n `/v1/oauth/${provider}/callback${qs ? `?${qs}` : \"\"}`,\n false,\n );\n }\n\n return this.http.post(\n `/v1/oauth/${provider}/callback`,\n payload,\n false,\n );\n }\n\n linkOAuthAccount<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\"/v1/account/oauth/link\", body);\n }\n\n unlinkOAuthAccount<T = unknown>(provider: string): Promise<T> {\n return this.http.delete(\n `/v1/account/oauth/link/${provider}`,\n );\n }\n\n listOAuthProviders<T = unknown>(): Promise<T> {\n return this.http.get(\"/v1/account/oauth/providers\");\n }\n\n refreshOAuthProviderToken<T = unknown>(\n provider: string,\n body?: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n `/v1/account/oauth/refresh/${provider}`,\n body,\n );\n }\n };\n}\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,cAAAA,MAAkB,2BAMpB,SAASC,EACZC,EACF,CACE,OAAO,cAA8BA,CAAK,CACtC,kBACIC,EACAC,EAAiC,CAAC,EAC5B,CACN,MAAMC,EAAKL,EAAWI,CAAK,EAC3B,MAAO,GAAG,KAAK,OAAO,aAAaD,CAAQ,GAAGE,EAAK,IAAIA,CAAE,GAAK,EAAE,EACpE,CAEA,cACIF,EACAG,EACAC,EAAyB,OACf,CACV,GAAIA,IAAW,MAAO,CAClB,MAAMF,EAAKL,EAAWM,GAAW,CAAC,CAAC,EACnC,OAAO,KAAK,KAAK,IACb,aAAaH,CAAQ,YAAYE,EAAK,IAAIA,CAAE,GAAK,EAAE,GACnD,EACJ,CACJ,CAEA,OAAO,KAAK,KAAK,KACb,aAAaF,CAAQ,YACrBG,EACA,EACJ,CACJ,CAEA,iBACIE,EACU,CACV,OAAO,KAAK,KAAK,KAAK,yBAA0BA,CAAI,CACxD,CAEA,mBAAgCL,EAA8B,CAC1D,OAAO,KAAK,KAAK,OACb,0BAA0BA,CAAQ,EACtC,CACJ,CAEA,oBAA8C,CAC1C,OAAO,KAAK,KAAK,IAAI,6BAA6B,CACtD,CAEA,0BACIA,EACAK,EACU,CACV,OAAO,KAAK,KAAK,KACb,6BAA6BL,CAAQ,GACrCK,CACJ,CACJ,CACJ,CACJ",
|
|
6
|
+
"names": ["buildQuery", "OAuthMixin", "Base", "provider", "query", "qs", "payload", "method", "body"]
|
|
7
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GConstructor, EntityServerClientBase } from "
|
|
1
|
+
import type { GConstructor, EntityServerClientBase } from "../../../client/base.js";
|
|
2
2
|
export declare function PasswordResetMixin<TBase extends GConstructor<EntityServerClientBase>>(Base: TBase): {
|
|
3
3
|
new (...args: any[]): {
|
|
4
4
|
requestPasswordReset<T = unknown>(body: {
|
|
@@ -26,7 +26,7 @@ export declare function PasswordResetMixin<TBase extends GConstructor<EntityServ
|
|
|
26
26
|
_refreshTimer: ReturnType<typeof setTimeout> | null;
|
|
27
27
|
_csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
|
|
28
28
|
_csrfRefreshPromise: Promise<string> | null;
|
|
29
|
-
configure(options: Partial<import("
|
|
29
|
+
configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
|
|
30
30
|
setToken(token: string): void;
|
|
31
31
|
setAnonymousPacketToken(token: string): void;
|
|
32
32
|
setApiKey(apiKey: string): void;
|
|
@@ -44,10 +44,16 @@ export declare function PasswordResetMixin<TBase extends GConstructor<EntityServ
|
|
|
44
44
|
stopCsrfRefresh(): void;
|
|
45
45
|
_scheduleCsrfRefresh(expiresIn: number): void;
|
|
46
46
|
refreshCsrfToken(): Promise<string>;
|
|
47
|
-
_applyCsrfHealth(csrf?: import("
|
|
47
|
+
_applyCsrfHealth(csrf?: import("../../../types.js").EntityServerClientHealthCsrf | null): void;
|
|
48
48
|
readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
|
|
49
|
-
get _reqOpts(): import("
|
|
50
|
-
|
|
49
|
+
get _reqOpts(): import("../../../client/request.js").RequestOptions;
|
|
50
|
+
get http(): {
|
|
51
|
+
get<T>(path: string, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
52
|
+
post<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
53
|
+
put<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
54
|
+
patch<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
55
|
+
delete<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
56
|
+
};
|
|
51
57
|
requestBinary(method: string, path: string, body?: unknown, withAuth?: boolean): Promise<ArrayBuffer>;
|
|
52
58
|
requestForm<T>(method: string, path: string, form: FormData, withAuth?: boolean): Promise<T>;
|
|
53
59
|
requestFormBinary(method: string, path: string, form: FormData, withAuth?: boolean): Promise<ArrayBuffer>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function n(s){return class extends s{requestPasswordReset(e){return this.http.post("/v1/password-reset/request",e,!1)}validatePasswordResetToken(e){return this.http.get(`/v1/password-reset/validate/${encodeURIComponent(e)}`,!1)}verifyPasswordReset(e){return this.http.post("/v1/password-reset/verify",e,!1)}}}export{n as PasswordResetMixin};
|
|
2
|
+
//# sourceMappingURL=password-reset.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/mixins/app/routes/password-reset.ts"],
|
|
4
|
+
"sourcesContent": ["import type {\n GConstructor,\n EntityServerClientBase,\n} from \"../../../client/base.js\";\n\nexport function PasswordResetMixin<\n TBase extends GConstructor<EntityServerClientBase>,\n>(Base: TBase) {\n return class PasswordResetMixinClass extends Base {\n requestPasswordReset<T = unknown>(\n body: { email: string } | Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n \"/v1/password-reset/request\",\n body,\n false,\n );\n }\n\n validatePasswordResetToken<T = unknown>(token: string): Promise<T> {\n return this.http.get(\n `/v1/password-reset/validate/${encodeURIComponent(token)}`,\n false,\n );\n }\n\n verifyPasswordReset<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n \"/v1/password-reset/verify\",\n body,\n false,\n );\n }\n };\n}\n"],
|
|
5
|
+
"mappings": "AAKO,SAASA,EAEdC,EAAa,CACX,OAAO,cAAsCA,CAAK,CAC9C,qBACIC,EACU,CACV,OAAO,KAAK,KAAK,KACb,6BACAA,EACA,EACJ,CACJ,CAEA,2BAAwCC,EAA2B,CAC/D,OAAO,KAAK,KAAK,IACb,+BAA+B,mBAAmBA,CAAK,CAAC,GACxD,EACJ,CACJ,CAEA,oBACID,EACU,CACV,OAAO,KAAK,KAAK,KACb,4BACAA,EACA,EACJ,CACJ,CACJ,CACJ",
|
|
6
|
+
"names": ["PasswordResetMixin", "Base", "body", "token"]
|
|
7
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GConstructor, EntityServerClientBase } from "
|
|
1
|
+
import type { GConstructor, EntityServerClientBase } from "../../../client/base.js";
|
|
2
2
|
export declare function TwoFactorMixin<TBase extends GConstructor<EntityServerClientBase>>(Base: TBase): {
|
|
3
3
|
new (...args: any[]): {
|
|
4
4
|
setupTwoFactor<T = unknown>(body?: Record<string, unknown>): Promise<T>;
|
|
@@ -28,7 +28,7 @@ export declare function TwoFactorMixin<TBase extends GConstructor<EntityServerCl
|
|
|
28
28
|
_refreshTimer: ReturnType<typeof setTimeout> | null;
|
|
29
29
|
_csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
|
|
30
30
|
_csrfRefreshPromise: Promise<string> | null;
|
|
31
|
-
configure(options: Partial<import("
|
|
31
|
+
configure(options: Partial<import("../../../types.js").EntityServerClientOptions>): void;
|
|
32
32
|
setToken(token: string): void;
|
|
33
33
|
setAnonymousPacketToken(token: string): void;
|
|
34
34
|
setApiKey(apiKey: string): void;
|
|
@@ -46,10 +46,16 @@ export declare function TwoFactorMixin<TBase extends GConstructor<EntityServerCl
|
|
|
46
46
|
stopCsrfRefresh(): void;
|
|
47
47
|
_scheduleCsrfRefresh(expiresIn: number): void;
|
|
48
48
|
refreshCsrfToken(): Promise<string>;
|
|
49
|
-
_applyCsrfHealth(csrf?: import("
|
|
49
|
+
_applyCsrfHealth(csrf?: import("../../../types.js").EntityServerClientHealthCsrf | null): void;
|
|
50
50
|
readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
|
|
51
|
-
get _reqOpts(): import("
|
|
52
|
-
|
|
51
|
+
get _reqOpts(): import("../../../client/request.js").RequestOptions;
|
|
52
|
+
get http(): {
|
|
53
|
+
get<T>(path: string, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
54
|
+
post<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
55
|
+
put<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
56
|
+
patch<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
57
|
+
delete<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
58
|
+
};
|
|
53
59
|
requestBinary(method: string, path: string, body?: unknown, withAuth?: boolean): Promise<ArrayBuffer>;
|
|
54
60
|
requestForm<T>(method: string, path: string, form: FormData, withAuth?: boolean): Promise<T>;
|
|
55
61
|
requestFormBinary(method: string, path: string, form: FormData, withAuth?: boolean): Promise<ArrayBuffer>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function o(e){return class extends e{setupTwoFactor(t){return this.http.post("/v1/account/2fa/setup",t)}verifyTwoFactorSetup(t){return this.http.post("/v1/account/2fa/setup/verify",t,!1)}disableTwoFactor(){return this.http.delete("/v1/account/2fa")}getTwoFactorStatus(){return this.http.get("/v1/account/2fa/status")}regenerateTwoFactorRecoveryCodes(){return this.http.post("/v1/account/2fa/recovery/regenerate")}verifyTwoFactor(t){return this.http.post("/v1/account/2fa/verify",t,!1)}recoverTwoFactorAccess(t){return this.http.post("/v1/account/2fa/recovery",t,!1)}}}export{o as TwoFactorMixin};
|
|
2
|
+
//# sourceMappingURL=two-factor.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/mixins/app/routes/two-factor.ts"],
|
|
4
|
+
"sourcesContent": ["import type {\n GConstructor,\n EntityServerClientBase,\n} from \"../../../client/base.js\";\n\nexport function TwoFactorMixin<\n TBase extends GConstructor<EntityServerClientBase>,\n>(Base: TBase) {\n return class TwoFactorMixinClass extends Base {\n setupTwoFactor<T = unknown>(\n body?: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\"/v1/account/2fa/setup\", body);\n }\n\n verifyTwoFactorSetup<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n \"/v1/account/2fa/setup/verify\",\n body,\n false,\n );\n }\n\n disableTwoFactor<T = unknown>(): Promise<T> {\n return this.http.delete(\"/v1/account/2fa\");\n }\n\n getTwoFactorStatus<T = unknown>(): Promise<T> {\n return this.http.get(\"/v1/account/2fa/status\");\n }\n\n regenerateTwoFactorRecoveryCodes<T = unknown>(): Promise<T> {\n return this.http.post(\n \"/v1/account/2fa/recovery/regenerate\",\n );\n }\n\n verifyTwoFactor<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n \"/v1/account/2fa/verify\",\n body,\n false,\n );\n }\n\n recoverTwoFactorAccess<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(\n \"/v1/account/2fa/recovery\",\n body,\n false,\n );\n }\n };\n}\n"],
|
|
5
|
+
"mappings": "AAKO,SAASA,EAEdC,EAAa,CACX,OAAO,cAAkCA,CAAK,CAC1C,eACIC,EACU,CACV,OAAO,KAAK,KAAK,KAAK,wBAAyBA,CAAI,CACvD,CAEA,qBACIA,EACU,CACV,OAAO,KAAK,KAAK,KACb,+BACAA,EACA,EACJ,CACJ,CAEA,kBAA4C,CACxC,OAAO,KAAK,KAAK,OAAO,iBAAiB,CAC7C,CAEA,oBAA8C,CAC1C,OAAO,KAAK,KAAK,IAAI,wBAAwB,CACjD,CAEA,kCAA4D,CACxD,OAAO,KAAK,KAAK,KACb,qCACJ,CACJ,CAEA,gBACIA,EACU,CACV,OAAO,KAAK,KAAK,KACb,yBACAA,EACA,EACJ,CACJ,CAEA,uBACIA,EACU,CACV,OAAO,KAAK,KAAK,KACb,2BACAA,EACA,EACJ,CACJ,CACJ,CACJ",
|
|
6
|
+
"names": ["TwoFactorMixin", "Base", "body"]
|
|
7
|
+
}
|
|
@@ -93,7 +93,13 @@ export declare function AdminMixin<TBase extends GConstructor<EntityServerClient
|
|
|
93
93
|
_applyCsrfHealth(csrf?: import("../../types.js").EntityServerClientHealthCsrf | null): void;
|
|
94
94
|
readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
|
|
95
95
|
get _reqOpts(): import("../../client/request.js").RequestOptions;
|
|
96
|
-
|
|
96
|
+
get http(): {
|
|
97
|
+
get<T>(path: string, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
98
|
+
post<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
99
|
+
put<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
100
|
+
patch<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
101
|
+
delete<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
102
|
+
};
|
|
97
103
|
requestBinary(method: string, path: string, body?: unknown, withAuth?: boolean): Promise<ArrayBuffer>;
|
|
98
104
|
requestForm<T>(method: string, path: string, form: FormData, withAuth?: boolean): Promise<T>;
|
|
99
105
|
requestFormBinary(method: string, path: string, form: FormData, withAuth?: boolean): Promise<ArrayBuffer>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function s(i){return class extends i{_adminPath(n){return`/v1/admin${n}`}_adminGet(n){return this.
|
|
1
|
+
function s(i){return class extends i{_adminPath(n){return`/v1/admin${n}`}_adminGet(n){return this.http.get(this._adminPath(n))}_adminPost(n,t){return this.http.post(this._adminPath(n),t)}_adminPut(n,t){return this.http.put(this._adminPath(n),t)}_adminPatch(n,t){return this.http.patch(this._adminPath(n),t)}_adminDelete(n,t){return this.http.delete(this._adminPath(n),t)}listAdminEntities(){return this._adminGet("/entities")}getAdminErdSchema(){return this._adminGet("/erd/schema")}batchEnsureAdminEntities(n){return this._adminPost("/entities/batch-ensure",n)}createAdminEntityConfig(n,t){return this._adminPost(`/${n}/create`,t)}getAdminEntityConfig(n){return this._adminGet(`/${n}/config`)}updateAdminEntityConfig(n,t){return this._adminPut(`/${n}/config`,t)}validateAdminEntityConfig(n,t){return this._adminPost(t?`/${t}/validate`:"/entity/validate",n)}normalizeAdminEntityConfig(n,t){return this._adminPost(t?`/${t}/normalize`:"/entity/normalize",n)}getAdminEntityStats(n,t){return this._adminPost(`/${n}/stats`,t)}reindexAdminEntity(n){return this._adminPost(`/${n}/reindex`)}syncAdminEntitySchema(n){return this._adminPost(`/${n}/sync-schema`)}resetAdminEntity(n){return this._adminPost(`/${n}/reset`)}truncateAdminEntity(n){return this._adminPost(`/${n}/truncate`)}dropAdminEntity(n){return this._adminPost(`/${n}/drop`)}resetAllAdmin(n){return this._adminPost("/reset-all",n)}listAdminConfigs(){return this._adminGet("/configs")}getAdminConfig(n){return this._adminGet(`/configs/${n}`)}updateAdminConfig(n,t){return this._adminPatch(`/configs/${n}`,t)}listAdminRoles(){return this._adminGet("/roles")}createAdminRole(n){return this._adminPost("/roles",n)}getAdminRole(n){return this._adminGet(`/roles/${n}`)}updateAdminRole(n,t){return this._adminPatch(`/roles/${n}`,t)}deleteAdminRole(n){return this._adminDelete(`/roles/${n}`)}listAdminApiKeys(){return this._adminGet("/api-keys")}createAdminApiKey(n){return this._adminPost("/api-keys",n)}getAdminApiKey(n){return this._adminGet(`/api-keys/${n}`)}updateAdminApiKey(n,t){return this._adminPatch(`/api-keys/${n}`,t)}deleteAdminApiKey(n){return this._adminDelete(`/api-keys/${n}`)}regenerateAdminApiKeySecret(n){return this._adminPost(`/api-keys/${n}/regenerate-secret`)}listAdminAccounts(){return this._adminGet("/accounts")}createAdminAccount(n){return this._adminPost("/accounts",n)}getAdminAccount(n){return this._adminGet(`/accounts/${n}`)}updateAdminAccount(n,t){return this._adminPatch(`/accounts/${n}`,t)}deleteAdminAccount(n){return this._adminDelete(`/accounts/${n}`)}listAdminLicenses(){return this._adminGet("/licenses")}createAdminLicense(n){return this._adminPost("/licenses",n)}getAdminLicense(n){return this._adminGet(`/licenses/${n}`)}updateAdminLicense(n,t){return this._adminPatch(`/licenses/${n}`,t)}deleteAdminLicense(n){return this._adminDelete(`/licenses/${n}`)}runAdminBackup(n){return this._adminPost("/backup/run",n)}getAdminBackupStatus(n){return this._adminPost("/backup/status",n)}listAdminBackups(n){return this._adminPost("/backup/list",n)}restoreAdminBackup(n){return this._adminPost("/backup/restore",n)}deleteAdminBackup(n){return this._adminPost("/backup/delete",n)}disableAdminAccountTwoFactor(n){return this._adminDelete(`/accounts/${n}/2fa`)}}}export{s as AdminMixin};
|
|
2
2
|
//# sourceMappingURL=admin.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/mixins/server/admin.ts"],
|
|
4
|
-
"sourcesContent": ["import type {\n GConstructor,\n EntityServerClientBase,\n} from \"../../client/base.js\";\n\nexport function AdminMixin<TBase extends GConstructor<EntityServerClientBase>>(\n Base: TBase,\n) {\n return class AdminMixinClass extends Base {\n _adminPath(path: string): string {\n return `/v1/admin${path}`;\n }\n\n _adminGet<T>(path: string): Promise<T> {\n return this.
|
|
5
|
-
"mappings": "AAKO,SAASA,EACZC,EACF,CACE,OAAO,cAA8BA,CAAK,CACtC,WAAWC,EAAsB,CAC7B,MAAO,YAAYA,CAAI,EAC3B,CAEA,UAAaA,EAA0B,CACnC,OAAO,KAAK,
|
|
4
|
+
"sourcesContent": ["import type {\n GConstructor,\n EntityServerClientBase,\n} from \"../../client/base.js\";\n\nexport function AdminMixin<TBase extends GConstructor<EntityServerClientBase>>(\n Base: TBase,\n) {\n return class AdminMixinClass extends Base {\n _adminPath(path: string): string {\n return `/v1/admin${path}`;\n }\n\n _adminGet<T>(path: string): Promise<T> {\n return this.http.get(this._adminPath(path));\n }\n\n _adminPost<T>(path: string, body?: unknown): Promise<T> {\n return this.http.post(this._adminPath(path), body);\n }\n\n _adminPut<T>(path: string, body?: unknown): Promise<T> {\n return this.http.put(this._adminPath(path), body);\n }\n\n _adminPatch<T>(path: string, body?: unknown): Promise<T> {\n return this.http.patch(this._adminPath(path), body);\n }\n\n _adminDelete<T>(path: string, body?: unknown): Promise<T> {\n return this.http.delete(this._adminPath(path), body);\n }\n\n listAdminEntities<T = unknown>(): Promise<T> {\n return this._adminGet(\"/entities\");\n }\n\n getAdminErdSchema<T = unknown>(): Promise<T> {\n return this._adminGet(\"/erd/schema\");\n }\n\n batchEnsureAdminEntities<T = unknown>(configs: unknown[]): Promise<T> {\n return this._adminPost(\"/entities/batch-ensure\", configs);\n }\n\n createAdminEntityConfig<T = unknown>(\n entity: string,\n config: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(`/${entity}/create`, config);\n }\n\n getAdminEntityConfig<T = unknown>(entity: string): Promise<T> {\n return this._adminGet(`/${entity}/config`);\n }\n\n updateAdminEntityConfig<T = unknown>(\n entity: string,\n config: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPut(`/${entity}/config`, config);\n }\n\n validateAdminEntityConfig<T = unknown>(\n config: Record<string, unknown>,\n entity?: string,\n ): Promise<T> {\n return this._adminPost(\n entity ? `/${entity}/validate` : \"/entity/validate\",\n config,\n );\n }\n\n normalizeAdminEntityConfig<T = unknown>(\n config: Record<string, unknown>,\n entity?: string,\n ): Promise<T> {\n return this._adminPost(\n entity ? `/${entity}/normalize` : \"/entity/normalize\",\n config,\n );\n }\n\n getAdminEntityStats<T = unknown>(\n entity: string,\n body?: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(`/${entity}/stats`, body);\n }\n\n reindexAdminEntity<T = unknown>(entity: string): Promise<T> {\n return this._adminPost(`/${entity}/reindex`);\n }\n\n syncAdminEntitySchema<T = unknown>(entity: string): Promise<T> {\n return this._adminPost(`/${entity}/sync-schema`);\n }\n\n resetAdminEntity<T = unknown>(entity: string): Promise<T> {\n return this._adminPost(`/${entity}/reset`);\n }\n\n truncateAdminEntity<T = unknown>(entity: string): Promise<T> {\n return this._adminPost(`/${entity}/truncate`);\n }\n\n dropAdminEntity<T = unknown>(entity: string): Promise<T> {\n return this._adminPost(`/${entity}/drop`);\n }\n\n resetAllAdmin<T = unknown>(body?: Record<string, unknown>): Promise<T> {\n return this._adminPost(\"/reset-all\", body);\n }\n\n listAdminConfigs<T = unknown>(): Promise<T> {\n return this._adminGet(\"/configs\");\n }\n\n getAdminConfig<T = unknown>(domain: string): Promise<T> {\n return this._adminGet(`/configs/${domain}`);\n }\n\n updateAdminConfig<T = unknown>(\n domain: string,\n patch: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPatch(`/configs/${domain}`, patch);\n }\n\n listAdminRoles<T = unknown>(): Promise<T> {\n return this._adminGet(\"/roles\");\n }\n\n createAdminRole<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/roles\", body);\n }\n\n getAdminRole<T = unknown>(seq: number): Promise<T> {\n return this._adminGet(`/roles/${seq}`);\n }\n\n updateAdminRole<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPatch(`/roles/${seq}`, body);\n }\n\n deleteAdminRole<T = unknown>(seq: number): Promise<T> {\n return this._adminDelete(`/roles/${seq}`);\n }\n\n listAdminApiKeys<T = unknown>(): Promise<T> {\n return this._adminGet(\"/api-keys\");\n }\n\n createAdminApiKey<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/api-keys\", body);\n }\n\n getAdminApiKey<T = unknown>(seq: number): Promise<T> {\n return this._adminGet(`/api-keys/${seq}`);\n }\n\n updateAdminApiKey<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPatch(`/api-keys/${seq}`, body);\n }\n\n deleteAdminApiKey<T = unknown>(seq: number): Promise<T> {\n return this._adminDelete(`/api-keys/${seq}`);\n }\n\n regenerateAdminApiKeySecret<T = unknown>(seq: number): Promise<T> {\n return this._adminPost(`/api-keys/${seq}/regenerate-secret`);\n }\n\n listAdminAccounts<T = unknown>(): Promise<T> {\n return this._adminGet(\"/accounts\");\n }\n\n createAdminAccount<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/accounts\", body);\n }\n\n getAdminAccount<T = unknown>(seq: number): Promise<T> {\n return this._adminGet(`/accounts/${seq}`);\n }\n\n updateAdminAccount<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPatch(`/accounts/${seq}`, body);\n }\n\n deleteAdminAccount<T = unknown>(seq: number): Promise<T> {\n return this._adminDelete(`/accounts/${seq}`);\n }\n\n listAdminLicenses<T = unknown>(): Promise<T> {\n return this._adminGet(\"/licenses\");\n }\n\n createAdminLicense<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/licenses\", body);\n }\n\n getAdminLicense<T = unknown>(seq: number): Promise<T> {\n return this._adminGet(`/licenses/${seq}`);\n }\n\n updateAdminLicense<T = unknown>(\n seq: number,\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPatch(`/licenses/${seq}`, body);\n }\n\n deleteAdminLicense<T = unknown>(seq: number): Promise<T> {\n return this._adminDelete(`/licenses/${seq}`);\n }\n\n runAdminBackup<T = unknown>(\n body?: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/backup/run\", body);\n }\n\n getAdminBackupStatus<T = unknown>(\n body?: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/backup/status\", body);\n }\n\n listAdminBackups<T = unknown>(\n body?: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/backup/list\", body);\n }\n\n restoreAdminBackup<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/backup/restore\", body);\n }\n\n deleteAdminBackup<T = unknown>(\n body: Record<string, unknown>,\n ): Promise<T> {\n return this._adminPost(\"/backup/delete\", body);\n }\n\n disableAdminAccountTwoFactor<T = unknown>(seq: number): Promise<T> {\n return this._adminDelete(`/accounts/${seq}/2fa`);\n }\n };\n}\n"],
|
|
5
|
+
"mappings": "AAKO,SAASA,EACZC,EACF,CACE,OAAO,cAA8BA,CAAK,CACtC,WAAWC,EAAsB,CAC7B,MAAO,YAAYA,CAAI,EAC3B,CAEA,UAAaA,EAA0B,CACnC,OAAO,KAAK,KAAK,IAAI,KAAK,WAAWA,CAAI,CAAC,CAC9C,CAEA,WAAcA,EAAcC,EAA4B,CACpD,OAAO,KAAK,KAAK,KAAK,KAAK,WAAWD,CAAI,EAAGC,CAAI,CACrD,CAEA,UAAaD,EAAcC,EAA4B,CACnD,OAAO,KAAK,KAAK,IAAI,KAAK,WAAWD,CAAI,EAAGC,CAAI,CACpD,CAEA,YAAeD,EAAcC,EAA4B,CACrD,OAAO,KAAK,KAAK,MAAM,KAAK,WAAWD,CAAI,EAAGC,CAAI,CACtD,CAEA,aAAgBD,EAAcC,EAA4B,CACtD,OAAO,KAAK,KAAK,OAAO,KAAK,WAAWD,CAAI,EAAGC,CAAI,CACvD,CAEA,mBAA6C,CACzC,OAAO,KAAK,UAAU,WAAW,CACrC,CAEA,mBAA6C,CACzC,OAAO,KAAK,UAAU,aAAa,CACvC,CAEA,yBAAsCC,EAAgC,CAClE,OAAO,KAAK,WAAW,yBAA0BA,CAAO,CAC5D,CAEA,wBACIC,EACAC,EACU,CACV,OAAO,KAAK,WAAW,IAAID,CAAM,UAAWC,CAAM,CACtD,CAEA,qBAAkCD,EAA4B,CAC1D,OAAO,KAAK,UAAU,IAAIA,CAAM,SAAS,CAC7C,CAEA,wBACIA,EACAC,EACU,CACV,OAAO,KAAK,UAAU,IAAID,CAAM,UAAWC,CAAM,CACrD,CAEA,0BACIA,EACAD,EACU,CACV,OAAO,KAAK,WACRA,EAAS,IAAIA,CAAM,YAAc,mBACjCC,CACJ,CACJ,CAEA,2BACIA,EACAD,EACU,CACV,OAAO,KAAK,WACRA,EAAS,IAAIA,CAAM,aAAe,oBAClCC,CACJ,CACJ,CAEA,oBACID,EACAF,EACU,CACV,OAAO,KAAK,WAAW,IAAIE,CAAM,SAAUF,CAAI,CACnD,CAEA,mBAAgCE,EAA4B,CACxD,OAAO,KAAK,WAAW,IAAIA,CAAM,UAAU,CAC/C,CAEA,sBAAmCA,EAA4B,CAC3D,OAAO,KAAK,WAAW,IAAIA,CAAM,cAAc,CACnD,CAEA,iBAA8BA,EAA4B,CACtD,OAAO,KAAK,WAAW,IAAIA,CAAM,QAAQ,CAC7C,CAEA,oBAAiCA,EAA4B,CACzD,OAAO,KAAK,WAAW,IAAIA,CAAM,WAAW,CAChD,CAEA,gBAA6BA,EAA4B,CACrD,OAAO,KAAK,WAAW,IAAIA,CAAM,OAAO,CAC5C,CAEA,cAA2BF,EAA4C,CACnE,OAAO,KAAK,WAAW,aAAcA,CAAI,CAC7C,CAEA,kBAA4C,CACxC,OAAO,KAAK,UAAU,UAAU,CACpC,CAEA,eAA4BI,EAA4B,CACpD,OAAO,KAAK,UAAU,YAAYA,CAAM,EAAE,CAC9C,CAEA,kBACIA,EACAC,EACU,CACV,OAAO,KAAK,YAAY,YAAYD,CAAM,GAAIC,CAAK,CACvD,CAEA,gBAA0C,CACtC,OAAO,KAAK,UAAU,QAAQ,CAClC,CAEA,gBACIL,EACU,CACV,OAAO,KAAK,WAAW,SAAUA,CAAI,CACzC,CAEA,aAA0BM,EAAyB,CAC/C,OAAO,KAAK,UAAU,UAAUA,CAAG,EAAE,CACzC,CAEA,gBACIA,EACAN,EACU,CACV,OAAO,KAAK,YAAY,UAAUM,CAAG,GAAIN,CAAI,CACjD,CAEA,gBAA6BM,EAAyB,CAClD,OAAO,KAAK,aAAa,UAAUA,CAAG,EAAE,CAC5C,CAEA,kBAA4C,CACxC,OAAO,KAAK,UAAU,WAAW,CACrC,CAEA,kBACIN,EACU,CACV,OAAO,KAAK,WAAW,YAAaA,CAAI,CAC5C,CAEA,eAA4BM,EAAyB,CACjD,OAAO,KAAK,UAAU,aAAaA,CAAG,EAAE,CAC5C,CAEA,kBACIA,EACAN,EACU,CACV,OAAO,KAAK,YAAY,aAAaM,CAAG,GAAIN,CAAI,CACpD,CAEA,kBAA+BM,EAAyB,CACpD,OAAO,KAAK,aAAa,aAAaA,CAAG,EAAE,CAC/C,CAEA,4BAAyCA,EAAyB,CAC9D,OAAO,KAAK,WAAW,aAAaA,CAAG,oBAAoB,CAC/D,CAEA,mBAA6C,CACzC,OAAO,KAAK,UAAU,WAAW,CACrC,CAEA,mBACIN,EACU,CACV,OAAO,KAAK,WAAW,YAAaA,CAAI,CAC5C,CAEA,gBAA6BM,EAAyB,CAClD,OAAO,KAAK,UAAU,aAAaA,CAAG,EAAE,CAC5C,CAEA,mBACIA,EACAN,EACU,CACV,OAAO,KAAK,YAAY,aAAaM,CAAG,GAAIN,CAAI,CACpD,CAEA,mBAAgCM,EAAyB,CACrD,OAAO,KAAK,aAAa,aAAaA,CAAG,EAAE,CAC/C,CAEA,mBAA6C,CACzC,OAAO,KAAK,UAAU,WAAW,CACrC,CAEA,mBACIN,EACU,CACV,OAAO,KAAK,WAAW,YAAaA,CAAI,CAC5C,CAEA,gBAA6BM,EAAyB,CAClD,OAAO,KAAK,UAAU,aAAaA,CAAG,EAAE,CAC5C,CAEA,mBACIA,EACAN,EACU,CACV,OAAO,KAAK,YAAY,aAAaM,CAAG,GAAIN,CAAI,CACpD,CAEA,mBAAgCM,EAAyB,CACrD,OAAO,KAAK,aAAa,aAAaA,CAAG,EAAE,CAC/C,CAEA,eACIN,EACU,CACV,OAAO,KAAK,WAAW,cAAeA,CAAI,CAC9C,CAEA,qBACIA,EACU,CACV,OAAO,KAAK,WAAW,iBAAkBA,CAAI,CACjD,CAEA,iBACIA,EACU,CACV,OAAO,KAAK,WAAW,eAAgBA,CAAI,CAC/C,CAEA,mBACIA,EACU,CACV,OAAO,KAAK,WAAW,kBAAmBA,CAAI,CAClD,CAEA,kBACIA,EACU,CACV,OAAO,KAAK,WAAW,iBAAkBA,CAAI,CACjD,CAEA,6BAA0CM,EAAyB,CAC/D,OAAO,KAAK,aAAa,aAAaA,CAAG,MAAM,CACnD,CACJ,CACJ",
|
|
6
6
|
"names": ["AdminMixin", "Base", "path", "body", "configs", "entity", "config", "domain", "patch", "seq"]
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GConstructor, EntityServerClientBase } from "
|
|
1
|
+
import type { GConstructor, EntityServerClientBase } from "../../client/base.js";
|
|
2
2
|
export declare function AuthMixin<TBase extends GConstructor<EntityServerClientBase>>(Base: TBase): {
|
|
3
3
|
new (...args: any[]): {
|
|
4
4
|
/**
|
|
@@ -16,7 +16,7 @@ export declare function AuthMixin<TBase extends GConstructor<EntityServerClientB
|
|
|
16
16
|
packet_encryption?: boolean;
|
|
17
17
|
packet_mode?: string;
|
|
18
18
|
packet_token?: string;
|
|
19
|
-
csrf?: import("
|
|
19
|
+
csrf?: import("../../types").EntityServerClientHealthCsrf;
|
|
20
20
|
}>;
|
|
21
21
|
/** 로그인 후 `access_token`을 내부 상태에 저장합니다. */
|
|
22
22
|
login(email: string, password: string): Promise<{
|
|
@@ -48,20 +48,6 @@ export declare function AuthMixin<TBase extends GConstructor<EntityServerClientB
|
|
|
48
48
|
withdraw(passwd?: string): Promise<{
|
|
49
49
|
ok: boolean;
|
|
50
50
|
}>;
|
|
51
|
-
/**
|
|
52
|
-
* 휴면 계정을 재활성화합니다.
|
|
53
|
-
* 비밀번호 또는 OAuth(provider + code)로 본인 확인합니다.
|
|
54
|
-
*/
|
|
55
|
-
reactivate(params: {
|
|
56
|
-
email: string;
|
|
57
|
-
passwd?: string;
|
|
58
|
-
provider?: string;
|
|
59
|
-
code?: string;
|
|
60
|
-
}): Promise<{
|
|
61
|
-
access_token: string;
|
|
62
|
-
refresh_token: string;
|
|
63
|
-
expires_in: number;
|
|
64
|
-
}>;
|
|
65
51
|
baseUrl: string;
|
|
66
52
|
token: string;
|
|
67
53
|
anonymousPacketToken: string;
|
|
@@ -82,7 +68,7 @@ export declare function AuthMixin<TBase extends GConstructor<EntityServerClientB
|
|
|
82
68
|
_refreshTimer: ReturnType<typeof setTimeout> | null;
|
|
83
69
|
_csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
|
|
84
70
|
_csrfRefreshPromise: Promise<string> | null;
|
|
85
|
-
configure(options: Partial<import("
|
|
71
|
+
configure(options: Partial<import("../../types").EntityServerClientOptions>): void;
|
|
86
72
|
setToken(token: string): void;
|
|
87
73
|
setAnonymousPacketToken(token: string): void;
|
|
88
74
|
setApiKey(apiKey: string): void;
|
|
@@ -100,10 +86,16 @@ export declare function AuthMixin<TBase extends GConstructor<EntityServerClientB
|
|
|
100
86
|
stopCsrfRefresh(): void;
|
|
101
87
|
_scheduleCsrfRefresh(expiresIn: number): void;
|
|
102
88
|
refreshCsrfToken(): Promise<string>;
|
|
103
|
-
_applyCsrfHealth(csrf?: import("
|
|
89
|
+
_applyCsrfHealth(csrf?: import("../../types").EntityServerClientHealthCsrf | null): void;
|
|
104
90
|
readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
|
|
105
|
-
get _reqOpts(): import("
|
|
106
|
-
|
|
91
|
+
get _reqOpts(): import("../../client/request.js").RequestOptions;
|
|
92
|
+
get http(): {
|
|
93
|
+
get<T>(path: string, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
94
|
+
post<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
95
|
+
put<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
96
|
+
patch<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
97
|
+
delete<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
98
|
+
};
|
|
107
99
|
requestBinary(method: string, path: string, body?: unknown, withAuth?: boolean): Promise<ArrayBuffer>;
|
|
108
100
|
requestForm<T>(method: string, path: string, form: FormData, withAuth?: boolean): Promise<T>;
|
|
109
101
|
requestFormBinary(method: string, path: string, form: FormData, withAuth?: boolean): Promise<ArrayBuffer>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
1
|
+
function i(n){return class extends n{async checkHealth(){const e=await(await fetch(`${this.baseUrl}/v1/health`,{signal:AbortSignal.timeout(3e3),credentials:"include"})).json();return e.packet_encryption&&(this.encryptRequests=!0),typeof e.packet_token=="string"&&(this.anonymousPacketToken=e.packet_token),this._applyCsrfHealth(e.csrf),e}async login(t,e){const s=await this._request("POST","/v1/auth/login",{email:t,passwd:e},!1);return this.token=s.data.access_token,this.keepSession&&this._scheduleKeepSession(s.data.refresh_token,s.data.expires_in,r=>this.refreshToken(r)),s.data}async refreshToken(t){const e=await this._request("POST","/v1/auth/refresh",{refresh_token:t},!1);return this.token=e.data.access_token,this.keepSession&&this._scheduleKeepSession(t,e.data.expires_in,s=>this.refreshToken(s)),e.data}async logout(t){this.stopKeepSession();const e=await this._request("POST","/v1/auth/logout",{refresh_token:t},!1);return this.token="",e}me(){return this._request("GET","/v1/auth/me")}withdraw(t){return this._request("POST","/v1/auth/withdraw",t?{passwd:t}:{})}}}export{i as AuthMixin};
|
|
2
2
|
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/mixins/server/auth.ts"],
|
|
4
|
+
"sourcesContent": ["import type {\n GConstructor,\n EntityServerClientBase,\n} from \"../../client/base.js\";\n\nexport function AuthMixin<TBase extends GConstructor<EntityServerClientBase>>(\n Base: TBase,\n) {\n return class AuthMixinClass extends Base {\n // \u2500\u2500\u2500 \uC778\uC99D \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n /**\n * \uC11C\uBC84 \uD5EC\uC2A4 \uCCB4\uD06C\uB97C \uC218\uD589\uD558\uACE0 \uD328\uD0B7 \uC554\uD638\uD654 \uD65C\uC131 \uC5EC\uBD80\uB97C \uC790\uB3D9\uC73C\uB85C \uAC10\uC9C0\uD569\uB2C8\uB2E4.\n *\n * \uC11C\uBC84\uAC00 `packet_encryption: true`\uB97C \uC751\uB2F5\uD558\uBA74 \uC774\uD6C4 \uBAA8\uB4E0 \uC694\uCCAD\uC5D0 \uC554\uD638\uD654\uAC00 \uC790\uB3D9 \uC801\uC6A9\uB429\uB2C8\uB2E4.\n *\n * ```ts\n * await client.checkHealth();\n * await client.login(email, password);\n * ```\n */\n async checkHealth(): Promise<{\n ok: boolean;\n packet_encryption?: boolean;\n packet_mode?: string;\n packet_token?: string;\n csrf?: import(\"../../types\").EntityServerClientHealthCsrf;\n }> {\n const res = await fetch(`${this.baseUrl}/v1/health`, {\n signal: AbortSignal.timeout(3000),\n credentials: \"include\",\n });\n const data = (await res.json()) as {\n ok: boolean;\n packet_encryption?: boolean;\n packet_mode?: string;\n packet_token?: string;\n csrf?: import(\"../../types\").EntityServerClientHealthCsrf;\n };\n if (data.packet_encryption) this.encryptRequests = true;\n if (typeof data.packet_token === \"string\") {\n this.anonymousPacketToken = data.packet_token;\n }\n this._applyCsrfHealth(data.csrf);\n return data;\n }\n\n /** \uB85C\uADF8\uC778 \uD6C4 `access_token`\uC744 \uB0B4\uBD80 \uC0C1\uD0DC\uC5D0 \uC800\uC7A5\uD569\uB2C8\uB2E4. */\n async login(\n email: string,\n password: string,\n ): Promise<{\n access_token: string;\n refresh_token: string;\n expires_in: number;\n force_password_change?: boolean;\n password_expired?: boolean;\n password_expires_in_days?: number;\n }> {\n const data = await this._request<{\n data: {\n access_token: string;\n refresh_token: string;\n expires_in: number;\n force_password_change?: boolean;\n password_expired?: boolean;\n password_expires_in_days?: number;\n };\n }>(\"POST\", \"/v1/auth/login\", { email, passwd: password }, false);\n this.token = data.data.access_token;\n if (this.keepSession)\n this._scheduleKeepSession(\n data.data.refresh_token,\n data.data.expires_in,\n (rt) => this.refreshToken(rt),\n );\n return data.data;\n }\n\n /** Refresh Token\uC73C\uB85C Access Token\uC744 \uC7AC\uBC1C\uAE09\uBC1B\uC544 \uB0B4\uBD80 \uD1A0\uD070\uC744 \uAD50\uCCB4\uD569\uB2C8\uB2E4. */\n async refreshToken(\n refreshToken: string,\n ): Promise<{ access_token: string; expires_in: number }> {\n const data = await this._request<{\n data: { access_token: string; expires_in: number };\n }>(\n \"POST\",\n \"/v1/auth/refresh\",\n { refresh_token: refreshToken },\n false,\n );\n this.token = data.data.access_token;\n if (this.keepSession)\n this._scheduleKeepSession(\n refreshToken,\n data.data.expires_in,\n (rt) => this.refreshToken(rt),\n );\n return data.data;\n }\n\n /**\n * \uC11C\uBC84\uC5D0 \uB85C\uADF8\uC544\uC6C3\uC744 \uC694\uCCAD\uD558\uACE0 \uB0B4\uBD80 \uD1A0\uD070\uC744 \uCD08\uAE30\uD654\uD569\uB2C8\uB2E4.\n * refresh_token\uC744 \uC11C\uBC84\uC5D0 \uC804\uB2EC\uD574 \uBB34\uD6A8\uD654\uD569\uB2C8\uB2E4.\n */\n async logout(refreshToken: string): Promise<{ ok: boolean }> {\n this.stopKeepSession();\n const data = await this._request<{ ok: boolean }>(\n \"POST\",\n \"/v1/auth/logout\",\n { refresh_token: refreshToken },\n false,\n );\n this.token = \"\";\n return data;\n }\n\n /** \uD604\uC7AC \uB85C\uADF8\uC778\uB41C \uC0AC\uC6A9\uC790 \uC815\uBCF4\uB97C \uBC18\uD658\uD569\uB2C8\uB2E4. */\n me<T = Record<string, unknown>>(): Promise<{ ok: boolean; data: T }> {\n return this._request(\"GET\", \"/v1/auth/me\");\n }\n\n /** \uD68C\uC6D0 \uD0C8\uD1F4\uB97C \uC694\uCCAD\uD569\uB2C8\uB2E4. */\n withdraw(passwd?: string): Promise<{ ok: boolean }> {\n return this._request(\n \"POST\",\n \"/v1/auth/withdraw\",\n passwd ? { passwd } : {},\n );\n }\n };\n}\n"],
|
|
5
|
+
"mappings": "AAKO,SAASA,EACZC,EACF,CACE,OAAO,cAA6BA,CAAK,CAarC,MAAM,aAMH,CAKC,MAAMC,EAAQ,MAJF,MAAM,MAAM,GAAG,KAAK,OAAO,aAAc,CACjD,OAAQ,YAAY,QAAQ,GAAI,EAChC,YAAa,SACjB,CAAC,GACuB,KAAK,EAO7B,OAAIA,EAAK,oBAAmB,KAAK,gBAAkB,IAC/C,OAAOA,EAAK,cAAiB,WAC7B,KAAK,qBAAuBA,EAAK,cAErC,KAAK,iBAAiBA,EAAK,IAAI,EACxBA,CACX,CAGA,MAAM,MACFC,EACAC,EAQD,CACC,MAAMF,EAAO,MAAM,KAAK,SASrB,OAAQ,iBAAkB,CAAE,MAAAC,EAAO,OAAQC,CAAS,EAAG,EAAK,EAC/D,YAAK,MAAQF,EAAK,KAAK,aACnB,KAAK,aACL,KAAK,qBACDA,EAAK,KAAK,cACVA,EAAK,KAAK,WACTG,GAAO,KAAK,aAAaA,CAAE,CAChC,EACGH,EAAK,IAChB,CAGA,MAAM,aACFI,EACqD,CACrD,MAAMJ,EAAO,MAAM,KAAK,SAGpB,OACA,mBACA,CAAE,cAAeI,CAAa,EAC9B,EACJ,EACA,YAAK,MAAQJ,EAAK,KAAK,aACnB,KAAK,aACL,KAAK,qBACDI,EACAJ,EAAK,KAAK,WACTG,GAAO,KAAK,aAAaA,CAAE,CAChC,EACGH,EAAK,IAChB,CAMA,MAAM,OAAOI,EAAgD,CACzD,KAAK,gBAAgB,EACrB,MAAMJ,EAAO,MAAM,KAAK,SACpB,OACA,kBACA,CAAE,cAAeI,CAAa,EAC9B,EACJ,EACA,YAAK,MAAQ,GACNJ,CACX,CAGA,IAAqE,CACjE,OAAO,KAAK,SAAS,MAAO,aAAa,CAC7C,CAGA,SAASK,EAA2C,CAChD,OAAO,KAAK,SACR,OACA,oBACAA,EAAS,CAAE,OAAAA,CAAO,EAAI,CAAC,CAC3B,CACJ,CACJ,CACJ",
|
|
6
|
+
"names": ["AuthMixin", "Base", "data", "email", "password", "rt", "refreshToken", "passwd"]
|
|
7
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { EntityHistoryRecord, EntityListParams, EntityListResult, EntityQueryRequest } from "
|
|
2
|
-
import type { GConstructor, EntityServerClientBase } from "
|
|
1
|
+
import type { EntityHistoryRecord, EntityListParams, EntityListResult, EntityQueryRequest } from "../../types.js";
|
|
2
|
+
import type { GConstructor, EntityServerClientBase } from "../../client/base.js";
|
|
3
3
|
export declare function EntityMixin<TBase extends GConstructor<EntityServerClientBase>>(Base: TBase): {
|
|
4
4
|
new (...args: any[]): {
|
|
5
5
|
/** 트랜잭션을 시작하고 활성 트랜잭션 ID를 저장합니다. */
|
|
@@ -114,7 +114,7 @@ export declare function EntityMixin<TBase extends GConstructor<EntityServerClien
|
|
|
114
114
|
_refreshTimer: ReturnType<typeof setTimeout> | null;
|
|
115
115
|
_csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
|
|
116
116
|
_csrfRefreshPromise: Promise<string> | null;
|
|
117
|
-
configure(options: Partial<import("
|
|
117
|
+
configure(options: Partial<import("../../types.js").EntityServerClientOptions>): void;
|
|
118
118
|
setToken(token: string): void;
|
|
119
119
|
setAnonymousPacketToken(token: string): void;
|
|
120
120
|
setApiKey(apiKey: string): void;
|
|
@@ -132,10 +132,16 @@ export declare function EntityMixin<TBase extends GConstructor<EntityServerClien
|
|
|
132
132
|
stopCsrfRefresh(): void;
|
|
133
133
|
_scheduleCsrfRefresh(expiresIn: number): void;
|
|
134
134
|
refreshCsrfToken(): Promise<string>;
|
|
135
|
-
_applyCsrfHealth(csrf?: import("
|
|
135
|
+
_applyCsrfHealth(csrf?: import("../../types.js").EntityServerClientHealthCsrf | null): void;
|
|
136
136
|
readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
|
|
137
|
-
get _reqOpts(): import("
|
|
138
|
-
|
|
137
|
+
get _reqOpts(): import("../../client/request.js").RequestOptions;
|
|
138
|
+
get http(): {
|
|
139
|
+
get<T>(path: string, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
140
|
+
post<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
141
|
+
put<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
142
|
+
patch<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
143
|
+
delete<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
144
|
+
};
|
|
139
145
|
requestBinary(method: string, path: string, body?: unknown, withAuth?: boolean): Promise<ArrayBuffer>;
|
|
140
146
|
requestForm<T>(method: string, path: string, form: FormData, withAuth?: boolean): Promise<T>;
|
|
141
147
|
requestFormBinary(method: string, path: string, form: FormData, withAuth?: boolean): Promise<ArrayBuffer>;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{buildQuery as u}from"../../client/utils.js";function m(c){return class extends c{async transStart(){const t=await this._request("POST","/v1/transaction/start",void 0,!1);return this.activeTxId=t.transaction_id,this.activeTxId}transRollback(t){const n=t??this.activeTxId;return n?(this.activeTxId=null,this._request("POST",`/v1/transaction/rollback/${n}`)):Promise.reject(new Error("No active transaction. Call transStart() first."))}transCommit(t){const n=t??this.activeTxId;return n?(this.activeTxId=null,this._request("POST",`/v1/transaction/commit/${n}`)):Promise.reject(new Error("No active transaction. Call transStart() first."))}meta(t){return this._request("POST",`/v1/entity/${t}/meta`,{})}validate(t,n){return this.http.post(`/v1/entity/${t}/validate`,n)}get(t,n,e={}){const r=e.skipHooks?"?skipHooks=true":"";return this._request("GET",`/v1/entity/${t}/${n}${r}`)}find(t,n,e={}){const r=e.skipHooks?"?skipHooks=true":"";return this._request("POST",`/v1/entity/${t}/find${r}`,n??{})}list(t,n={}){const{conditions:e,fields:r,orderDir:i,orderBy:s,...o}=n,a={page:1,limit:20,...o};return s&&(a.orderBy=i==="DESC"?`-${s}`:s),r?.length&&(a.fields=r.join(",")),this._request("POST",`/v1/entity/${t}/list?${u(a)}`,e??{})}count(t,n){return this._request("POST",`/v1/entity/${t}/count`,n??{})}query(t,n){return this._request("POST",`/v1/entity/${t}/query`,n)}submit(t,n,e={}){const r=e.transactionId??this.activeTxId,i=r?{"X-Transaction-ID":r}:void 0,s=e.skipHooks?"?skipHooks=true":"";return this._request("POST",`/v1/entity/${t}/submit${s}`,n,!0,i)}delete(t,n,e={}){const r=new URLSearchParams;e.hard&&r.set("hard","true"),e.skipHooks&&r.set("skipHooks","true");const i=r.size?`?${r}`:"",s=e.transactionId??this.activeTxId,o=s?{"X-Transaction-ID":s}:void 0;return this._request("POST",`/v1/entity/${t}/delete/${n}${i}`,void 0,!0,o)}history(t,n,e={}){return this._request("GET",`/v1/entity/${t}/history/${n}?${u({page:1,limit:50,...e})}`)}rollback(t,n){return this._request("POST",`/v1/entity/${t}/rollback/${n}`)}}}export{m as EntityMixin};
|
|
2
|
+
//# sourceMappingURL=entity.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/mixins/server/entity.ts"],
|
|
4
|
+
"sourcesContent": ["import type {\n EntityHistoryRecord,\n EntityListParams,\n EntityListResult,\n EntityQueryRequest,\n} from \"../../types.js\";\nimport { buildQuery } from \"../../client/utils.js\";\nimport type {\n GConstructor,\n EntityServerClientBase,\n} from \"../../client/base.js\";\n\nexport function EntityMixin<TBase extends GConstructor<EntityServerClientBase>>(\n Base: TBase,\n) {\n return class EntityMixinClass extends Base {\n // \u2500\u2500\u2500 \uD2B8\uB79C\uC7AD\uC158 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n /** \uD2B8\uB79C\uC7AD\uC158\uC744 \uC2DC\uC791\uD558\uACE0 \uD65C\uC131 \uD2B8\uB79C\uC7AD\uC158 ID\uB97C \uC800\uC7A5\uD569\uB2C8\uB2E4. */\n async transStart(): Promise<string> {\n const res = await this._request<{\n ok: boolean;\n transaction_id: string;\n }>(\"POST\", \"/v1/transaction/start\", undefined, false);\n this.activeTxId = res.transaction_id;\n return this.activeTxId;\n }\n\n /** \uD65C\uC131 \uD2B8\uB79C\uC7AD\uC158(\uB610\uB294 \uC804\uB2EC\uB41C transactionId)\uC744 \uB864\uBC31\uD569\uB2C8\uB2E4. */\n transRollback(transactionId?: string): Promise<{ ok: boolean }> {\n const txId = transactionId ?? this.activeTxId;\n if (!txId)\n return Promise.reject(\n new Error(\n \"No active transaction. Call transStart() first.\",\n ),\n );\n this.activeTxId = null;\n return this._request(\"POST\", `/v1/transaction/rollback/${txId}`);\n }\n\n /**\n * \uD65C\uC131 \uD2B8\uB79C\uC7AD\uC158(\uB610\uB294 \uC804\uB2EC\uB41C transactionId)\uC744 \uCEE4\uBC0B\uD569\uB2C8\uB2E4.\n *\n * @returns `results` \uBC30\uC5F4: commit\uB41C \uAC01 \uC791\uC5C5\uC758 `entity`, `action`, `seq`\n */\n transCommit(transactionId?: string): Promise<{\n ok: boolean;\n results: Array<{ entity: string; action: string; seq: number }>;\n }> {\n const txId = transactionId ?? this.activeTxId;\n if (!txId)\n return Promise.reject(\n new Error(\n \"No active transaction. Call transStart() first.\",\n ),\n );\n this.activeTxId = null;\n return this._request(\"POST\", `/v1/transaction/commit/${txId}`);\n }\n\n // \u2500\u2500\u2500 \uC5D4\uD2F0\uD2F0 CRUD \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n /** \uC5D4\uD2F0\uD2F0 \uC124\uC815 \uBA54\uD0C0\uB370\uC774\uD130\uB97C \uC870\uD68C\uD569\uB2C8\uB2E4. */\n meta<T = unknown>(entity: string): Promise<{ ok: boolean; data: T }> {\n return this._request(\"POST\", `/v1/entity/${entity}/meta`, {});\n }\n\n /** \uC5D4\uD2F0\uD2F0 \uB370\uC774\uD130\uB97C \uC800\uC7A5 \uC5C6\uC774 \uAC80\uC99D\uD569\uB2C8\uB2E4. */\n validate<T = unknown>(\n entity: string,\n data: Record<string, unknown>,\n ): Promise<T> {\n return this.http.post(`/v1/entity/${entity}/validate`, data);\n }\n\n /** \uC2DC\uD000\uC2A4 ID\uB85C \uC5D4\uD2F0\uD2F0 \uB2E8\uAC74\uC744 \uC870\uD68C\uD569\uB2C8\uB2E4. */\n get<T = unknown>(\n entity: string,\n seq: number,\n opts: { skipHooks?: boolean } = {},\n ): Promise<{ ok: boolean; data: T }> {\n const q = opts.skipHooks ? \"?skipHooks=true\" : \"\";\n return this._request(\"GET\", `/v1/entity/${entity}/${seq}${q}`);\n }\n\n /** \uC870\uAC74\uC73C\uB85C \uC5D4\uD2F0\uD2F0 \uB2E8\uAC74\uC744 \uC870\uD68C\uD569\uB2C8\uB2E4. data \uCEEC\uB7FC\uC744 \uC644\uC804\uD788 \uBCF5\uD638\uD654\uD558\uC5EC \uBC18\uD658\uD569\uB2C8\uB2E4. */\n find<T = unknown>(\n entity: string,\n conditions?: Record<string, unknown>,\n opts: { skipHooks?: boolean } = {},\n ): Promise<{ ok: boolean; data: T }> {\n const q = opts.skipHooks ? \"?skipHooks=true\" : \"\";\n return this._request(\n \"POST\",\n `/v1/entity/${entity}/find${q}`,\n conditions ?? {},\n );\n }\n\n /** \uD398\uC774\uC9C0\uB124\uC774\uC158/\uC815\uB82C/\uD544\uD130 \uC870\uAC74\uC73C\uB85C \uC5D4\uD2F0\uD2F0 \uBAA9\uB85D\uC744 \uC870\uD68C\uD569\uB2C8\uB2E4. */\n list<T = unknown>(\n entity: string,\n params: EntityListParams = {},\n ): Promise<{ ok: boolean; data: EntityListResult<T> }> {\n const { conditions, fields, orderDir, orderBy, ...rest } = params;\n const queryObj: Record<string, unknown> = {\n page: 1,\n limit: 20,\n ...rest,\n };\n if (orderBy)\n queryObj.orderBy =\n orderDir === \"DESC\" ? `-${orderBy}` : orderBy;\n if (fields?.length) queryObj.fields = fields.join(\",\");\n return this._request(\n \"POST\",\n `/v1/entity/${entity}/list?${buildQuery(queryObj)}`,\n conditions ?? {},\n );\n }\n\n /**\n * \uC5D4\uD2F0\uD2F0 \uCD1D \uAC74\uC218\uB97C \uC870\uD68C\uD569\uB2C8\uB2E4.\n *\n * @param conditions \uD544\uD130 \uC870\uAC74 (\uC608: `{ status: \"active\" }`)\n */\n count(\n entity: string,\n conditions?: Record<string, unknown>,\n ): Promise<{ ok: boolean; count: number }> {\n return this._request(\n \"POST\",\n `/v1/entity/${entity}/count`,\n conditions ?? {},\n );\n }\n\n /**\n * \uCEE4\uC2A4\uD140 SQL\uB85C \uC5D4\uD2F0\uD2F0\uB97C \uC870\uD68C\uD569\uB2C8\uB2E4.\n *\n * SELECT \uC804\uC6A9\uC774\uBA70 \uC778\uB371\uC2A4 \uD14C\uC774\uBE14\uB9CC \uC870\uD68C \uAC00\uB2A5\uD569\uB2C8\uB2E4. JOIN \uC9C0\uC6D0.\n */\n query<T = unknown>(\n entity: string,\n req: EntityQueryRequest,\n ): Promise<{ ok: boolean; data: { items: T[]; count: number } }> {\n return this._request(\"POST\", `/v1/entity/${entity}/query`, req);\n }\n\n /** \uC5D4\uD2F0\uD2F0 \uB370\uC774\uD130\uB97C \uC0DD\uC131/\uC218\uC815(Submit)\uD569\uB2C8\uB2E4. `seq`\uAC00 \uC5C6\uC73C\uBA74 INSERT, \uC788\uC73C\uBA74 UPDATE\uC785\uB2C8\uB2E4. */\n submit(\n entity: string,\n data: Record<string, unknown>,\n opts: { transactionId?: string; skipHooks?: boolean } = {},\n ): Promise<{ ok: boolean; seq: number }> {\n const txId = opts.transactionId ?? this.activeTxId;\n const extraHeaders = txId\n ? { \"X-Transaction-ID\": txId }\n : undefined;\n const q = opts.skipHooks ? \"?skipHooks=true\" : \"\";\n return this._request(\n \"POST\",\n `/v1/entity/${entity}/submit${q}`,\n data,\n true,\n extraHeaders,\n );\n }\n\n /** \uC2DC\uD000\uC2A4 ID\uB85C \uC5D4\uD2F0\uD2F0\uB97C \uC0AD\uC81C\uD569\uB2C8\uB2E4(`hard=true`\uBA74 \uD558\uB4DC \uC0AD\uC81C, \uAE30\uBCF8\uC740 \uC18C\uD504\uD2B8 \uC0AD\uC81C). */\n delete(\n entity: string,\n seq: number,\n opts: {\n transactionId?: string;\n hard?: boolean;\n skipHooks?: boolean;\n } = {},\n ): Promise<{ ok: boolean; deleted: number }> {\n const params = new URLSearchParams();\n if (opts.hard) params.set(\"hard\", \"true\");\n if (opts.skipHooks) params.set(\"skipHooks\", \"true\");\n const q = params.size ? `?${params}` : \"\";\n const txId = opts.transactionId ?? this.activeTxId;\n const extraHeaders = txId\n ? { \"X-Transaction-ID\": txId }\n : undefined;\n return this._request(\n \"POST\",\n `/v1/entity/${entity}/delete/${seq}${q}`,\n undefined,\n true,\n extraHeaders,\n );\n }\n\n /** \uC5D4\uD2F0\uD2F0 \uB2E8\uAC74\uC758 \uBCC0\uACBD \uC774\uB825\uC744 \uC870\uD68C\uD569\uB2C8\uB2E4. */\n history<T = unknown>(\n entity: string,\n seq: number,\n params: Pick<EntityListParams, \"page\" | \"limit\"> = {},\n ): Promise<{\n ok: boolean;\n data: EntityListResult<EntityHistoryRecord<T>>;\n }> {\n return this._request(\n \"GET\",\n `/v1/entity/${entity}/history/${seq}?${buildQuery({ page: 1, limit: 50, ...params })}`,\n );\n }\n\n /** \uD2B9\uC815 \uC774\uB825 \uC2DC\uC810\uC73C\uB85C \uC5D4\uD2F0\uD2F0\uB97C \uB864\uBC31\uD569\uB2C8\uB2E4. */\n rollback(entity: string, historySeq: number): Promise<{ ok: boolean }> {\n return this._request(\n \"POST\",\n `/v1/entity/${entity}/rollback/${historySeq}`,\n );\n }\n };\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["buildQuery", "EntityMixin", "Base", "res", "transactionId", "txId", "entity", "data", "seq", "opts", "q", "conditions", "params", "fields", "orderDir", "orderBy", "rest", "queryObj", "req", "extraHeaders", "historySeq"]
|
|
7
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { FileMeta, FileUploadOptions } from "
|
|
2
|
-
import type { GConstructor, EntityServerClientBase } from "
|
|
1
|
+
import type { FileMeta, FileUploadOptions } from "../../types.js";
|
|
2
|
+
import type { GConstructor, EntityServerClientBase } from "../../client/base.js";
|
|
3
3
|
export declare function FileMixin<TBase extends GConstructor<EntityServerClientBase>>(Base: TBase): {
|
|
4
4
|
new (...args: any[]): {
|
|
5
5
|
/**
|
|
@@ -70,7 +70,7 @@ export declare function FileMixin<TBase extends GConstructor<EntityServerClientB
|
|
|
70
70
|
_refreshTimer: ReturnType<typeof setTimeout> | null;
|
|
71
71
|
_csrfRefreshTimer: ReturnType<typeof setTimeout> | null;
|
|
72
72
|
_csrfRefreshPromise: Promise<string> | null;
|
|
73
|
-
configure(options: Partial<import("
|
|
73
|
+
configure(options: Partial<import("../../types.js").EntityServerClientOptions>): void;
|
|
74
74
|
setToken(token: string): void;
|
|
75
75
|
setAnonymousPacketToken(token: string): void;
|
|
76
76
|
setApiKey(apiKey: string): void;
|
|
@@ -88,10 +88,16 @@ export declare function FileMixin<TBase extends GConstructor<EntityServerClientB
|
|
|
88
88
|
stopCsrfRefresh(): void;
|
|
89
89
|
_scheduleCsrfRefresh(expiresIn: number): void;
|
|
90
90
|
refreshCsrfToken(): Promise<string>;
|
|
91
|
-
_applyCsrfHealth(csrf?: import("
|
|
91
|
+
_applyCsrfHealth(csrf?: import("../../types.js").EntityServerClientHealthCsrf | null): void;
|
|
92
92
|
readRequestBody<T = Record<string, unknown>>(body: ArrayBuffer | Uint8Array | string | T | null | undefined, contentType?: string, requireEncrypted?: boolean): T;
|
|
93
|
-
get _reqOpts(): import("
|
|
94
|
-
|
|
93
|
+
get _reqOpts(): import("../../client/request.js").RequestOptions;
|
|
94
|
+
get http(): {
|
|
95
|
+
get<T>(path: string, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
96
|
+
post<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
97
|
+
put<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
98
|
+
patch<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
99
|
+
delete<T>(path: string, body?: unknown, withAuth?: boolean, extraHeaders?: Record<string, string>): Promise<T>;
|
|
100
|
+
};
|
|
95
101
|
requestBinary(method: string, path: string, body?: unknown, withAuth?: boolean): Promise<ArrayBuffer>;
|
|
96
102
|
requestForm<T>(method: string, path: string, form: FormData, withAuth?: boolean): Promise<T>;
|
|
97
103
|
requestFormBinary(method: string, path: string, form: FormData, withAuth?: boolean): Promise<ArrayBuffer>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/mixins/server/file.ts"],
|
|
4
|
+
"sourcesContent": ["import type { FileMeta, FileUploadOptions } from \"../../types.js\";\nimport type { GConstructor, EntityServerClientBase } from \"../../client/base.js\";\n\nexport function FileMixin<TBase extends GConstructor<EntityServerClientBase>>(\n Base: TBase,\n) {\n return class FileMixinClass extends Base {\n // \u2500\u2500\u2500 \uD30C\uC77C \uAD00\uB9AC \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\n /**\n * \uD30C\uC77C\uC744 \uC5C5\uB85C\uB4DC\uD569\uB2C8\uB2E4. (multipart/form-data)\n *\n * ```ts\n * const input = document.querySelector('input[type=\"file\"]');\n * const result = await client.fileUpload(\"product\", input.files[0]);\n * console.log(result.data.uuid);\n * ```\n */\n async fileUpload(\n entity: string,\n file: File | Blob,\n opts: FileUploadOptions = {},\n ): Promise<{ ok: boolean; uuid: string; data: FileMeta }> {\n const form = new FormData();\n form.append(\n \"file\",\n file,\n file instanceof File ? file.name : \"upload\",\n );\n if (opts.refSeq != null)\n form.append(\"ref_seq\", String(opts.refSeq));\n if (opts.isPublic != null)\n form.append(\"is_public\", opts.isPublic ? \"true\" : \"false\");\n return this._requestForm(\n \"POST\",\n `/v1/files/${entity}/upload`,\n form,\n );\n }\n\n /** \uD30C\uC77C\uC744 \uB2E4\uC6B4\uB85C\uB4DC\uD569\uB2C8\uB2E4. `ArrayBuffer`\uB97C \uBC18\uD658\uD569\uB2C8\uB2E4. */\n fileDownload(entity: string, uuid: string): Promise<ArrayBuffer> {\n return this._requestBinary(\n \"POST\",\n `/v1/files/${entity}/download/${uuid}`,\n {},\n );\n }\n\n /** \uD30C\uC77C\uC744 \uC0AD\uC81C\uD569\uB2C8\uB2E4. */\n fileDelete(\n entity: string,\n uuid: string,\n ): Promise<{ ok: boolean; uuid: string; deleted: boolean }> {\n return this._request(\n \"POST\",\n `/v1/files/${entity}/delete/${uuid}`,\n {},\n );\n }\n\n /** \uC5D4\uD2F0\uD2F0\uC5D0 \uC5F0\uACB0\uB41C \uD30C\uC77C \uBAA9\uB85D\uC744 \uC870\uD68C\uD569\uB2C8\uB2E4. */\n fileList(\n entity: string,\n opts: { refSeq?: number } = {},\n ): Promise<{\n ok: boolean;\n data: { items: FileMeta[]; total: number };\n }> {\n return this._request(\n \"POST\",\n `/v1/files/${entity}/list`,\n opts.refSeq ? { ref_seq: opts.refSeq } : {},\n );\n }\n\n /** \uD30C\uC77C \uBA54\uD0C0 \uC815\uBCF4\uB97C \uC870\uD68C\uD569\uB2C8\uB2E4. */\n fileMeta(\n entity: string,\n uuid: string,\n ): Promise<{ ok: boolean; data: FileMeta }> {\n return this._request(\n \"POST\",\n `/v1/files/${entity}/meta/${uuid}`,\n {},\n );\n }\n\n /** \uC784\uC2DC \uD30C\uC77C \uC811\uADFC \uD1A0\uD070\uC744 \uBC1C\uAE09\uD569\uB2C8\uB2E4. */\n fileToken(uuid: string): Promise<{ ok: boolean; token: string }> {\n return this._request(\"POST\", `/v1/files/token/${uuid}`, {});\n }\n\n /** \uD30C\uC77C \uC778\uB77C\uC778 \uBDF0/\uB2E4\uC6B4\uB85C\uB4DC URL\uC744 \uBC18\uD658\uD569\uB2C8\uB2E4. */\n fileViewUrl(uuid: string, opts: { download?: boolean } = {}): string {\n const qs = opts.download ? \"?download=true\" : \"\";\n return `${this.baseUrl}/v1/files/${uuid}${qs}`;\n }\n\n /** \uD30C\uC77C \uC778\uB77C\uC778 \uBDF0 URL\uC744 \uBC18\uD658\uD569\uB2C8\uB2E4. (fetch \uC5C6\uC74C, URL \uC870\uD569\uB9CC) */\n fileUrl(uuid: string): string {\n return `${this.baseUrl}/v1/files/${uuid}`;\n }\n };\n}\n"],
|
|
5
|
+
"mappings": "AAGO,SAASA,EACZC,EACF,CACE,OAAO,cAA6BA,CAAK,CAYrC,MAAM,WACFC,EACAC,EACAC,EAA0B,CAAC,EAC2B,CACtD,MAAMC,EAAO,IAAI,SACjB,OAAAA,EAAK,OACD,OACAF,EACAA,aAAgB,KAAOA,EAAK,KAAO,QACvC,EACIC,EAAK,QAAU,MACfC,EAAK,OAAO,UAAW,OAAOD,EAAK,MAAM,CAAC,EAC1CA,EAAK,UAAY,MACjBC,EAAK,OAAO,YAAaD,EAAK,SAAW,OAAS,OAAO,EACtD,KAAK,aACR,OACA,aAAaF,CAAM,UACnBG,CACJ,CACJ,CAGA,aAAaH,EAAgBI,EAAoC,CAC7D,OAAO,KAAK,eACR,OACA,aAAaJ,CAAM,aAAaI,CAAI,GACpC,CAAC,CACL,CACJ,CAGA,WACIJ,EACAI,EACwD,CACxD,OAAO,KAAK,SACR,OACA,aAAaJ,CAAM,WAAWI,CAAI,GAClC,CAAC,CACL,CACJ,CAGA,SACIJ,EACAE,EAA4B,CAAC,EAI9B,CACC,OAAO,KAAK,SACR,OACA,aAAaF,CAAM,QACnBE,EAAK,OAAS,CAAE,QAASA,EAAK,MAAO,EAAI,CAAC,CAC9C,CACJ,CAGA,SACIF,EACAI,EACwC,CACxC,OAAO,KAAK,SACR,OACA,aAAaJ,CAAM,SAASI,CAAI,GAChC,CAAC,CACL,CACJ,CAGA,UAAUA,EAAuD,CAC7D,OAAO,KAAK,SAAS,OAAQ,mBAAmBA,CAAI,GAAI,CAAC,CAAC,CAC9D,CAGA,YAAYA,EAAcF,EAA+B,CAAC,EAAW,CACjE,MAAMG,EAAKH,EAAK,SAAW,iBAAmB,GAC9C,MAAO,GAAG,KAAK,OAAO,aAAaE,CAAI,GAAGC,CAAE,EAChD,CAGA,QAAQD,EAAsB,CAC1B,MAAO,GAAG,KAAK,OAAO,aAAaA,CAAI,EAC3C,CACJ,CACJ",
|
|
6
|
+
"names": ["FileMixin", "Base", "entity", "file", "opts", "form", "uuid", "qs"]
|
|
7
|
+
}
|