-
Notifications
You must be signed in to change notification settings - Fork 1
db schema
The mcorpus database is a Postgres database. It can be divided into two 'sub-schemas':
- mcuser sub-schema The gatekeeper for mcorpus data access. Login and logout on behalf of a known mcuser is required before any mcorpus data may be queried or mutated.
- member sub-schema The actual corpus of member data exposed by this api.
The full DDL for the mcorpus database is here.
The tables and db objects enabling user authentication for access to the mcorpus api.
Each mcuser record represents a pre-defined user that is allowed to access the mcorpus api. An mcuser is able to login and logout. Only logged-in mcusers are able to interact with the api.
An mcuser_audit record is created when an mcuser does one of the following:
- Login
- Logout
User defined db type to constrain the allowed values for the mcuser.status
column.
User defined db type to constrain the allowed values for the mcuser_audit.type
column.
User defined db type to constrain the allowed values for the mcuser_audit.jwt_id_status
column.
This part of the mcorpus db schema holds the actual corpus of member data that is accessed through the GraphQL api once an mcuser has logged in.
The primary member table comprised of the member primary key UUID, name and member status.
Related one table to the member table holding member PII (Personally Identifiable Information) related fields. Namely: dob, email, phone, username and password.
Logs when a member logs in or out along with the http request origin and request timestamp.