@mulverse/mulguard-core 1.0.1 → 1.0.3

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.
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Helper functions for Server Actions Adapter
3
+ *
4
+ * This module provides utilities to convert server actions into adapter format
5
+ * and handle server action responses.
6
+ */
7
+ import type { Adapter, ServerActionsAdapter } from "../adapters.js";
8
+ /**
9
+ * Creates an Adapter from Server Actions Adapter.
10
+ * This function wraps server actions to match the Adapter interface.
11
+ *
12
+ * @param serverActions - The server actions adapter configuration
13
+ * @returns An Adapter instance that uses the provided server actions
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const adapter = createServerActionsAdapter({
18
+ * getUser: async (id) => {
19
+ * const user = await getProfileApiV1AuthMeGet()
20
+ * return transformToAdapterUser(user)
21
+ * },
22
+ * })
23
+ * ```
24
+ */
25
+ export declare function createServerActionsAdapter(serverActions: ServerActionsAdapter): Adapter;
26
+ /**
27
+ * Checks if a Server Actions Adapter has all required methods for a specific feature.
28
+ *
29
+ * @param serverActions - The server actions adapter to check
30
+ * @param requiredMethods - Array of method names that are required
31
+ * @returns True if all required methods are present, false otherwise
32
+ */
33
+ export declare function hasRequiredServerActions(serverActions: ServerActionsAdapter, requiredMethods: (keyof ServerActionsAdapter)[]): boolean;
34
+ //# sourceMappingURL=server-actions-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-actions-helpers.d.ts","sourceRoot":"","sources":["../src/adapters/server-actions-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAGnE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,oBAAoB,GAClC,OAAO,CAiFT;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,oBAAoB,EACnC,eAAe,EAAE,CAAC,MAAM,oBAAoB,CAAC,EAAE,GAC9C,OAAO,CAET"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Helper functions for Server Actions Adapter
3
+ *
4
+ * This module provides utilities to convert server actions into adapter format
5
+ * and handle server action responses.
6
+ */
7
+ /**
8
+ * Creates an Adapter from Server Actions Adapter.
9
+ * This function wraps server actions to match the Adapter interface.
10
+ *
11
+ * @param serverActions - The server actions adapter configuration
12
+ * @returns An Adapter instance that uses the provided server actions
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const adapter = createServerActionsAdapter({
17
+ * getUser: async (id) => {
18
+ * const user = await getProfileApiV1AuthMeGet()
19
+ * return transformToAdapterUser(user)
20
+ * },
21
+ * })
22
+ * ```
23
+ */
24
+ export function createServerActionsAdapter(serverActions) {
25
+ const adapter = {};
26
+ // Map all server action methods to adapter methods
27
+ if (serverActions.createUser) {
28
+ adapter.createUser = serverActions.createUser;
29
+ }
30
+ if (serverActions.getUser) {
31
+ adapter.getUser = serverActions.getUser;
32
+ }
33
+ if (serverActions.getUserByEmail) {
34
+ adapter.getUserByEmail = serverActions.getUserByEmail;
35
+ }
36
+ if (serverActions.getUserByAccount) {
37
+ adapter.getUserByAccount = serverActions.getUserByAccount;
38
+ }
39
+ if (serverActions.updateUser) {
40
+ adapter.updateUser = serverActions.updateUser;
41
+ }
42
+ if (serverActions.deleteUser) {
43
+ adapter.deleteUser = serverActions.deleteUser;
44
+ }
45
+ if (serverActions.linkAccount) {
46
+ adapter.linkAccount = serverActions.linkAccount;
47
+ }
48
+ if (serverActions.unlinkAccount) {
49
+ adapter.unlinkAccount = serverActions.unlinkAccount;
50
+ }
51
+ if (serverActions.createSession) {
52
+ adapter.createSession = serverActions.createSession;
53
+ }
54
+ if (serverActions.getSessionAndUser) {
55
+ adapter.getSessionAndUser = serverActions.getSessionAndUser;
56
+ }
57
+ if (serverActions.updateSession) {
58
+ adapter.updateSession = serverActions.updateSession;
59
+ }
60
+ if (serverActions.deleteSession) {
61
+ adapter.deleteSession = serverActions.deleteSession;
62
+ }
63
+ if (serverActions.createVerificationToken) {
64
+ adapter.createVerificationToken = serverActions.createVerificationToken;
65
+ }
66
+ if (serverActions.useVerificationToken) {
67
+ adapter.useVerificationToken = serverActions.useVerificationToken;
68
+ }
69
+ if (serverActions.getAccount) {
70
+ adapter.getAccount = serverActions.getAccount;
71
+ }
72
+ if (serverActions.getAuthenticator) {
73
+ adapter.getAuthenticator = serverActions.getAuthenticator;
74
+ }
75
+ if (serverActions.createAuthenticator) {
76
+ adapter.createAuthenticator = serverActions.createAuthenticator;
77
+ }
78
+ if (serverActions.listAuthenticatorsByUserId) {
79
+ adapter.listAuthenticatorsByUserId = serverActions.listAuthenticatorsByUserId;
80
+ }
81
+ if (serverActions.updateAuthenticatorCounter) {
82
+ adapter.updateAuthenticatorCounter = serverActions.updateAuthenticatorCounter;
83
+ }
84
+ return adapter;
85
+ }
86
+ /**
87
+ * Checks if a Server Actions Adapter has all required methods for a specific feature.
88
+ *
89
+ * @param serverActions - The server actions adapter to check
90
+ * @param requiredMethods - Array of method names that are required
91
+ * @returns True if all required methods are present, false otherwise
92
+ */
93
+ export function hasRequiredServerActions(serverActions, requiredMethods) {
94
+ return requiredMethods.every((method) => method in serverActions && serverActions[method] !== undefined);
95
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mulverse/mulguard-core",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Authentication for the Web with Backend-First Architecture.",
5
5
  "keywords": [
6
6
  "authentication",
@@ -27,6 +27,7 @@
27
27
  "files": [
28
28
  "*.js",
29
29
  "*.d.ts*",
30
+ "adapters",
30
31
  "lib",
31
32
  "providers",
32
33
  "src"