{"version":3,"file":"route-utils.mjs","names":[],"sources":["../../src/api/auth-storage.ts"],"sourcesContent":["/**\n * Auth provider storage helper.\n *\n * Gives auth provider routes access to plugin-style storage collections\n * namespaced under `auth:<providerId>`. Reuses the existing `_plugin_storage`\n * table and `PluginStorageRepository` infrastructure.\n */\n\nimport type { Kysely } from \"kysely\";\n\nimport type { Database } from \"../database/types.js\";\nimport { createStorageAccess } from \"../plugins/context.js\";\nimport type { StorageCollection, StorageCollectionConfig } from \"../plugins/types.js\";\n\n/**\n * Get storage collections for an auth provider.\n *\n * Returns a record of `StorageCollection` instances, one per declared\n * collection in the provider's `storage` config. Data is stored in the\n * shared `_plugin_storage` table under the namespace `auth:<providerId>`.\n *\n * @example\n * ```ts\n * const storage = getAuthProviderStorage(emdash.db, \"atproto\", {\n *   states: { indexes: [] },\n *   sessions: { indexes: [] },\n * });\n * const session = await storage.sessions.get(sessionId);\n * ```\n */\nexport function getAuthProviderStorage(\n\tdb: Kysely<Database>,\n\tproviderId: string,\n\tstorageConfig: Record<string, StorageCollectionConfig>,\n): Record<string, StorageCollection> {\n\treturn createStorageAccess(db, `auth:${providerId}`, storageConfig);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,SAAgB,uBACf,IACA,YACA,eACoC;AACpC,QAAO,oBAAoB,IAAI,QAAQ,cAAc,cAAc"}