| 2 | import { Model } from 'objection'; |
| 3 | |
| 4 | export class UserModel extends Model { |
| 5 | static override tableName = 'users'; |
| 6 | |
| 7 | id!: string; |
| 8 | |
| 9 | encrypted_email!: Uint8Array; |
| 10 | email_hash!: Uint8Array; |
| 11 | |
| 12 | email_verified!: boolean; |
| 13 | |
| 14 | encrypted_rehashed_login_hash!: Uint8Array; |
| 15 | |
| 16 | encrypted_new_email!: Uint8Array | null; |
| 17 | email_verification_code!: string | null; |
| 18 | email_verification_expiration_date!: Date | null; |
| 19 | |
| 20 | two_factor_auth_enabled!: boolean; |
| 21 | encrypted_authenticator_secret!: Uint8Array | null; |
| 22 | encrypted_recovery_codes!: Uint8Array | null; |
| 23 | |
| 24 | personal_group_id!: string; |
| 25 | |
| 26 | public_keyring!: Uint8Array; |
| 27 | |
| 28 | encrypted_private_keyring!: Uint8Array; |
| 29 | encrypted_symmetric_keyring!: Uint8Array; |
| 30 | |
| 31 | encrypted_name!: Uint8Array; |
| 32 | |
| 33 | encrypted_default_note!: Uint8Array; |
| 34 | encrypted_default_arrow!: Uint8Array; |
| 35 | |
| 36 | starting_page_id!: string; |
| 37 | |
| 38 | recent_page_ids!: string[]; |
| 39 | recent_group_ids!: string[]; |
| 40 | |
| 41 | favorite_page_ids!: string[]; |
| 42 | |
| 43 | customer_id!: string | null; |
| 44 | plan!: Plan; |
| 45 | subscription_id!: string | null; |
| 46 | |
| 47 | last_notification_read!: number | null; |
| 48 | |
| 49 | num_free_pages!: number; |
| 50 | |
| 51 | demo!: boolean; |
| 52 | |
| 53 | creation_date!: Date; |
| 54 | |
| 55 | new!: boolean; |
| 56 | } |