@m5kdev/frontend 0.20.34 → 0.20.38
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/src/modules/auth/components/AuthProvider.d.mts +1 -1
- package/dist/src/modules/auth/components/AuthProvider.d.mts.map +1 -1
- package/dist/src/modules/auth/components/AuthProvider.d.ts +1 -1
- package/dist/src/modules/auth/components/AuthProvider.d.ts.map +1 -1
- package/dist/src/modules/auth/hooks/useMemberInvite.d.mts +12 -0
- package/dist/src/modules/auth/hooks/useMemberInvite.d.mts.map +1 -0
- package/dist/src/modules/auth/hooks/useMemberInvite.d.ts +12 -0
- package/dist/src/modules/auth/hooks/useMemberInvite.d.ts.map +1 -0
- package/dist/src/modules/auth/hooks/useMemberInvite.js +32 -0
- package/dist/src/modules/auth/hooks/useMemberInvite.js.map +1 -0
- package/dist/src/modules/auth/hooks/useMemberInvite.mjs +31 -0
- package/dist/src/modules/auth/hooks/useMemberInvite.mjs.map +1 -0
- package/dist/src/modules/auth/hooks/useOrganizationAccess.d.mts +19 -0
- package/dist/src/modules/auth/hooks/useOrganizationAccess.d.mts.map +1 -0
- package/dist/src/modules/auth/hooks/useOrganizationAccess.d.ts +19 -0
- package/dist/src/modules/auth/hooks/useOrganizationAccess.d.ts.map +1 -0
- package/dist/src/modules/auth/hooks/useOrganizationAccess.js +36 -0
- package/dist/src/modules/auth/hooks/useOrganizationAccess.js.map +1 -0
- package/dist/src/modules/auth/hooks/useOrganizationAccess.mjs +35 -0
- package/dist/src/modules/auth/hooks/useOrganizationAccess.mjs.map +1 -0
- package/dist/src/modules/billing/components/BillingProvider.d.mts +1 -1
- package/dist/src/modules/billing/components/BillingProvider.d.mts.map +1 -1
- package/dist/src/modules/billing/components/BillingProvider.d.ts +1 -1
- package/dist/src/modules/billing/components/BillingProvider.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -18,7 +18,7 @@ declare function AuthProvider({
|
|
|
18
18
|
children: React.ReactNode;
|
|
19
19
|
loader?: React.ReactNode;
|
|
20
20
|
onSession?: (session: Session | null) => void;
|
|
21
|
-
}): string | number | bigint | true | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined
|
|
21
|
+
}): string | number | bigint | true | _$react_jsx_runtime0.JSX.Element | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined>;
|
|
22
22
|
//#endregion
|
|
23
23
|
export { AuthProvider, authProviderContext };
|
|
24
24
|
//# sourceMappingURL=AuthProvider.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthProvider.d.mts","names":[],"sources":["../../../../../src/modules/auth/components/AuthProvider.tsx"],"mappings":";;;;;KAIK,OAAA,GAAU,UAAA,QAAkB,UAAA,CAAW,UAAA;AAAA,cAO/B,mBAAA,EAEE,OAAA,CAFiB,OAAA;;QAExB,OAAA;;oBAEY,SAAA;AAAA;AAAA,iBAQJ,YAAA,CAAA;EACd,QAAA;EACA,MAAA;EACA;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,MAAA,GAAS,KAAA,CAAM,SAAA;EACf,SAAA,IAAa,OAAA,EAAS,OAAA;AAAA,sCACvB,QAAA,
|
|
1
|
+
{"version":3,"file":"AuthProvider.d.mts","names":[],"sources":["../../../../../src/modules/auth/components/AuthProvider.tsx"],"mappings":";;;;;KAIK,OAAA,GAAU,UAAA,QAAkB,UAAA,CAAW,UAAA;AAAA,cAO/B,mBAAA,EAEE,OAAA,CAFiB,OAAA;;QAExB,OAAA;;oBAEY,SAAA;AAAA;AAAA,iBAQJ,YAAA,CAAA;EACd,QAAA;EACA,MAAA;EACA;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,MAAA,GAAS,KAAA,CAAM,SAAA;EACf,SAAA,IAAa,OAAA,EAAS,OAAA;AAAA,sCACvB,oBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QAAA,CAAA,OAAA,CAAA,SAAA,IAAA,OAAA,sCAAA,OAAA,CAAA,WAAA,GAAA,OAAA,CAAA,YAAA,mBAAA,OAAA,CAAA,qBAAA,SAAA,QAAA,CAAA,OAAA,CAAA,SAAA"}
|
|
@@ -18,7 +18,7 @@ declare function AuthProvider({
|
|
|
18
18
|
children: React.ReactNode;
|
|
19
19
|
loader?: React.ReactNode;
|
|
20
20
|
onSession?: (session: Session | null) => void;
|
|
21
|
-
}): string | number | bigint | true | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined
|
|
21
|
+
}): string | number | bigint | true | _$react_jsx_runtime0.JSX.Element | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined>;
|
|
22
22
|
//#endregion
|
|
23
23
|
export { AuthProvider, authProviderContext };
|
|
24
24
|
//# sourceMappingURL=AuthProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthProvider.d.ts","names":[],"sources":["../../../../../src/modules/auth/components/AuthProvider.tsx"],"mappings":";;;;;KAIK,OAAA,GAAU,UAAA,QAAkB,UAAA,CAAW,UAAA;AAAA,cAO/B,mBAAA,EAEE,OAAA,CAFiB,OAAA;;QAExB,OAAA;;oBAEY,SAAA;AAAA;AAAA,iBAQJ,YAAA,CAAA;EACd,QAAA;EACA,MAAA;EACA;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,MAAA,GAAS,KAAA,CAAM,SAAA;EACf,SAAA,IAAa,OAAA,EAAS,OAAA;AAAA,sCACvB,QAAA,
|
|
1
|
+
{"version":3,"file":"AuthProvider.d.ts","names":[],"sources":["../../../../../src/modules/auth/components/AuthProvider.tsx"],"mappings":";;;;;KAIK,OAAA,GAAU,UAAA,QAAkB,UAAA,CAAW,UAAA;AAAA,cAO/B,mBAAA,EAEE,OAAA,CAFiB,OAAA;;QAExB,OAAA;;oBAEY,SAAA;AAAA;AAAA,iBAQJ,YAAA,CAAA;EACd,QAAA;EACA,MAAA;EACA;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,MAAA,GAAS,KAAA,CAAM,SAAA;EACf,SAAA,IAAa,OAAA,EAAS,OAAA;AAAA,sCACvB,oBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QAAA,CAAA,OAAA,CAAA,SAAA,IAAA,OAAA,sCAAA,OAAA,CAAA,WAAA,GAAA,OAAA,CAAA,YAAA,mBAAA,OAAA,CAAA,qBAAA,SAAA,QAAA,CAAA,OAAA,CAAA,SAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AuthOrganizationRole, UseOrganizationAccessProps } from "./useOrganizationAccess.mjs";
|
|
2
|
+
import { UseMutationOptions, useMutation } from "@tanstack/react-query";
|
|
3
|
+
|
|
4
|
+
//#region src/modules/auth/hooks/useMemberInvite.d.ts
|
|
5
|
+
type Variables = {
|
|
6
|
+
email: string;
|
|
7
|
+
role: AuthOrganizationRole;
|
|
8
|
+
};
|
|
9
|
+
declare function useAuthMemberInvite(options: Omit<UseMutationOptions<void, Error, Variables, unknown>, "mutationFn">, props?: UseOrganizationAccessProps): ReturnType<typeof useMutation<void, Error, Variables, unknown>>;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { useAuthMemberInvite };
|
|
12
|
+
//# sourceMappingURL=useMemberInvite.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMemberInvite.d.mts","names":[],"sources":["../../../../../src/modules/auth/hooks/useMemberInvite.ts"],"mappings":";;;;KAQK,SAAA;EAAc,KAAA;EAAe,IAAA,EAAM,oBAAA;AAAA;AAAA,iBAExB,mBAAA,CACd,OAAA,EAAS,IAAA,CAAK,kBAAA,OAAyB,KAAA,EAAO,SAAA,2BAC9C,KAAA,GAAQ,0BAAA,GACP,UAAA,QAAkB,WAAA,OAAkB,KAAA,EAAO,SAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AuthOrganizationRole, UseOrganizationAccessProps } from "./useOrganizationAccess.js";
|
|
2
|
+
import { UseMutationOptions, useMutation } from "@tanstack/react-query";
|
|
3
|
+
|
|
4
|
+
//#region src/modules/auth/hooks/useMemberInvite.d.ts
|
|
5
|
+
type Variables = {
|
|
6
|
+
email: string;
|
|
7
|
+
role: AuthOrganizationRole;
|
|
8
|
+
};
|
|
9
|
+
declare function useAuthMemberInvite(options: Omit<UseMutationOptions<void, Error, Variables, unknown>, "mutationFn">, props?: UseOrganizationAccessProps): ReturnType<typeof useMutation<void, Error, Variables, unknown>>;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { useAuthMemberInvite };
|
|
12
|
+
//# sourceMappingURL=useMemberInvite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMemberInvite.d.ts","names":[],"sources":["../../../../../src/modules/auth/hooks/useMemberInvite.ts"],"mappings":";;;;KAQK,SAAA;EAAc,KAAA;EAAe,IAAA,EAAM,oBAAA;AAAA;AAAA,iBAExB,mBAAA,CACd,OAAA,EAAS,IAAA,CAAK,kBAAA,OAAyB,KAAA,EAAO,SAAA,2BAC9C,KAAA,GAAQ,0BAAA,GACP,UAAA,QAAkB,WAAA,OAAkB,KAAA,EAAO,SAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_src_modules_auth_auth_lib = require("../auth.lib.js");
|
|
3
|
+
const require_src_modules_auth_hooks_useOrganizationAccess = require("./useOrganizationAccess.js");
|
|
4
|
+
let _tanstack_react_query = require("@tanstack/react-query");
|
|
5
|
+
//#region src/modules/auth/hooks/useMemberInvite.ts
|
|
6
|
+
function useAuthMemberInvite(options, props) {
|
|
7
|
+
const { managerRoles = ["admin", "owner"], onInvalidateScopedQueries } = props ?? {};
|
|
8
|
+
const { onSuccess, ...rest } = options;
|
|
9
|
+
const { refreshOrganizationQueries, activeOrganizationId } = require_src_modules_auth_hooks_useOrganizationAccess.useOrganizationAccess({
|
|
10
|
+
managerRoles,
|
|
11
|
+
onInvalidateScopedQueries
|
|
12
|
+
});
|
|
13
|
+
return (0, _tanstack_react_query.useMutation)({
|
|
14
|
+
mutationFn: async ({ email, role }) => {
|
|
15
|
+
const { error } = await require_src_modules_auth_auth_lib.authClient.organization.inviteMember({
|
|
16
|
+
organizationId: activeOrganizationId,
|
|
17
|
+
email: email.trim(),
|
|
18
|
+
role
|
|
19
|
+
});
|
|
20
|
+
if (error) throw new Error(error.message);
|
|
21
|
+
},
|
|
22
|
+
onSuccess: async (data, variables, context) => {
|
|
23
|
+
await refreshOrganizationQueries();
|
|
24
|
+
await onSuccess?.(data, variables, context);
|
|
25
|
+
},
|
|
26
|
+
...rest
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
//#endregion
|
|
30
|
+
exports.useAuthMemberInvite = useAuthMemberInvite;
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=useMemberInvite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMemberInvite.js","names":["useOrganizationAccess","authClient"],"sources":["../../../../../src/modules/auth/hooks/useMemberInvite.ts"],"sourcesContent":["import { type UseMutationOptions, useMutation } from \"@tanstack/react-query\";\r\nimport { authClient } from \"../auth.lib\";\r\nimport {\r\n type AuthOrganizationRole,\r\n type UseOrganizationAccessProps,\r\n useOrganizationAccess,\r\n} from \"./useOrganizationAccess\";\r\n\r\ntype Variables = { email: string; role: AuthOrganizationRole };\r\n\r\nexport function useAuthMemberInvite(\r\n options: Omit<UseMutationOptions<void, Error, Variables, unknown>, \"mutationFn\">,\r\n props?: UseOrganizationAccessProps\r\n): ReturnType<typeof useMutation<void, Error, Variables, unknown>> {\r\n const { managerRoles = [\"admin\", \"owner\"], onInvalidateScopedQueries } = props ?? {};\r\n const { onSuccess, ...rest } = options;\r\n const { refreshOrganizationQueries, activeOrganizationId } = useOrganizationAccess({\r\n managerRoles,\r\n onInvalidateScopedQueries,\r\n });\r\n return useMutation({\r\n mutationFn: async ({ email, role }: { email: string; role: AuthOrganizationRole }) => {\r\n const { error } = await authClient.organization.inviteMember({\r\n organizationId: activeOrganizationId,\r\n email: email.trim(),\r\n role,\r\n });\r\n if (error) throw new Error(error.message);\r\n },\r\n\r\n onSuccess: async (data, variables, context) => {\r\n await refreshOrganizationQueries();\r\n await onSuccess?.(data, variables, context);\r\n },\r\n ...rest,\r\n });\r\n}\r\n"],"mappings":";;;;;AAUA,SAAgB,oBACd,SACA,OACiE;CACjE,MAAM,EAAE,eAAe,CAAC,SAAS,QAAQ,EAAE,8BAA8B,SAAS,EAAE;CACpF,MAAM,EAAE,WAAW,GAAG,SAAS;CAC/B,MAAM,EAAE,4BAA4B,yBAAyBA,qDAAAA,sBAAsB;EACjF;EACA;EACD,CAAC;AACF,SAAA,GAAA,sBAAA,aAAmB;EACjB,YAAY,OAAO,EAAE,OAAO,WAA0D;GACpF,MAAM,EAAE,UAAU,MAAMC,kCAAAA,WAAW,aAAa,aAAa;IAC3D,gBAAgB;IAChB,OAAO,MAAM,MAAM;IACnB;IACD,CAAC;AACF,OAAI,MAAO,OAAM,IAAI,MAAM,MAAM,QAAQ;;EAG3C,WAAW,OAAO,MAAM,WAAW,YAAY;AAC7C,SAAM,4BAA4B;AAClC,SAAM,YAAY,MAAM,WAAW,QAAQ;;EAE7C,GAAG;EACJ,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { authClient } from "../auth.lib.mjs";
|
|
2
|
+
import { useOrganizationAccess } from "./useOrganizationAccess.mjs";
|
|
3
|
+
import { useMutation } from "@tanstack/react-query";
|
|
4
|
+
//#region src/modules/auth/hooks/useMemberInvite.ts
|
|
5
|
+
function useAuthMemberInvite(options, props) {
|
|
6
|
+
const { managerRoles = ["admin", "owner"], onInvalidateScopedQueries } = props ?? {};
|
|
7
|
+
const { onSuccess, ...rest } = options;
|
|
8
|
+
const { refreshOrganizationQueries, activeOrganizationId } = useOrganizationAccess({
|
|
9
|
+
managerRoles,
|
|
10
|
+
onInvalidateScopedQueries
|
|
11
|
+
});
|
|
12
|
+
return useMutation({
|
|
13
|
+
mutationFn: async ({ email, role }) => {
|
|
14
|
+
const { error } = await authClient.organization.inviteMember({
|
|
15
|
+
organizationId: activeOrganizationId,
|
|
16
|
+
email: email.trim(),
|
|
17
|
+
role
|
|
18
|
+
});
|
|
19
|
+
if (error) throw new Error(error.message);
|
|
20
|
+
},
|
|
21
|
+
onSuccess: async (data, variables, context) => {
|
|
22
|
+
await refreshOrganizationQueries();
|
|
23
|
+
await onSuccess?.(data, variables, context);
|
|
24
|
+
},
|
|
25
|
+
...rest
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { useAuthMemberInvite };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=useMemberInvite.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMemberInvite.mjs","names":[],"sources":["../../../../../src/modules/auth/hooks/useMemberInvite.ts"],"sourcesContent":["import { type UseMutationOptions, useMutation } from \"@tanstack/react-query\";\r\nimport { authClient } from \"../auth.lib\";\r\nimport {\r\n type AuthOrganizationRole,\r\n type UseOrganizationAccessProps,\r\n useOrganizationAccess,\r\n} from \"./useOrganizationAccess\";\r\n\r\ntype Variables = { email: string; role: AuthOrganizationRole };\r\n\r\nexport function useAuthMemberInvite(\r\n options: Omit<UseMutationOptions<void, Error, Variables, unknown>, \"mutationFn\">,\r\n props?: UseOrganizationAccessProps\r\n): ReturnType<typeof useMutation<void, Error, Variables, unknown>> {\r\n const { managerRoles = [\"admin\", \"owner\"], onInvalidateScopedQueries } = props ?? {};\r\n const { onSuccess, ...rest } = options;\r\n const { refreshOrganizationQueries, activeOrganizationId } = useOrganizationAccess({\r\n managerRoles,\r\n onInvalidateScopedQueries,\r\n });\r\n return useMutation({\r\n mutationFn: async ({ email, role }: { email: string; role: AuthOrganizationRole }) => {\r\n const { error } = await authClient.organization.inviteMember({\r\n organizationId: activeOrganizationId,\r\n email: email.trim(),\r\n role,\r\n });\r\n if (error) throw new Error(error.message);\r\n },\r\n\r\n onSuccess: async (data, variables, context) => {\r\n await refreshOrganizationQueries();\r\n await onSuccess?.(data, variables, context);\r\n },\r\n ...rest,\r\n });\r\n}\r\n"],"mappings":";;;;AAUA,SAAgB,oBACd,SACA,OACiE;CACjE,MAAM,EAAE,eAAe,CAAC,SAAS,QAAQ,EAAE,8BAA8B,SAAS,EAAE;CACpF,MAAM,EAAE,WAAW,GAAG,SAAS;CAC/B,MAAM,EAAE,4BAA4B,yBAAyB,sBAAsB;EACjF;EACA;EACD,CAAC;AACF,QAAO,YAAY;EACjB,YAAY,OAAO,EAAE,OAAO,WAA0D;GACpF,MAAM,EAAE,UAAU,MAAM,WAAW,aAAa,aAAa;IAC3D,gBAAgB;IAChB,OAAO,MAAM,MAAM;IACnB;IACD,CAAC;AACF,OAAI,MAAO,OAAM,IAAI,MAAM,MAAM,QAAQ;;EAG3C,WAAW,OAAO,MAAM,WAAW,YAAY;AAC7C,SAAM,4BAA4B;AAClC,SAAM,YAAY,MAAM,WAAW,QAAQ;;EAE7C,GAAG;EACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/modules/auth/hooks/useOrganizationAccess.d.ts
|
|
2
|
+
declare const ORGANIZATION_ROLES: readonly ["member", "admin", "owner"];
|
|
3
|
+
type AuthOrganizationRole = (typeof ORGANIZATION_ROLES)[number];
|
|
4
|
+
interface UseOrganizationAccessProps {
|
|
5
|
+
managerRoles?: string[];
|
|
6
|
+
onInvalidateScopedQueries?: () => void | Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
declare function useOrganizationAccess({
|
|
9
|
+
managerRoles,
|
|
10
|
+
onInvalidateScopedQueries
|
|
11
|
+
}: UseOrganizationAccessProps): {
|
|
12
|
+
activeOrganizationId: string;
|
|
13
|
+
activeOrganizationRole: string;
|
|
14
|
+
canManageOrganization: boolean;
|
|
15
|
+
refreshOrganizationQueries: () => Promise<void>;
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
export { AuthOrganizationRole, UseOrganizationAccessProps, useOrganizationAccess };
|
|
19
|
+
//# sourceMappingURL=useOrganizationAccess.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOrganizationAccess.d.mts","names":[],"sources":["../../../../../src/modules/auth/hooks/useOrganizationAccess.ts"],"mappings":";cAMM,kBAAA;AAAA,KAEM,oBAAA,WAA+B,kBAAA;AAAA,UAE1B,0BAAA;EACf,YAAA;EACA,yBAAA,gBAAyC,OAAA;AAAA;AAAA,iBAG3B,qBAAA,CAAA;EACd,YAAA;EACA;AAAA,GACC,0BAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
//#region src/modules/auth/hooks/useOrganizationAccess.d.ts
|
|
2
|
+
declare const ORGANIZATION_ROLES: readonly ["member", "admin", "owner"];
|
|
3
|
+
type AuthOrganizationRole = (typeof ORGANIZATION_ROLES)[number];
|
|
4
|
+
interface UseOrganizationAccessProps {
|
|
5
|
+
managerRoles?: string[];
|
|
6
|
+
onInvalidateScopedQueries?: () => void | Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
declare function useOrganizationAccess({
|
|
9
|
+
managerRoles,
|
|
10
|
+
onInvalidateScopedQueries
|
|
11
|
+
}: UseOrganizationAccessProps): {
|
|
12
|
+
activeOrganizationId: string;
|
|
13
|
+
activeOrganizationRole: string;
|
|
14
|
+
canManageOrganization: boolean;
|
|
15
|
+
refreshOrganizationQueries: () => Promise<void>;
|
|
16
|
+
};
|
|
17
|
+
//#endregion
|
|
18
|
+
export { AuthOrganizationRole, UseOrganizationAccessProps, useOrganizationAccess };
|
|
19
|
+
//# sourceMappingURL=useOrganizationAccess.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOrganizationAccess.d.ts","names":[],"sources":["../../../../../src/modules/auth/hooks/useOrganizationAccess.ts"],"mappings":";cAMM,kBAAA;AAAA,KAEM,oBAAA,WAA+B,kBAAA;AAAA,UAE1B,0BAAA;EACf,YAAA;EACA,yBAAA,gBAAyC,OAAA;AAAA;AAAA,iBAG3B,qBAAA,CAAA;EACd,YAAA;EACA;AAAA,GACC,0BAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_src_modules_auth_hooks_useSession = require("./useSession.js");
|
|
3
|
+
let react = require("react");
|
|
4
|
+
let _tanstack_react_query = require("@tanstack/react-query");
|
|
5
|
+
//#region src/modules/auth/hooks/useOrganizationAccess.ts
|
|
6
|
+
function useOrganizationAccess({ managerRoles, onInvalidateScopedQueries }) {
|
|
7
|
+
const { data: session, registerSession } = require_src_modules_auth_hooks_useSession.useSession();
|
|
8
|
+
const queryClient = (0, _tanstack_react_query.useQueryClient)();
|
|
9
|
+
const activeOrganizationId = session?.session.activeOrganizationId ?? "";
|
|
10
|
+
const activeOrganizationRole = (session?.session)?.activeOrganizationRole ?? "";
|
|
11
|
+
return {
|
|
12
|
+
activeOrganizationId,
|
|
13
|
+
activeOrganizationRole,
|
|
14
|
+
canManageOrganization: (0, react.useMemo)(() => new Set(managerRoles ?? ["admin", "owner"]), [managerRoles]).has(activeOrganizationRole),
|
|
15
|
+
refreshOrganizationQueries: (0, react.useCallback)(async () => {
|
|
16
|
+
await Promise.allSettled([
|
|
17
|
+
queryClient.invalidateQueries({ queryKey: ["auth-organization-list"] }),
|
|
18
|
+
queryClient.invalidateQueries({ queryKey: ["auth-organization-details", activeOrganizationId] }),
|
|
19
|
+
queryClient.invalidateQueries({ queryKey: ["auth-organization-members", activeOrganizationId] }),
|
|
20
|
+
queryClient.invalidateQueries({ queryKey: ["auth-organization-invitations", activeOrganizationId] })
|
|
21
|
+
]);
|
|
22
|
+
registerSession(() => {
|
|
23
|
+
onInvalidateScopedQueries?.();
|
|
24
|
+
});
|
|
25
|
+
}, [
|
|
26
|
+
activeOrganizationId,
|
|
27
|
+
onInvalidateScopedQueries,
|
|
28
|
+
queryClient,
|
|
29
|
+
registerSession
|
|
30
|
+
])
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
exports.useOrganizationAccess = useOrganizationAccess;
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=useOrganizationAccess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOrganizationAccess.js","names":["useSession"],"sources":["../../../../../src/modules/auth/hooks/useOrganizationAccess.ts"],"sourcesContent":["import { useQueryClient } from \"@tanstack/react-query\";\r\nimport { useCallback, useMemo } from \"react\";\r\nimport { useSession } from \"./useSession\";\r\n\r\n// TODO: move to commons\r\n\r\nconst ORGANIZATION_ROLES = [\"member\", \"admin\", \"owner\"] as const;\r\n\r\nexport type AuthOrganizationRole = (typeof ORGANIZATION_ROLES)[number];\r\n\r\nexport interface UseOrganizationAccessProps {\r\n managerRoles?: string[];\r\n onInvalidateScopedQueries?: () => void | Promise<void>;\r\n}\r\n\r\nexport function useOrganizationAccess({\r\n managerRoles,\r\n onInvalidateScopedQueries,\r\n}: UseOrganizationAccessProps) {\r\n const { data: session, registerSession } = useSession();\r\n const queryClient = useQueryClient();\r\n\r\n const activeOrganizationId = session?.session.activeOrganizationId ?? \"\";\r\n const activeOrganizationRole =\r\n (session?.session as { activeOrganizationRole?: string } | undefined)?.activeOrganizationRole ??\r\n \"\";\r\n const managerRoleSet = useMemo(() => new Set(managerRoles ?? [\"admin\", \"owner\"]), [managerRoles]);\r\n const canManageOrganization = managerRoleSet.has(activeOrganizationRole);\r\n\r\n const refreshOrganizationQueries = useCallback(async () => {\r\n await Promise.allSettled([\r\n queryClient.invalidateQueries({ queryKey: [\"auth-organization-list\"] }),\r\n queryClient.invalidateQueries({\r\n queryKey: [\"auth-organization-details\", activeOrganizationId],\r\n }),\r\n queryClient.invalidateQueries({\r\n queryKey: [\"auth-organization-members\", activeOrganizationId],\r\n }),\r\n queryClient.invalidateQueries({\r\n queryKey: [\"auth-organization-invitations\", activeOrganizationId],\r\n }),\r\n ]);\r\n\r\n registerSession(() => {\r\n void onInvalidateScopedQueries?.();\r\n });\r\n }, [activeOrganizationId, onInvalidateScopedQueries, queryClient, registerSession]);\r\n\r\n return {\r\n activeOrganizationId,\r\n activeOrganizationRole,\r\n canManageOrganization,\r\n refreshOrganizationQueries,\r\n };\r\n}\r\n"],"mappings":";;;;;AAeA,SAAgB,sBAAsB,EACpC,cACA,6BAC6B;CAC7B,MAAM,EAAE,MAAM,SAAS,oBAAoBA,0CAAAA,YAAY;CACvD,MAAM,eAAA,GAAA,sBAAA,iBAA8B;CAEpC,MAAM,uBAAuB,SAAS,QAAQ,wBAAwB;CACtE,MAAM,0BACH,SAAS,UAA6D,0BACvE;AAuBF,QAAO;EACL;EACA;EACA,wBAAA,GAAA,MAAA,eAzBmC,IAAI,IAAI,gBAAgB,CAAC,SAAS,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,CACpD,IAAI,uBAAuB;EAyBtE,6BAAA,GAAA,MAAA,aAvB6C,YAAY;AACzD,SAAM,QAAQ,WAAW;IACvB,YAAY,kBAAkB,EAAE,UAAU,CAAC,yBAAyB,EAAE,CAAC;IACvE,YAAY,kBAAkB,EAC5B,UAAU,CAAC,6BAA6B,qBAAqB,EAC9D,CAAC;IACF,YAAY,kBAAkB,EAC5B,UAAU,CAAC,6BAA6B,qBAAqB,EAC9D,CAAC;IACF,YAAY,kBAAkB,EAC5B,UAAU,CAAC,iCAAiC,qBAAqB,EAClE,CAAC;IACH,CAAC;AAEF,yBAAsB;AACf,iCAA6B;KAClC;KACD;GAAC;GAAsB;GAA2B;GAAa;GAAgB,CAAC;EAOlF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useSession } from "./useSession.mjs";
|
|
2
|
+
import { useCallback, useMemo } from "react";
|
|
3
|
+
import { useQueryClient } from "@tanstack/react-query";
|
|
4
|
+
//#region src/modules/auth/hooks/useOrganizationAccess.ts
|
|
5
|
+
function useOrganizationAccess({ managerRoles, onInvalidateScopedQueries }) {
|
|
6
|
+
const { data: session, registerSession } = useSession();
|
|
7
|
+
const queryClient = useQueryClient();
|
|
8
|
+
const activeOrganizationId = session?.session.activeOrganizationId ?? "";
|
|
9
|
+
const activeOrganizationRole = (session?.session)?.activeOrganizationRole ?? "";
|
|
10
|
+
return {
|
|
11
|
+
activeOrganizationId,
|
|
12
|
+
activeOrganizationRole,
|
|
13
|
+
canManageOrganization: useMemo(() => new Set(managerRoles ?? ["admin", "owner"]), [managerRoles]).has(activeOrganizationRole),
|
|
14
|
+
refreshOrganizationQueries: useCallback(async () => {
|
|
15
|
+
await Promise.allSettled([
|
|
16
|
+
queryClient.invalidateQueries({ queryKey: ["auth-organization-list"] }),
|
|
17
|
+
queryClient.invalidateQueries({ queryKey: ["auth-organization-details", activeOrganizationId] }),
|
|
18
|
+
queryClient.invalidateQueries({ queryKey: ["auth-organization-members", activeOrganizationId] }),
|
|
19
|
+
queryClient.invalidateQueries({ queryKey: ["auth-organization-invitations", activeOrganizationId] })
|
|
20
|
+
]);
|
|
21
|
+
registerSession(() => {
|
|
22
|
+
onInvalidateScopedQueries?.();
|
|
23
|
+
});
|
|
24
|
+
}, [
|
|
25
|
+
activeOrganizationId,
|
|
26
|
+
onInvalidateScopedQueries,
|
|
27
|
+
queryClient,
|
|
28
|
+
registerSession
|
|
29
|
+
])
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { useOrganizationAccess };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=useOrganizationAccess.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOrganizationAccess.mjs","names":[],"sources":["../../../../../src/modules/auth/hooks/useOrganizationAccess.ts"],"sourcesContent":["import { useQueryClient } from \"@tanstack/react-query\";\r\nimport { useCallback, useMemo } from \"react\";\r\nimport { useSession } from \"./useSession\";\r\n\r\n// TODO: move to commons\r\n\r\nconst ORGANIZATION_ROLES = [\"member\", \"admin\", \"owner\"] as const;\r\n\r\nexport type AuthOrganizationRole = (typeof ORGANIZATION_ROLES)[number];\r\n\r\nexport interface UseOrganizationAccessProps {\r\n managerRoles?: string[];\r\n onInvalidateScopedQueries?: () => void | Promise<void>;\r\n}\r\n\r\nexport function useOrganizationAccess({\r\n managerRoles,\r\n onInvalidateScopedQueries,\r\n}: UseOrganizationAccessProps) {\r\n const { data: session, registerSession } = useSession();\r\n const queryClient = useQueryClient();\r\n\r\n const activeOrganizationId = session?.session.activeOrganizationId ?? \"\";\r\n const activeOrganizationRole =\r\n (session?.session as { activeOrganizationRole?: string } | undefined)?.activeOrganizationRole ??\r\n \"\";\r\n const managerRoleSet = useMemo(() => new Set(managerRoles ?? [\"admin\", \"owner\"]), [managerRoles]);\r\n const canManageOrganization = managerRoleSet.has(activeOrganizationRole);\r\n\r\n const refreshOrganizationQueries = useCallback(async () => {\r\n await Promise.allSettled([\r\n queryClient.invalidateQueries({ queryKey: [\"auth-organization-list\"] }),\r\n queryClient.invalidateQueries({\r\n queryKey: [\"auth-organization-details\", activeOrganizationId],\r\n }),\r\n queryClient.invalidateQueries({\r\n queryKey: [\"auth-organization-members\", activeOrganizationId],\r\n }),\r\n queryClient.invalidateQueries({\r\n queryKey: [\"auth-organization-invitations\", activeOrganizationId],\r\n }),\r\n ]);\r\n\r\n registerSession(() => {\r\n void onInvalidateScopedQueries?.();\r\n });\r\n }, [activeOrganizationId, onInvalidateScopedQueries, queryClient, registerSession]);\r\n\r\n return {\r\n activeOrganizationId,\r\n activeOrganizationRole,\r\n canManageOrganization,\r\n refreshOrganizationQueries,\r\n };\r\n}\r\n"],"mappings":";;;;AAeA,SAAgB,sBAAsB,EACpC,cACA,6BAC6B;CAC7B,MAAM,EAAE,MAAM,SAAS,oBAAoB,YAAY;CACvD,MAAM,cAAc,gBAAgB;CAEpC,MAAM,uBAAuB,SAAS,QAAQ,wBAAwB;CACtE,MAAM,0BACH,SAAS,UAA6D,0BACvE;AAuBF,QAAO;EACL;EACA;EACA,uBAzBqB,cAAc,IAAI,IAAI,gBAAgB,CAAC,SAAS,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,CACpD,IAAI,uBAAuB;EAyBtE,4BAvBiC,YAAY,YAAY;AACzD,SAAM,QAAQ,WAAW;IACvB,YAAY,kBAAkB,EAAE,UAAU,CAAC,yBAAyB,EAAE,CAAC;IACvE,YAAY,kBAAkB,EAC5B,UAAU,CAAC,6BAA6B,qBAAqB,EAC9D,CAAC;IACF,YAAY,kBAAkB,EAC5B,UAAU,CAAC,6BAA6B,qBAAqB,EAC9D,CAAC;IACF,YAAY,kBAAkB,EAC5B,UAAU,CAAC,iCAAiC,qBAAqB,EAClE,CAAC;IACH,CAAC;AAEF,yBAAsB;AACf,iCAA6B;KAClC;KACD;GAAC;GAAsB;GAA2B;GAAa;GAAgB,CAAC;EAOlF"}
|
|
@@ -17,7 +17,7 @@ declare function BillingProvider({
|
|
|
17
17
|
loader?: React.ReactNode;
|
|
18
18
|
planPage: React.ReactNode;
|
|
19
19
|
skipPlanCheck?: boolean;
|
|
20
|
-
}): string | number | bigint | boolean | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined> |
|
|
20
|
+
}): string | number | bigint | boolean | _$react_jsx_runtime0.JSX.Element | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined> | null | undefined;
|
|
21
21
|
//#endregion
|
|
22
22
|
export { BillingProvider, billingProviderContext };
|
|
23
23
|
//# sourceMappingURL=BillingProvider.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BillingProvider.d.mts","names":[],"sources":["../../../../../src/modules/billing/components/BillingProvider.tsx"],"mappings":";;;;;cAMa,sBAAA,EAEQ,OAAA,CAFc,OAAA;;QAE3B,aAAA;AAAA;AAAA,iBAMQ,eAAA,CAAA;EACd,QAAA;EACA,MAAA;EACA,QAAA;EACA;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,MAAA,GAAS,KAAA,CAAM,SAAA;EACf,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,aAAA;AAAA,yCACD,QAAA,
|
|
1
|
+
{"version":3,"file":"BillingProvider.d.mts","names":[],"sources":["../../../../../src/modules/billing/components/BillingProvider.tsx"],"mappings":";;;;;cAMa,sBAAA,EAEQ,OAAA,CAFc,OAAA;;QAE3B,aAAA;AAAA;AAAA,iBAMQ,eAAA,CAAA;EACd,QAAA;EACA,MAAA;EACA,QAAA;EACA;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,MAAA,GAAS,KAAA,CAAM,SAAA;EACf,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,aAAA;AAAA,yCACD,oBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QAAA,CAAA,OAAA,CAAA,SAAA,IAAA,OAAA,sCAAA,OAAA,CAAA,WAAA,GAAA,OAAA,CAAA,YAAA,mBAAA,OAAA,CAAA,qBAAA,SAAA,QAAA,CAAA,OAAA,CAAA,SAAA"}
|
|
@@ -17,7 +17,7 @@ declare function BillingProvider({
|
|
|
17
17
|
loader?: React.ReactNode;
|
|
18
18
|
planPage: React.ReactNode;
|
|
19
19
|
skipPlanCheck?: boolean;
|
|
20
|
-
}): string | number | bigint | boolean | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined> |
|
|
20
|
+
}): string | number | bigint | boolean | _$react_jsx_runtime0.JSX.Element | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined> | null | undefined;
|
|
21
21
|
//#endregion
|
|
22
22
|
export { BillingProvider, billingProviderContext };
|
|
23
23
|
//# sourceMappingURL=BillingProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BillingProvider.d.ts","names":[],"sources":["../../../../../src/modules/billing/components/BillingProvider.tsx"],"mappings":";;;;;cAMa,sBAAA,EAEQ,OAAA,CAFc,OAAA;;QAE3B,aAAA;AAAA;AAAA,iBAMQ,eAAA,CAAA;EACd,QAAA;EACA,MAAA;EACA,QAAA;EACA;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,MAAA,GAAS,KAAA,CAAM,SAAA;EACf,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,aAAA;AAAA,yCACD,QAAA,
|
|
1
|
+
{"version":3,"file":"BillingProvider.d.ts","names":[],"sources":["../../../../../src/modules/billing/components/BillingProvider.tsx"],"mappings":";;;;;cAMa,sBAAA,EAEQ,OAAA,CAFc,OAAA;;QAE3B,aAAA;AAAA;AAAA,iBAMQ,eAAA,CAAA;EACd,QAAA;EACA,MAAA;EACA,QAAA;EACA;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,MAAA,GAAS,KAAA,CAAM,SAAA;EACf,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,aAAA;AAAA,yCACD,oBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QAAA,CAAA,OAAA,CAAA,SAAA,IAAA,OAAA,sCAAA,OAAA,CAAA,WAAA,GAAA,OAAA,CAAA,YAAA,mBAAA,OAAA,CAAA,qBAAA,SAAA,QAAA,CAAA,OAAA,CAAA,SAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@m5kdev/frontend",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.38",
|
|
4
4
|
"license": "GPL-3.0-only",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"react": "19.2.1",
|
|
27
27
|
"react-dom": "19.2.1",
|
|
28
28
|
"zod": "4.2.1",
|
|
29
|
-
"@m5kdev/commons": "0.20.
|
|
29
|
+
"@m5kdev/commons": "0.20.38"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"@trpc/server": "11.4.3"
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"tsdown": "0.21.7",
|
|
42
42
|
"typescript": "6.0.3",
|
|
43
43
|
"vite": "7.0.4",
|
|
44
|
-
"@m5kdev/config": "0.20.
|
|
45
|
-
"@m5kdev/backend": "0.20.
|
|
44
|
+
"@m5kdev/config": "0.20.38",
|
|
45
|
+
"@m5kdev/backend": "0.20.38"
|
|
46
46
|
},
|
|
47
47
|
"exports": {
|
|
48
48
|
"./modules/app/components/*": {
|