| 91 | ); |
| 92 | |
| 93 | export interface UserInterface extends Document { |
| 94 | _id: mongoose.Types.ObjectId; |
| 95 | email: string; |
| 96 | password: string; |
| 97 | tokens: any[]; |
| 98 | tempTokens: any[]; |
| 99 | privateKey?: string; |
| 100 | publicKey?: string; |
| 101 | token?: string; |
| 102 | emailVerified?: boolean; |
| 103 | emailToken?: string; |
| 104 | passwordResetToken?: string; |
| 105 | passwordLastModified?: number; |
| 106 | |
| 107 | getEncryptionKey: () => Buffer | undefined; |
| 108 | generateTempAuthToken: () => Promise<any>; |
| 109 | encryptToken: (tempToken: any, key: any, publicKey: any) => any; |
| 110 | decryptToken: (encryptedToken: any, key: any, publicKey: any) => any; |
| 111 | findByCreds: (email: string, password: string) => Promise<UserInterface>; |
| 112 | generateAuthToken: ( |
| 113 | uuid: string | undefined |
| 114 | ) => Promise<{ accessToken: string; refreshToken: string }>; |
| 115 | generateAuthTokenStreamVideo: (uuid: string | undefined) => Promise<string>; |
| 116 | generateEncryptionKeys: () => Promise<void>; |
| 117 | changeEncryptionKey: (randomKey: Buffer) => Promise<void>; |
| 118 | generateEmailVerifyToken: () => Promise<string>; |
| 119 | generatePasswordResetToken: () => Promise<string>; |
| 120 | } |
| 121 | |
| 122 | const maxAgeAccess = 60 * 1000 * 20 + 1000 * 60; |
| 123 | const maxAgeRefresh = 60 * 1000 * 60 * 24 * 30 + 1000 * 60; |
nothing calls this directly
no outgoing calls
no test coverage detected