@orjok/commons 1.1.0 → 1.2.0

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/dist/amplify.cjs CHANGED
@@ -20,7 +20,13 @@ var AmplifyAuthProvider = class {
20
20
  }
21
21
  async signInWithRedirect(provider) {
22
22
  const { signInWithRedirect } = await Promise.resolve().then(() => _interopRequireWildcard(require("aws-amplify/auth")));
23
- await signInWithRedirect({ provider: { custom: provider } });
23
+ if (!provider) {
24
+ await signInWithRedirect();
25
+ } else if (provider === "Google" || provider === "Facebook" || provider === "Amazon" || provider === "Apple") {
26
+ await signInWithRedirect({ provider });
27
+ } else {
28
+ await signInWithRedirect({ provider: { custom: provider } });
29
+ }
24
30
  }
25
31
  async fetchUserAttributes() {
26
32
  const { fetchUserAttributes } = await Promise.resolve().then(() => _interopRequireWildcard(require("aws-amplify/auth")));
@@ -66,10 +72,31 @@ var AmplifyAuthProvider = class {
66
72
  return null;
67
73
  }
68
74
  }
75
+ onAuthEvent(listener) {
76
+ let unsubscribe;
77
+ Promise.resolve().then(() => _interopRequireWildcard(require("aws-amplify/utils"))).then(({ Hub }) => {
78
+ unsubscribe = Hub.listen("auth", ({ payload }) => {
79
+ listener(payload.event, payload.data);
80
+ });
81
+ });
82
+ return () => {
83
+ if (unsubscribe) unsubscribe();
84
+ };
85
+ }
69
86
  };
70
87
 
71
88
  // src/adapters/amplify/network-provider.ts
