Crate db_core

source ·
Expand description

mCaptcha database operations

Traits and datastructures used in mCaptcha to interact with database.

To use an unsupported database with mCaptcha, traits present within this crate should be implemented.

Organisation

Database functionality is divided across various modules:

  • errors: error data structures used in this crate
  • ops: meta operations like connection pool creation, migrations and getting connection from pool

Re-exports

Modules

  • useful imports for supporting a new database
  • represents all the ways a trait can fail using this crate
  • meta operations like migration and connecting to a database
  • useful imports for users working with a supported database
  • Test utilities

Structs

  • Data required to add notification
  • Data representing a captcha
  • data required to create new captcha
  • Level struct that describes threshold-difficulty factor mapping
  • type encapsulating username and hashed password of a user
  • Represents notification
  • Data required to register a new user
  • datastructure representing a user’s secret
  • Captcha statistics with time recorded in UNIX epoch formats
  • User’s traffic pattern; used in generating a captcha configuration
  • data required to update them email of a user

Enums

  • types of credentials used as identifiers during login

Traits

  • Trait to clone MCDatabase
  • mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait.