diff options
Diffstat (limited to 'server/lib/redis.ts')
-rw-r--r-- | server/lib/redis.ts | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/server/lib/redis.ts b/server/lib/redis.ts index 0b4b41e4e..e4e435659 100644 --- a/server/lib/redis.ts +++ b/server/lib/redis.ts | |||
@@ -2,7 +2,7 @@ import * as express from 'express' | |||
2 | import { createClient, RedisClient } from 'redis' | 2 | import { createClient, RedisClient } from 'redis' |
3 | import { logger } from '../helpers/logger' | 3 | import { logger } from '../helpers/logger' |
4 | import { generateRandomString } from '../helpers/utils' | 4 | import { generateRandomString } from '../helpers/utils' |
5 | import { CONFIG, USER_PASSWORD_RESET_LIFETIME, VIDEO_VIEW_LIFETIME } from '../initializers' | 5 | import { CONFIG, USER_PASSWORD_RESET_LIFETIME, USER_EMAIL_VERIFY_LIFETIME, VIDEO_VIEW_LIFETIME } from '../initializers' |
6 | 6 | ||
7 | type CachedRoute = { | 7 | type CachedRoute = { |
8 | body: string, | 8 | body: string, |
@@ -60,6 +60,18 @@ class Redis { | |||
60 | return this.getValue(this.generateResetPasswordKey(userId)) | 60 | return this.getValue(this.generateResetPasswordKey(userId)) |
61 | } | 61 | } |
62 | 62 | ||
63 | async setVerifyEmailVerificationString (userId: number) { | ||
64 | const generatedString = await generateRandomString(32) | ||
65 | |||
66 | await this.setValue(this.generateVerifyEmailKey(userId), generatedString, USER_EMAIL_VERIFY_LIFETIME) | ||
67 | |||
68 | return generatedString | ||
69 | } | ||
70 | |||
71 | async getVerifyEmailLink (userId: number) { | ||
72 | return this.getValue(this.generateVerifyEmailKey(userId)) | ||
73 | } | ||
74 | |||
63 | setIPVideoView (ip: string, videoUUID: string) { | 75 | setIPVideoView (ip: string, videoUUID: string) { |
64 | return this.setValue(this.buildViewKey(ip, videoUUID), '1', VIDEO_VIEW_LIFETIME) | 76 | return this.setValue(this.buildViewKey(ip, videoUUID), '1', VIDEO_VIEW_LIFETIME) |
65 | } | 77 | } |
@@ -135,6 +147,10 @@ class Redis { | |||
135 | return 'reset-password-' + userId | 147 | return 'reset-password-' + userId |
136 | } | 148 | } |
137 | 149 | ||
150 | generateVerifyEmailKey (userId: number) { | ||
151 | return 'verify-email-' + userId | ||
152 | } | ||
153 | |||
138 | buildViewKey (ip: string, videoUUID: string) { | 154 | buildViewKey (ip: string, videoUUID: string) { |
139 | return videoUUID + '-' + ip | 155 | return videoUUID + '-' + ip |
140 | } | 156 | } |