cabal-version: 3.0 name: shomei-postgres version: 0.1.0.0 synopsis: PostgreSQL adapters for Shōmei's store/publisher/signing-key ports description: Production interpreters for Shōmei's effects, written against hasql: a PostgreSQL-backed store for users, credentials, sessions, refresh tokens, OAuth clients and authorization codes, MFA secrets, recovery codes, passkeys, service accounts, roles, and signing keys, plus the audit-event publisher and reader. Also provides Argon2id password hashing and SHA-256 token hashing (crypton, ram), connection pooling, and a transactional unit-of-work. The schema itself lives in shomei-migrations. homepage: https://github.com/shinzui/shomei bug-reports: https://github.com/shinzui/shomei/issues license: MIT license-file: LICENSE author: Nadeem Bitar maintainer: nadeem@gmail.com copyright: 2026 Nadeem Bitar category: Database, Security build-type: Simple tested-with: GHC ==9.12.4 extra-doc-files: CHANGELOG.md source-repository head type: git location: https://github.com/shinzui/shomei.git common warnings ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wpartial-fields -Wredundant-constraints common shared default-language: GHC2024 default-extensions: BlockArguments DataKinds DeriveAnyClass DuplicateRecordFields GADTs LambdaCase MultilineStrings OverloadedLabels OverloadedRecordDot OverloadedStrings QualifiedDo RecordWildCards TemplateHaskell TypeFamilies library import: warnings, shared hs-source-dirs: src exposed-modules: Shomei.Account.Credential.Postgres Shomei.Account.Password.Hash.Postgres Shomei.Account.PasswordReset.Postgres Shomei.Account.User.Postgres Shomei.Account.Verification.Postgres Shomei.Audit.Publisher.Postgres Shomei.Audit.Reader.Postgres Shomei.Authorization.Role.Postgres Shomei.Mfa.RecoveryCode.Postgres Shomei.Mfa.Totp.Postgres Shomei.OAuth.AuthorizationCode.Postgres Shomei.OAuth.Client.Postgres Shomei.Passkey.Ceremony.Postgres Shomei.Passkey.Postgres Shomei.Persistence.Codec.Postgres Shomei.Persistence.Database.Postgres Shomei.Persistence.Maintenance.Postgres Shomei.Persistence.Pool.Postgres Shomei.ServiceAccount.Postgres Shomei.Session.LoginAttempt.Postgres Shomei.Session.Postgres Shomei.Session.RefreshToken.Postgres Shomei.Session.UnitOfWork.Postgres Shomei.SigningKey.Postgres Shomei.Time.Postgres build-depends: , aeson >=2.1 && <2.3 , base >=4.18 && <5 , bytestring >=0.11 && <0.13 , containers >=0.6 && <0.9 , contravariant-extras >=0.3 && <0.4 , crypton >=1.1.0 && <1.2 , effectful >=2.5 && <2.8 , effectful-core >=2.5 && <2.8 , hasql >=1.10 && <1.11 , hasql-pool >=1.2 && <1.5 , hasql-transaction >=1.0 && <1.3 , ram >=0.22 && <0.23 , shomei-core ^>=0.1.0.0 , stm >=2.5 && <2.6 , text >=2.0 && <2.2 , time >=1.12 && <1.15 , transformers >=0.6 && <0.7 , uuid >=1.3 && <1.4 test-suite shomei-postgres-test import: warnings, shared type: exitcode-stdio-1.0 main-is: Main.hs hs-source-dirs: test ghc-options: -threaded -rtsopts -with-rtsopts=-N build-depends: , base >=4.18 && <5 , bytestring >=0.11 && <0.13 , containers >=0.6 && <0.9 , effectful >=2.5 && <2.8 , effectful-core >=2.5 && <2.8 , hasql >=1.10 && <1.11 , hasql-pool >=1.4 && <1.5 , shomei-core ^>=0.1.0.0 , shomei-migrations:test-support ^>=0.1.0.0 , shomei-postgres ^>=0.1.0.0 , tasty >=1.4 && <1.6 , tasty-hunit >=0.10 && <0.11 , text >=2.0 && <2.2 , time >=1.12 && <1.15 , uuid >=1.3 && <1.4