{"version":3,"sources":["jsdelivr-header.js","/npm/@selectcode/next-auth-hasura-adapter@1.0.4/dist/index.js"],"names":[],"mappings":"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","file":"/npm/@selectcode/next-auth-hasura-adapter@1.0.4/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@selectcode/next-auth-hasura-adapter@1.0.4/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HasuraAdapter = void 0;\nconst graphql_request_1 = require(\"graphql-request\");\nconst graphql_1 = require(\"./generated/graphql\");\nconst transformDate = (object, key) => {\n    if (!object)\n        return;\n    if (object[key]) {\n        return {\n            ...object,\n            [key]: new Date(object[key]),\n        };\n    }\n    return object;\n};\nconst HasuraAdapter = ({ endpoint, adminSecret, }) => {\n    const client = new graphql_request_1.GraphQLClient(endpoint, {\n        headers: {\n            [\"x-hasura-admin-secret\"]: adminSecret,\n        },\n    });\n    const sdk = (0, graphql_1.getSdk)(client);\n    return {\n        // User\n        createUser: async (data) => {\n            const res = await sdk.CreateUser({ data });\n            const user = transformDate(res === null || res === void 0 ? void 0 : res.insertUsersOne, \"emailVerified\");\n            return user;\n        },\n        getUser: async (id) => {\n            const res = await sdk.GetUser({ id });\n            const user = transformDate(res === null || res === void 0 ? void 0 : res.usersByPk, \"emailVerified\");\n            return user;\n        },\n        getUserByEmail: async (email) => {\n            var _a;\n            const res = await sdk.GetUsers({ where: { email: { _eq: email } } });\n            const user = transformDate((_a = res === null || res === void 0 ? void 0 : res.users) === null || _a === void 0 ? void 0 : _a[0], \"emailVerified\");\n            if (!user)\n                return null;\n            return user;\n        },\n        getUserByAccount: async ({ providerAccountId, provider }) => {\n            var _a;\n            const res = await sdk.GetUsers({\n                where: {\n                    accounts: {\n                        provider: { _eq: provider },\n                        providerAccountId: { _eq: providerAccountId },\n                    },\n                },\n            });\n            const user = transformDate((_a = res === null || res === void 0 ? void 0 : res.users) === null || _a === void 0 ? void 0 : _a[0], \"emailVerified\");\n            if (!user)\n                return null;\n            return user;\n        },\n        updateUser: async ({ id, ...data }) => {\n            const res = await sdk.UpdateUser({ id, data });\n            const user = transformDate(res === null || res === void 0 ? void 0 : res.updateUsersByPk, \"emailVerified\");\n            return user;\n        },\n        deleteUser: async (id) => {\n            const res = await sdk.DeleteUser({ id });\n            const user = transformDate(res === null || res === void 0 ? void 0 : res.deleteUsersByPk, \"emailVerified\");\n            return user;\n        },\n        // Session\n        createSession: async (data) => {\n            const res = await sdk.CreateSession({ data });\n            const session = transformDate(res === null || res === void 0 ? void 0 : res.insertSessionsOne, \"expires\");\n            return session;\n        },\n        getSessionAndUser: async (sessionToken) => {\n            var _a;\n            const res = await sdk.GetSession({ sessionToken });\n            const session = transformDate((_a = res === null || res === void 0 ? void 0 : res.sessions) === null || _a === void 0 ? void 0 : _a[0], \"expires\");\n            const user = transformDate(session === null || session === void 0 ? void 0 : session.user, \"emailVerified\");\n            return {\n                session: session,\n                user: user,\n            };\n        },\n        updateSession: async ({ sessionToken, ...data }) => {\n            var _a, _b;\n            const res = await sdk.UpdateSession({ sessionToken, data });\n            const session = transformDate((_b = (_a = res === null || res === void 0 ? void 0 : res.updateSessions) === null || _a === void 0 ? void 0 : _a.returning) === null || _b === void 0 ? void 0 : _b[0], \"expires\");\n            if (!session)\n                return;\n            return session;\n        },\n        deleteSession: async (sessionToken) => {\n            var _a, _b;\n            const res = await sdk.DeleteSession({ sessionToken });\n            const session = transformDate((_b = (_a = res === null || res === void 0 ? void 0 : res.deleteSessions) === null || _a === void 0 ? void 0 : _a.returning) === null || _b === void 0 ? void 0 : _b[0], \"expires\");\n            if (!session)\n                return;\n            return session;\n        },\n        // Account\n        linkAccount: async (data) => {\n            const res = await sdk.CreateAccount({ data });\n            const account = res === null || res === void 0 ? void 0 : res.insertAccountsOne;\n            return account;\n        },\n        unlinkAccount: async ({ providerAccountId, provider }) => {\n            var _a, _b;\n            const res = await sdk.DeleteAccount({ provider, providerAccountId });\n            const account = (_b = (_a = res === null || res === void 0 ? void 0 : res.deleteAccounts) === null || _a === void 0 ? void 0 : _a.returning) === null || _b === void 0 ? void 0 : _b[0];\n            if (!account)\n                return;\n            return account;\n        },\n        // Verification Token\n        createVerificationToken: async (data) => {\n            const res = await sdk.CreateVerificationToken({ data });\n            const verificationToken = transformDate(res === null || res === void 0 ? void 0 : res.insertVerificationTokensOne, \"expires\");\n            return verificationToken;\n        },\n        useVerificationToken: async ({ identifier, token }) => {\n            var _a, _b;\n            const res = await sdk.DeleteVerificationToken({ identifier, token });\n            const verificationToken = transformDate((_b = (_a = res === null || res === void 0 ? void 0 : res.deleteVerificationTokens) === null || _a === void 0 ? void 0 : _a.returning) === null || _b === void 0 ? void 0 : _b[0], \"expires\");\n            if (!verificationToken)\n                return null;\n            return verificationToken;\n        },\n    };\n};\nexports.HasuraAdapter = HasuraAdapter;\n"]}