{"version":3,"file":"Mysql2.mjs","names":[],"sources":["../src/Mysql2.ts"],"sourcesContent":["import type { AnyRelations } from \"drizzle-orm\";\nimport { type EffectMysql2Database, makeWithDefaults } from \"drizzle-orm/effect-mysql2\";\nimport type { AnyMySqlTable } from \"drizzle-orm/mysql-core\";\nimport * as Layer from \"effect/Layer\";\n\nimport type {\n  IdentityTables,\n  SubjectProvisioningTables,\n  ExternalIdentityTables,\n} from \"./drizzle/model\";\nimport { Database } from \"./drizzle/mysql-database\";\nimport {\n  makeMysqlExternalIdentityServices,\n  makeMysqlIdentityServices,\n  makeMysqlSubjectProvisioningServices,\n} from \"./drizzle/mysql-identity\";\n\nexport { Database } from \"./drizzle/mysql-database\";\n\nimport { makeProofTarget } from \"./drizzle/proof-drivers\";\n\nexport const { coordinateProofPersistence, makeProofPersistenceServices } = makeProofTarget(\n  Database,\n  { mode: \"native\", dialect: \"mysql\" },\n);\n\nimport { makePasswordTarget } from \"./drizzle/password-drivers\";\n\nexport const {\n  coordinatePasswordPersistence,\n  coordinatePasswordRegistration,\n  makePasswordPersistenceServices,\n  makePasswordRegistrationServices,\n} = makePasswordTarget(Database, { mode: \"native\", dialect: \"mysql\" });\n\nimport { makeEmailTarget } from \"./drizzle/email-drivers\";\n\nexport const {\n  makeEmailSignInServices,\n  makeEmailAddressServices,\n  makeEmailRegistrationServices,\n  coordinateEmailAddress,\n  coordinateEmailRegistration,\n} = makeEmailTarget(Database, { mode: \"native\", dialect: \"mysql\" });\n\nexport const makeSubjectProvisioningServices = <\n  Subject extends AnyMySqlTable,\n  Identifier extends AnyMySqlTable,\n  Request extends AnyMySqlTable,\n  NativeId,\n>(\n  mapping: SubjectProvisioningTables<Subject, Identifier, Request, NativeId>,\n) => makeMysqlSubjectProvisioningServices(mapping);\n\nexport const makeExternalIdentityServices = <\n  Subject extends AnyMySqlTable,\n  External extends AnyMySqlTable,\n  NativeId,\n>(\n  mapping: ExternalIdentityTables<Subject, External, NativeId>,\n) => makeMysqlExternalIdentityServices(mapping);\n\nexport const makeIdentityServices = <\n  Subject extends AnyMySqlTable,\n  Identifier extends AnyMySqlTable,\n  External extends AnyMySqlTable,\n  Request extends AnyMySqlTable,\n  NativeId,\n>(\n  mapping: IdentityTables<Subject, Identifier, External, Request, NativeId>,\n) => makeMysqlIdentityServices(mapping);\n\nimport { makeOAuthTarget } from \"./drizzle/oauth-drivers\";\n\nconst oauthTarget = makeOAuthTarget<\n  Database,\n  EffectMysql2Database<AnyRelations>,\n  AnyMySqlTable<{ dialect: \"mysql\" }>\n>(Database, {\n  mode: \"native\",\n  dialect: \"mysql\",\n});\n\nexport const {\n  makeOAuthAccountsServices,\n  makeOAuthSignInServices,\n  makeOAuthRegistrationIntentServices,\n  makeOAuthRegistrationServices,\n  coordinateOAuthRegistration,\n  coordinateOAuthSignIn,\n  coordinateOAuthRegistrationIntents,\n  coordinateOAuthAccounts,\n  makeOAuthConnectedServices,\n  makeOAuthConnectedRevocationServices,\n  coordinateOAuthConnected,\n  coordinateOAuthConnectedRevocations,\n} = oauthTarget;\n\nimport { makePasskeyTarget } from \"./drizzle/passkey-drivers\";\n\nconst passkeyTarget = makePasskeyTarget<\n  Database,\n  EffectMysql2Database<AnyRelations>,\n  AnyMySqlTable<{ dialect: \"mysql\" }>\n>(Database, {\n  mode: \"native\",\n  dialect: \"mysql\",\n});\n\nexport const {\n  makePasskeyCredentialServices,\n  makePasskeyPersistenceServices,\n  makePasskeyRegistrationCeremonyServices,\n  coordinatePasskeyPersistence,\n  coordinatePasskeyRegistrationCeremony,\n  makePasskeyManagementServices,\n  makePasskeyRegistrationServices,\n  coordinatePasskeyManagement,\n  coordinatePasskeyRegistration,\n} = passkeyTarget;\n\nimport { makePhoneTarget } from \"./drizzle/phone-drivers\";\n\nexport const { makePhonePersistenceServices, coordinatePhonePersistence } = makePhoneTarget(\n  Database,\n  { mode: \"native\", dialect: \"mysql\" },\n);\n\n/** Construct Drizzle from the driver's SQL-client Layer. */\nexport const databaseLayer = Layer.effect(Database, makeWithDefaults({}));\n\nimport { makeSessionTarget } from \"./drizzle/session-drivers\";\n\nexport const {\n  coordinateAuthenticationAuthority,\n  coordinatePendingAuthentication,\n  coordinateSignedSessionValidity,\n  coordinateStatefulSessions,\n  makeAuthenticationAuthorityServices,\n  makePendingAuthenticationServices,\n  makeSignedSessionValidityServices,\n  makeStatefulSessionServices,\n  makeSessionStepUpServices,\n  coordinateSessionStepUp,\n  makeSessionCleanupServices,\n} = makeSessionTarget(Database, { mode: \"native\", dialect: \"mysql\" });\n\nimport { makeTotpTarget } from \"./drizzle/totp-target\";\n\nexport const { makeTotpPersistenceServices, coordinateTotpPersistence } = makeTotpTarget(Database, {\n  mode: \"native\",\n  dialect: \"mysql\",\n});\n"],"mappings":";;;;;;;;;;;;;AAqBA,MAAa,EAAE,4BAA4B,iCAAiC,gBAC1E,UACA;CAAE,MAAM;CAAU,SAAS;AAAQ,CACrC;AAIA,MAAa,EACX,+BACA,gCACA,iCACA,qCACE,mBAAmB,UAAU;CAAE,MAAM;CAAU,SAAS;AAAQ,CAAC;AAIrE,MAAa,EACX,yBACA,0BACA,+BACA,wBACA,gCACE,gBAAgB,UAAU;CAAE,MAAM;CAAU,SAAS;AAAQ,CAAC;AAElE,MAAa,mCAMX,YACG,qCAAqC,OAAO;AAEjD,MAAa,gCAKX,YACG,kCAAkC,OAAO;AAE9C,MAAa,wBAOX,YACG,0BAA0B,OAAO;AAatC,MAAa,EACX,2BACA,yBACA,qCACA,+BACA,6BACA,uBACA,oCACA,yBACA,4BACA,sCACA,0BACA,wCArBkB,gBAIlB,UAAU;CACV,MAAM;CACN,SAAS;AACX,CAeI;AAaJ,MAAa,EACX,+BACA,gCACA,yCACA,8BACA,uCACA,+BACA,iCACA,6BACA,kCAlBoB,kBAIpB,UAAU;CACV,MAAM;CACN,SAAS;AACX,CAYI;AAIJ,MAAa,EAAE,8BAA8B,+BAA+B,gBAC1E,UACA;CAAE,MAAM;CAAU,SAAS;AAAQ,CACrC;;AAGA,MAAa,gBAAgB,MAAM,OAAO,UAAU,iBAAiB,CAAC,CAAC,CAAC;AAIxE,MAAa,EACX,mCACA,iCACA,iCACA,4BACA,qCACA,mCACA,mCACA,6BACA,2BACA,yBACA,+BACE,kBAAkB,UAAU;CAAE,MAAM;CAAU,SAAS;AAAQ,CAAC;AAIpE,MAAa,EAAE,6BAA6B,8BAA8B,eAAe,UAAU;CACjG,MAAM;CACN,SAAS;AACX,CAAC"}