72
89
  var AmplifyNetworkProvider = class {
90
+ constructor() {
91
+ this.client = null;
92
+ }
93
+ async getClient() {
94
+ if (!this.client) {
95
+ const { generateClient } = await Promise.resolve().then(() => _interopRequireWildcard(require("aws-amplify/api")));
96
+ this.client = generateClient();
97
+ }
98
+ return this.client;
99
+ }
73
100
  async getAuthMode() {
74
101
  try {
75
102
  const { fetchAuthSession } = await Promise.resolve().then(() => _interopRequireWildcard(require("aws-amplify/auth")));
@@ -80,15 +107,13 @@ var AmplifyNetworkProvider = class {
80
107
  return "apiKey";
81
108
  }
82
109
  async query(query, variables) {
83
- const { generateClient } = await Promise.resolve().then(() => _interopRequireWildcard(require("aws-amplify/api")));
84
- const client = generateClient();
110
+ const client = await this.getClient();
85
111
  const authMode = await this.getAuthMode();
86
112
  const result = await client.graphql({ query, variables: _nullishCoalesce(variables, () => ( {})), authMode });
87
113
  return result;
88
114
  }
89
115
  async mutate(mutation, variables) {
90
- const { generateClient } = await Promise.resolve().then(() => _interopRequireWildcard(require("aws-amplify/api")));
91
- const client = generateClient();
116
+ const client = await this.getClient();
92
117
  const authMode = await this.getAuthMode();
93
118
  const result = await client.graphql({ query: mutation, variables: _nullishCoalesce(variables, () => ( {})), authMode });
94
119
  return result;
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/orjok/orjok/packages/commons/dist/amplify.cjs","../src/adapters/amplify/auth-provider.ts","../src/adapters/amplify/network-provider.ts","../src/adapters/amplify/storage-provider.ts"],"names":[],"mappings":"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","file":"/home/runner/work/orjok/orjok/packages/commons/dist/amplify.cjs","sourcesContent":[null,"import type { AuthProvider, UserAttributes, AuthSession } from \"../../providers/auth\";\n\nexport class AmplifyAuthProvider implements AuthProvider {\n async signIn(username: string, password: string) {\n const { signIn } = await import(\"aws-amplify/auth\");\n const result = await signIn({ username, password });\n return { isSignedIn: result.isSignedIn };\n }\n\n async signUp(username: string, password: string, attributes: Record<string, string>) {\n const { signUp } = await import(\"aws-amplify/auth\");\n const result = await signUp({\n username,\n password,\n options: { userAttributes: attributes },\n });\n return { isSignUpComplete: result.isSignUpComplete, userId: result.userId };\n }\n\n async signOut() {\n const { signOut } = await import(\"aws-amplify/auth\");\n await signOut();\n }\n\n async signInWithRedirect(provider: string) {\n const { signInWithRedirect } = await import(\"aws-amplify/auth\");\n await signInWithRedirect({ provider: { custom: provider } });\n }\n\n async fetchUserAttributes(): Promise<UserAttributes> {\n const { fetchUserAttributes } = await import(\"aws-amplify/auth\");\n const attrs = await fetchUserAttributes();\n return attrs as UserAttributes;\n }\n\n async updateUserAttributes(attributes: Record<string, string>) {\n const { updateUserAttributes } = await import(\"aws-amplify/auth\");\n const userAttributes: Record<string, string> = {};\n for (const [key, value] of Object.entries(attributes)) {\n userAttributes[key] = value;\n }\n await updateUserAttributes({ userAttributes });\n }\n\n async fetchAuthSession(): Promise<AuthSession> {\n const { fetchAuthSession } = await import(\"aws-amplify/auth\");\n const session = await fetchAuthSession();\n return session as AuthSession;\n }\n\n async confirmSignUp(username: string, code: string) {\n const { confirmSignUp } = await import(\"aws-amplify/auth\");\n const result = await confirmSignUp({ username, confirmationCode: code });\n return { isSignUpComplete: result.isSignUpComplete };\n }\n\n async resendSignUpCode(username: string) {\n const { resendSignUpCode } = await import(\"aws-amplify/auth\");\n await resendSignUpCode({ username });\n }\n\n async resetPassword(username: string) {\n const { resetPassword } = await import(\"aws-amplify/auth\");\n await resetPassword({ username });\n }\n\n async confirmResetPassword(username: string, code: string, newPassword: string) {\n const { confirmResetPassword } = await import(\"aws-amplify/auth\");\n await confirmResetPassword({ username, confirmationCode: code, newPassword });\n }\n\n async getCurrentUserId(): Promise<string | null> {\n try {\n const { getCurrentUser } = await import(\"aws-amplify/auth\");\n const user = await getCurrentUser();\n return user.userId;\n } catch {\n return null;\n }\n }\n}\n","import type { NetworkProvider, GraphQLResult } from \"../../providers/network\";\n\nexport class AmplifyNetworkProvider implements NetworkProvider {\n private async getAuthMode(): Promise<\"userPool\" | \"apiKey\"> {\n try {\n const { fetchAuthSession } = await import(\"aws-amplify/auth\");\n const session = await fetchAuthSession();\n if (session.tokens?.accessToken) return \"userPool\";\n } catch {\n // No session — fall through to apiKey\n }\n return \"apiKey\";\n }\n\n async query<T>(query: string, variables?: Record<string, unknown>): Promise<GraphQLResult<T>> {\n const { generateClient } = await import(\"aws-amplify/api\");\n const client = generateClient();\n const authMode = await this.getAuthMode();\n const result = await client.graphql({ query, variables: variables ?? {}, authMode });\n return result as GraphQLResult<T>;\n }\n\n async mutate<T>(mutation: string, variables?: Record<string, unknown>): Promise<GraphQLResult<T>> {\n const { generateClient } = await import(\"aws-amplify/api\");\n const client = generateClient();\n const authMode = await this.getAuthMode();\n const result = await client.graphql({ query: mutation, variables: variables ?? {}, authMode });\n return result as GraphQLResult<T>;\n }\n}\n","import type { StorageProvider, UploadOptions } from \"../../providers/storage\";\n\nexport class AmplifyStorageProvider implements StorageProvider {\n async getFileUrl(path: string): Promise<{ url: string }> {\n const { getUrl } = await import(\"aws-amplify/storage\");\n const result = await getUrl({ path });\n return { url: result.url.toString() };\n }\n\n async uploadFile(\n path: string,\n data: Blob | ArrayBuffer | string,\n options?: UploadOptions\n ): Promise<{ path: string }> {\n const { uploadData } = await import(\"aws-amplify/storage\");\n const result = uploadData({\n path,\n data,\n options: {\n contentType: options?.contentType,\n onProgress: options?.onProgress\n ? (event) => {\n options.onProgress!({\n loaded: (event as { loaded?: number }).loaded ?? 0,\n total: (event as { total?: number }).total ?? 0,\n });\n }\n : undefined,\n },\n });\n await result.result;\n return { path };\n }\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/orjok/orjok/packages/commons/dist/amplify.cjs","../src/adapters/amplify/auth-provider.ts","../src/adapters/amplify/network-provider.ts","../src/adapters/amplify/storage-provider.ts"],"names":[],"mappings":"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","file":"/home/runner/work/orjok/orjok/packages/commons/dist/amplify.cjs","sourcesContent":[null,"import type { AuthProvider, UserAttributes, AuthSession, AuthEventListener } from \"../../providers/auth\";\n\nexport class AmplifyAuthProvider implements AuthProvider {\n async signIn(username: string, password: string) {\n const { signIn } = await import(\"aws-amplify/auth\");\n const result = await signIn({ username, password });\n return { isSignedIn: result.isSignedIn };\n }\n\n async signUp(username: string, password: string, attributes: Record<string, string>) {\n const { signUp } = await import(\"aws-amplify/auth\");\n const result = await signUp({\n username,\n password,\n options: { userAttributes: attributes },\n });\n return { isSignUpComplete: result.isSignUpComplete, userId: result.userId };\n }\n\n async signOut() {\n const { signOut } = await import(\"aws-amplify/auth\");\n await signOut();\n }\n\n async signInWithRedirect(provider?: string) {\n const { signInWithRedirect } = await import(\"aws-amplify/auth\");\n if (!provider) {\n await signInWithRedirect();\n } else if (\n provider === \"Google\" ||\n provider === \"Facebook\" ||\n provider === \"Amazon\" ||\n provider === \"Apple\"\n ) {\n await signInWithRedirect({ provider });\n } else {\n await signInWithRedirect({ provider: { custom: provider } });\n }\n }\n\n async fetchUserAttributes(): Promise<UserAttributes> {\n const { fetchUserAttributes } = await import(\"aws-amplify/auth\");\n const attrs = await fetchUserAttributes();\n return attrs as UserAttributes;\n }\n\n async updateUserAttributes(attributes: Record<string, string>) {\n const { updateUserAttributes } = await import(\"aws-amplify/auth\");\n const userAttributes: Record<string, string> = {};\n for (const [key, value] of Object.entries(attributes)) {\n userAttributes[key] = value;\n }\n await updateUserAttributes({ userAttributes });\n }\n\n async fetchAuthSession(): Promise<AuthSession> {\n const { fetchAuthSession } = await import(\"aws-amplify/auth\");\n const session = await fetchAuthSession();\n return session as AuthSession;\n }\n\n async confirmSignUp(username: string, code: string) {\n const { confirmSignUp } = await import(\"aws-amplify/auth\");\n const result = await confirmSignUp({ username, confirmationCode: code });\n return { isSignUpComplete: result.isSignUpComplete };\n }\n\n async resendSignUpCode(username: string) {\n const { resendSignUpCode } = await import(\"aws-amplify/auth\");\n await resendSignUpCode({ username });\n }\n\n async resetPassword(username: string) {\n const { resetPassword } = await import(\"aws-amplify/auth\");\n await resetPassword({ username });\n }\n\n async confirmResetPassword(username: string, code: string, newPassword: string) {\n const { confirmResetPassword } = await import(\"aws-amplify/auth\");\n await confirmResetPassword({ username, confirmationCode: code, newPassword });\n }\n\n async getCurrentUserId(): Promise<string | null> {\n try {\n const { getCurrentUser } = await import(\"aws-amplify/auth\");\n const user = await getCurrentUser();\n return user.userId;\n } catch {\n return null;\n }\n }\n\n onAuthEvent(listener: AuthEventListener): () => void {\n let unsubscribe: (() => void) | undefined;\n import(\"aws-amplify/utils\").then(({ Hub }) => {\n unsubscribe = Hub.listen(\"auth\", ({ payload }) => {\n listener(payload.event, (payload as any).data);\n });\n });\n return () => {\n if (unsubscribe) unsubscribe();\n };\n }\n}\n","import type { NetworkProvider, GraphQLResult } from \"../../providers/network\";\n\nexport class AmplifyNetworkProvider implements NetworkProvider {\n private client: any = null;\n\n private async getClient() {\n if (!this.client) {\n const { generateClient } = await import(\"aws-amplify/api\");\n this.client = generateClient();\n }\n return this.client;\n }\n\n private async getAuthMode(): Promise<\"userPool\" | \"apiKey\"> {\n try {\n const { fetchAuthSession } = await import(\"aws-amplify/auth\");\n const session = await fetchAuthSession();\n if (session.tokens?.accessToken) return \"userPool\";\n } catch {\n // No session — fall through to apiKey\n }\n return \"apiKey\";\n }\n\n async query<T>(query: string, variables?: Record<string, unknown>): Promise<GraphQLResult<T>> {\n const client = await this.getClient();\n const authMode = await this.getAuthMode();\n const result = await client.graphql({ query, variables: variables ?? {}, authMode });\n return result as GraphQLResult<T>;\n }\n\n async mutate<T>(mutation: string, variables?: Record<string, unknown>): Promise<GraphQLResult<T>> {\n const client = await this.getClient();\n const authMode = await this.getAuthMode();\n const result = await client.graphql({ query: mutation, variables: variables ?? {}, authMode });\n return result as GraphQLResult<T>;\n }\n}\n","import type { StorageProvider, UploadOptions } from \"../../providers/storage\";\n\nexport class AmplifyStorageProvider implements StorageProvider {\n async getFileUrl(path: string): Promise<{ url: string }> {\n const { getUrl } = await import(\"aws-amplify/storage\");\n const result = await getUrl({ path });\n return { url: result.url.toString() };\n }\n\n async uploadFile(\n path: string,\n data: Blob | ArrayBuffer | string,\n options?: UploadOptions\n ): Promise<{ path: string }> {\n const { uploadData } = await import(\"aws-amplify/storage\");\n const result = uploadData({\n path,\n data,\n options: {\n contentType: options?.contentType,\n onProgress: options?.onProgress\n ? (event) => {\n options.onProgress!({\n loaded: (event as { loaded?: number }).loaded ?? 0,\n total: (event as { total?: number }).total ?? 0,\n });\n }\n : undefined,\n },\n });\n await result.result;\n return { path };\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { A as AuthProvider, U as UserAttributes, a as AuthSession, N as NetworkProvider, G as GraphQLResult, S as StorageProvider, b as UploadOptions } from './storage-DLqdJgQt.cjs';
1
+ import { A as AuthProvider, U as UserAttributes, a as AuthSession, b as AuthEventListener, N as NetworkProvider, G as GraphQLResult, S as StorageProvider, c as UploadOptions } from './storage-9pK8KwIM.cjs';
2
2
 
3
3
  declare class AmplifyAuthProvider implements AuthProvider {
4
4
  signIn(username: string, password: string): Promise<{
@@ -9,7 +9,7 @@ declare class AmplifyAuthProvider implements AuthProvider {
9
9
  userId: string | undefined;
10
10
  }>;
11
11
  signOut(): Promise<void>;
12
- signInWithRedirect(provider: string): Promise<void>;
12
+ signInWithRedirect(provider?: string): Promise<void>;
13
13
  fetchUserAttributes(): Promise<UserAttributes>;
14
14
  updateUserAttributes(attributes: Record<string, string>): Promise<void>;
15
15
  fetchAuthSession(): Promise<AuthSession>;
@@ -20,9 +20,12 @@ declare class AmplifyAuthProvider implements AuthProvider {
20
20
  resetPassword(username: string): Promise<void>;
21
21
  confirmResetPassword(username: string, code: string, newPassword: string): Promise<void>;
22
22
  getCurrentUserId(): Promise<string | null>;
23
+ onAuthEvent(listener: AuthEventListener): () => void;
23
24
  }
24
25
 
25
26
  declare class AmplifyNetworkProvider implements NetworkProvider {
27
+ private client;
28
+ private getClient;
26
29
  private getAuthMode;
27
30
  query<T>(query: string, variables?: Record<string, unknown>): Promise<GraphQLResult<T>>;
28
31
  mutate<T>(mutation: string, variables?: Record<string, unknown>): Promise<GraphQLResult<T>>;
package/dist/amplify.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { A as AuthProvider, U as UserAttributes, a as AuthSession, N as NetworkProvider, G as GraphQLResult, S as StorageProvider, b as UploadOptions } from './storage-DLqdJgQt.js';
1
+ import { A as AuthProvider, U as UserAttributes, a as AuthSession, b as AuthEventListener, N as NetworkProvider, G as GraphQLResult, S as StorageProvider, c as UploadOptions } from './storage-9pK8KwIM.js';
2
2
 
3
3
  declare class AmplifyAuthProvider implements AuthProvider {
4
4
  signIn(username: string, password: string): Promise<{
@@ -9,7 +9,7 @@ declare class AmplifyAuthProvider implements AuthProvider {
9
9
  userId: string | undefined;
10
10
  }>;
11
11
  signOut(): Promise<void>;
12
- signInWithRedirect(provider: string): Promise<void>;
12
+ signInWithRedirect(provider?: string): Promise<void>;
13
13
  fetchUserAttributes(): Promise<UserAttributes>;
14
14
  updateUserAttributes(attributes: Record<string, string>): Promise<void>;
15
15
  fetchAuthSession(): Promise<AuthSession>;
@@ -20,9 +20,12 @@ declare class AmplifyAuthProvider implements AuthProvider {
20
20
  resetPassword(username: string): Promise<void>;
21
21
  confirmResetPassword(username: string, code: string, newPassword: string): Promise<void>;
22
22
  getCurrentUserId(): Promise<string | null>;
23
+ onAuthEvent(listener: AuthEventListener): () => void;
23
24
  }
24
25
 
25
26
  declare class AmplifyNetworkProvider implements NetworkProvider {
27
+ private client;
28
+ private getClient;
26
29
  private getAuthMode;
27
30
  query<T>(query: string, variables?: Record<string, unknown>): Promise<GraphQLResult<T>>;
28
31
  mutate<T>(mutation: string, variables?: Record<string, unknown>): Promise<GraphQLResult<T>>;
package/dist/amplify.js CHANGED
@@ -20,7 +20,13 @@ var AmplifyAuthProvider = class {
20
20
  }
21
21
  async signInWithRedirect(provider) {
22
22
  const { signInWithRedirect } = await import("aws-amplify/auth");
23
- await signInWithRedirect({ provider: { custom: provider } });
23
+ if (!provider) {
24
+ await signInWithRedirect();
25
+ } else if (provider === "Google" || provider === "Facebook" || provider === "Amazon" || provider === "Apple") {
26
+ await signInWithRedirect({ provider });
27
+ } else {
28
+ await signInWithRedirect({ provider: { custom: provider } });
29
+ }
24
30
  }
25
31
  async fetchUserAttributes() {
26
32
  const { fetchUserAttributes } = await import("aws-amplify/auth");
@@ -66,10 +72,31 @@ var AmplifyAuthProvider = class {
66
72
  return null;
67
73
  }
68
74
  }
75
+ onAuthEvent(listener) {
76
+ let unsubscribe;
77
+ import("aws-amplify/utils").then(({ Hub }) => {
78
+ unsubscribe = Hub.listen("auth", ({ payload }) => {
79
+ listener(payload.event, payload.data);
80
+ });
81
+ });
82
+ return () => {
83
+ if (unsubscribe) unsubscribe();
84
+ };
85
+ }
69
86
  };
70
87
 
71
88
  // src/adapters/amplify/network-provider.ts
72
89
  var AmplifyNetworkProvider = class {
90
+ constructor() {
91
+ this.client = null;
92
+ }
93
+ async getClient() {
94
+ if (!this.client) {
95
+ const { generateClient } = await import("aws-amplify/api");
96
+ this.client = generateClient();
97
+ }
98
+ return this.client;
99
+ }
73
100
  async getAuthMode() {
74
101
  try {
75
102
  const { fetchAuthSession } = await import("aws-amplify/auth");
@@ -80,15 +107,13 @@ var AmplifyNetworkProvider = class {
80
107
  return "apiKey";
81
108
  }
82
109
  async query(query, variables) {
83
- const { generateClient } = await import("aws-amplify/api");
84
- const client = generateClient();
110
+ const client = await this.getClient();
85
111
  const authMode = await this.getAuthMode();
86
112
  const result = await client.graphql({ query, variables: variables ?? {}, authMode });
87
113
  return result;
88
114
  }
89
115
  async mutate(mutation, variables) {
90
- const { generateClient } = await import("aws-amplify/api");
91
- const client = generateClient();
116
+ const client = await this.getClient();
92
117
  const authMode = await this.getAuthMode();
93
118
  const result = await client.graphql({ query: mutation, variables: variables ?? {}, authMode });
94
119
  return result;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/adapters/amplify/auth-provider.ts","../src/adapters/amplify/network-provider.ts","../src/adapters/amplify/storage-provider.ts"],"sourcesContent":["import type { AuthProvider, UserAttributes, AuthSession } from \"../../providers/auth\";\n\nexport class AmplifyAuthProvider implements AuthProvider {\n async signIn(username: string, password: string) {\n const { signIn } = await import(\"aws-amplify/auth\");\n const result = await signIn({ username, password });\n return { isSignedIn: result.isSignedIn };\n }\n\n async signUp(username: string, password: string, attributes: Record<string, string>) {\n const { signUp } = await import(\"aws-amplify/auth\");\n const result = await signUp({\n username,\n password,\n options: { userAttributes: attributes },\n });\n return { isSignUpComplete: result.isSignUpComplete, userId: result.userId };\n }\n\n async signOut() {\n const { signOut } = await import(\"aws-amplify/auth\");\n await signOut();\n }\n\n async signInWithRedirect(provider: string) {\n const { signInWithRedirect } = await import(\"aws-amplify/auth\");\n await signInWithRedirect({ provider: { custom: provider } });\n }\n\n async fetchUserAttributes(): Promise<UserAttributes> {\n const { fetchUserAttributes } = await import(\"aws-amplify/auth\");\n const attrs = await fetchUserAttributes();\n return attrs as UserAttributes;\n }\n\n async updateUserAttributes(attributes: Record<string, string>) {\n const { updateUserAttributes } = await import(\"aws-amplify/auth\");\n const userAttributes: Record<string, string> = {};\n for (const [key, value] of Object.entries(attributes)) {\n userAttributes[key] = value;\n }\n await updateUserAttributes({ userAttributes });\n }\n\n async fetchAuthSession(): Promise<AuthSession> {\n const { fetchAuthSession } = await import(\"aws-amplify/auth\");\n const session = await fetchAuthSession();\n return session as AuthSession;\n }\n\n async confirmSignUp(username: string, code: string) {\n const { confirmSignUp } = await import(\"aws-amplify/auth\");\n const result = await confirmSignUp({ username, confirmationCode: code });\n return { isSignUpComplete: result.isSignUpComplete };\n }\n\n async resendSignUpCode(username: string) {\n const { resendSignUpCode } = await import(\"aws-amplify/auth\");\n await resendSignUpCode({ username });\n }\n\n async resetPassword(username: string) {\n const { resetPassword } = await import(\"aws-amplify/auth\");\n await resetPassword({ username });\n }\n\n async confirmResetPassword(username: string, code: string, newPassword: string) {\n const { confirmResetPassword } = await import(\"aws-amplify/auth\");\n await confirmResetPassword({ username, confirmationCode: code, newPassword });\n }\n\n async getCurrentUserId(): Promise<string | null> {\n try {\n const { getCurrentUser } = await import(\"aws-amplify/auth\");\n const user = await getCurrentUser();\n return user.userId;\n } catch {\n return null;\n }\n }\n}\n","import type { NetworkProvider, GraphQLResult } from \"../../providers/network\";\n\nexport class AmplifyNetworkProvider implements NetworkProvider {\n private async getAuthMode(): Promise<\"userPool\" | \"apiKey\"> {\n try {\n const { fetchAuthSession } = await import(\"aws-amplify/auth\");\n const session = await fetchAuthSession();\n if (session.tokens?.accessToken) return \"userPool\";\n } catch {\n // No session — fall through to apiKey\n }\n return \"apiKey\";\n }\n\n async query<T>(query: string, variables?: Record<string, unknown>): Promise<GraphQLResult<T>> {\n const { generateClient } = await import(\"aws-amplify/api\");\n const client = generateClient();\n const authMode = await this.getAuthMode();\n const result = await client.graphql({ query, variables: variables ?? {}, authMode });\n return result as GraphQLResult<T>;\n }\n\n async mutate<T>(mutation: string, variables?: Record<string, unknown>): Promise<GraphQLResult<T>> {\n const { generateClient } = await import(\"aws-amplify/api\");\n const client = generateClient();\n const authMode = await this.getAuthMode();\n const result = await client.graphql({ query: mutation, variables: variables ?? {}, authMode });\n return result as GraphQLResult<T>;\n }\n}\n","import type { StorageProvider, UploadOptions } from \"../../providers/storage\";\n\nexport class AmplifyStorageProvider implements StorageProvider {\n async getFileUrl(path: string): Promise<{ url: string }> {\n const { getUrl } = await import(\"aws-amplify/storage\");\n const result = await getUrl({ path });\n return { url: result.url.toString() };\n }\n\n async uploadFile(\n path: string,\n data: Blob | ArrayBuffer | string,\n options?: UploadOptions\n ): Promise<{ path: string }> {\n const { uploadData } = await import(\"aws-amplify/storage\");\n const result = uploadData({\n path,\n data,\n options: {\n contentType: options?.contentType,\n onProgress: options?.onProgress\n ? (event) => {\n options.onProgress!({\n loaded: (event as { loaded?: number }).loaded ?? 0,\n total: (event as { total?: number }).total ?? 0,\n });\n }\n : undefined,\n },\n });\n await result.result;\n return { path };\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/adapters/amplify/auth-provider.ts","../src/adapters/amplify/network-provider.ts","../src/adapters/amplify/storage-provider.ts"],"sourcesContent":["import type { AuthProvider, UserAttributes, AuthSession, AuthEventListener } from \"../../providers/auth\";\n\nexport class AmplifyAuthProvider implements AuthProvider {\n async signIn(username: string, password: string) {\n const { signIn } = await import(\"aws-amplify/auth\");\n const result = await signIn({ username, password });\n return { isSignedIn: result.isSignedIn };\n }\n\n async signUp(username: string, password: string, attributes: Record<string, string>) {\n const { signUp } = await import(\"aws-amplify/auth\");\n const result = await signUp({\n username,\n password,\n options: { userAttributes: attributes },\n });\n return { isSignUpComplete: result.isSignUpComplete, userId: result.userId };\n }\n\n async signOut() {\n const { signOut } = await import(\"aws-amplify/auth\");\n await signOut();\n }\n\n async signInWithRedirect(provider?: string) {\n const { signInWithRedirect } = await import(\"aws-amplify/auth\");\n if (!provider) {\n await signInWithRedirect();\n } else if (\n provider === \"Google\" ||\n provider === \"Facebook\" ||\n provider === \"Amazon\" ||\n provider === \"Apple\"\n ) {\n await signInWithRedirect({ provider });\n } else {\n await signInWithRedirect({ provider: { custom: provider } });\n }\n }\n\n async fetchUserAttributes(): Promise<UserAttributes> {\n const { fetchUserAttributes } = await import(\"aws-amplify/auth\");\n const attrs = await fetchUserAttributes();\n return attrs as UserAttributes;\n }\n\n async updateUserAttributes(attributes: Record<string, string>) {\n const { updateUserAttributes } = await import(\"aws-amplify/auth\");\n const userAttributes: Record<string, string> = {};\n for (const [key, value] of Object.entries(attributes)) {\n userAttributes[key] = value;\n }\n await updateUserAttributes({ userAttributes });\n }\n\n async fetchAuthSession(): Promise<AuthSession> {\n const { fetchAuthSession } = await import(\"aws-amplify/auth\");\n const session = await fetchAuthSession();\n return session as AuthSession;\n }\n\n async confirmSignUp(username: string, code: string) {\n const { confirmSignUp } = await import(\"aws-amplify/auth\");\n const result = await confirmSignUp({ username, confirmationCode: code });\n return { isSignUpComplete: result.isSignUpComplete };\n }\n\n async resendSignUpCode(username: string) {\n const { resendSignUpCode } = await import(\"aws-amplify/auth\");\n await resendSignUpCode({ username });\n }\n\n async resetPassword(username: string) {\n const { resetPassword } = await import(\"aws-amplify/auth\");\n await resetPassword({ username });\n }\n\n async confirmResetPassword(username: string, code: string, newPassword: string) {\n const { confirmResetPassword } = await import(\"aws-amplify/auth\");\n await confirmResetPassword({ username, confirmationCode: code, newPassword });\n }\n\n async getCurrentUserId(): Promise<string | null> {\n try {\n const { getCurrentUser } = await import(\"aws-amplify/auth\");\n const user = await getCurrentUser();\n return user.userId;\n } catch {\n return null;\n }\n }\n\n onAuthEvent(listener: AuthEventListener): () => void {\n let unsubscribe: (() => void) | undefined;\n import(\"aws-amplify/utils\").then(({ Hub }) => {\n unsubscribe = Hub.listen(\"auth\", ({ payload }) => {\n listener(payload.event, (payload as any).data);\n });\n });\n return () => {\n if (unsubscribe) unsubscribe();\n };\n }\n}\n","import type { NetworkProvider, GraphQLResult } from \"../../providers/network\";\n\nexport class AmplifyNetworkProvider implements NetworkProvider {\n private client: any = null;\n\n private async getClient() {\n if (!this.client) {\n const { generateClient } = await import(\"aws-amplify/api\");\n this.client = generateClient();\n }\n return this.client;\n }\n\n private async getAuthMode(): Promise<\"userPool\" | \"apiKey\"> {\n try {\n const { fetchAuthSession } = await import(\"aws-amplify/auth\");\n const session = await fetchAuthSession();\n if (session.tokens?.accessToken) return \"userPool\";\n } catch {\n // No session — fall through to apiKey\n }\n return \"apiKey\";\n }\n\n async query<T>(query: string, variables?: Record<string, unknown>): Promise<GraphQLResult<T>> {\n const client = await this.getClient();\n const authMode = await this.getAuthMode();\n const result = await client.graphql({ query, variables: variables ?? {}, authMode });\n return result as GraphQLResult<T>;\n }\n\n async mutate<T>(mutation: string, variables?: Record<string, unknown>): Promise<GraphQLResult<T>> {\n const client = await this.getClient();\n const authMode = await this.getAuthMode();\n const result = await client.graphql({ query: mutation, variables: variables ?? {}, authMode });\n return result as GraphQLResult<T>;\n }\n}\n","import type { StorageProvider, UploadOptions } from \"../../providers/storage\";\n\nexport class AmplifyStorageProvider implements StorageProvider {\n async getFileUrl(path: string): Promise<{ url: string }> {\n const { getUrl } = await import(\"aws-amplify/storage\");\n const result = await getUrl({ path });\n return { url: result.url.toString() };\n }\n\n async uploadFile(\n path: string,\n data: Blob | ArrayBuffer | string,\n options?: UploadOptions\n ): Promise<{ path: string }> {\n const { uploadData } = await import(\"aws-amplify/storage\");\n const result = uploadData({\n path,\n data,\n options: {\n contentType: options?.contentType,\n onProgress: options?.onProgress\n ? (event) => {\n options.onProgress!({\n loaded: (event as { loaded?: number }).loaded ?? 0,\n total: (event as { total?: number }).total ?? 0,\n });\n }\n : undefined,\n },\n });\n await result.result;\n return { path };\n }\n}\n"],"mappings":"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","names":[]}