diff options
Diffstat (limited to 'server/models/account/user.ts')
-rw-r--r-- | server/models/account/user.ts | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/server/models/account/user.ts b/server/models/account/user.ts index 4b13e47a0..680b1d52d 100644 --- a/server/models/account/user.ts +++ b/server/models/account/user.ts | |||
@@ -23,13 +23,13 @@ import { | |||
23 | isUserAutoPlayVideoValid, | 23 | isUserAutoPlayVideoValid, |
24 | isUserBlockedReasonValid, | 24 | isUserBlockedReasonValid, |
25 | isUserBlockedValid, | 25 | isUserBlockedValid, |
26 | isUserNSFWPolicyValid, | ||
27 | isUserEmailVerifiedValid, | 26 | isUserEmailVerifiedValid, |
27 | isUserNSFWPolicyValid, | ||
28 | isUserPasswordValid, | 28 | isUserPasswordValid, |
29 | isUserRoleValid, | 29 | isUserRoleValid, |
30 | isUserUsernameValid, | 30 | isUserUsernameValid, |
31 | isUserVideoQuotaValid, | 31 | isUserVideoQuotaDailyValid, |
32 | isUserVideoQuotaDailyValid | 32 | isUserVideoQuotaValid |
33 | } from '../../helpers/custom-validators/users' | 33 | } from '../../helpers/custom-validators/users' |
34 | import { comparePassword, cryptPassword } from '../../helpers/peertube-crypto' | 34 | import { comparePassword, cryptPassword } from '../../helpers/peertube-crypto' |
35 | import { OAuthTokenModel } from '../oauth/oauth-token' | 35 | import { OAuthTokenModel } from '../oauth/oauth-token' |
@@ -39,7 +39,6 @@ import { AccountModel } from './account' | |||
39 | import { NSFWPolicyType } from '../../../shared/models/videos/nsfw-policy.type' | 39 | import { NSFWPolicyType } from '../../../shared/models/videos/nsfw-policy.type' |
40 | import { values } from 'lodash' | 40 | import { values } from 'lodash' |
41 | import { NSFW_POLICY_TYPES } from '../../initializers' | 41 | import { NSFW_POLICY_TYPES } from '../../initializers' |
42 | import { VideoFileModel } from '../video/video-file' | ||
43 | 42 | ||
44 | enum ScopeNames { | 43 | enum ScopeNames { |
45 | WITH_VIDEO_CHANNEL = 'WITH_VIDEO_CHANNEL' | 44 | WITH_VIDEO_CHANNEL = 'WITH_VIDEO_CHANNEL' |
@@ -296,6 +295,20 @@ export class UserModel extends Model<UserModel> { | |||
296 | } | 295 | } |
297 | } | 296 | } |
298 | 297 | ||
298 | static autoComplete (search: string) { | ||
299 | const query = { | ||
300 | where: { | ||
301 | username: { | ||
302 | [ Sequelize.Op.like ]: `%${search}%` | ||
303 | } | ||
304 | }, | ||
305 | limit: 10 | ||
306 | } | ||
307 | |||
308 | return UserModel.findAll(query) | ||
309 | .then(u => u.map(u => u.username)) | ||
310 | } | ||
311 | |||
299 | hasRight (right: UserRight) { | 312 | hasRight (right: UserRight) { |
300 | return hasUserRight(this.role, right) | 313 | return hasUserRight(this.role, right) |
301 | } | 314 | } |
@@ -394,15 +407,4 @@ export class UserModel extends Model<UserModel> { | |||
394 | return parseInt(total, 10) | 407 | return parseInt(total, 10) |
395 | }) | 408 | }) |
396 | } | 409 | } |
397 | |||
398 | static autocomplete (search: string) { | ||
399 | return UserModel.findAll({ | ||
400 | where: { | ||
401 | username: { | ||
402 | [Sequelize.Op.like]: `%${search}%` | ||
403 | } | ||
404 | } | ||
405 | }) | ||
406 | .then(u => u.map(u => u.username)) | ||
407 | } | ||
408 | } | 410 | } |