X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Faccount%2Fuser.ts;h=1165285ea318195200f818f4cf58af0b571eeb4a;hb=8cd72bd37724054f8942f2fefc7aa2e60eca74cf;hp=8afd246b2c17dc6cc2d0ebae470e30f4b40e9d2a;hpb=a73c582e5b6f5c52427b38aaf55b3afbead24053;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/account/user.ts b/server/models/account/user.ts index 8afd246b2..1165285ea 100644 --- a/server/models/account/user.ts +++ b/server/models/account/user.ts @@ -21,7 +21,7 @@ import { hasUserRight, USER_ROLE_LABELS, UserRight } from '../../../shared' import { User, UserRole } from '../../../shared/models/users' import { isUserAutoPlayVideoValid, - isUserDisplayNSFWValid, + isUserNSFWPolicyValid, isUserPasswordValid, isUserRoleValid, isUserUsernameValid, @@ -32,6 +32,13 @@ import { OAuthTokenModel } from '../oauth/oauth-token' import { getSort, throwIfNotValid } from '../utils' import { VideoChannelModel } from '../video/video-channel' import { AccountModel } from './account' +import { NSFWPolicyType } from '../../../shared/models/videos/nsfw-policy.type' +import { values } from 'lodash' +import { NSFW_POLICY_TYPES } from '../../initializers' + +enum ScopeNames { + WITH_VIDEO_CHANNEL = 'WITH_VIDEO_CHANNEL' +} @DefaultScope({ include: [ @@ -42,7 +49,7 @@ import { AccountModel } from './account' ] }) @Scopes({ - withVideoChannel: { + [ScopeNames.WITH_VIDEO_CHANNEL]: { include: [ { model: () => AccountModel, @@ -83,10 +90,9 @@ export class UserModel extends Model { email: string @AllowNull(false) - @Default(false) - @Is('UserDisplayNSFW', value => throwIfNotValid(value, isUserDisplayNSFWValid, 'display NSFW boolean')) - @Column - displayNSFW: boolean + @Is('UserNSFWPolicy', value => throwIfNotValid(value, isUserNSFWPolicyValid, 'NSFW policy')) + @Column(DataType.ENUM(values(NSFW_POLICY_TYPES))) + nsfwPolicy: NSFWPolicyType @AllowNull(false) @Default(true) @@ -197,7 +203,7 @@ export class UserModel extends Model { } } - return UserModel.scope('withVideoChannel').findOne(query) + return UserModel.scope(ScopeNames.WITH_VIDEO_CHANNEL).findOne(query) } static loadByEmail (email: string) { @@ -265,7 +271,7 @@ export class UserModel extends Model { id: this.id, username: this.username, email: this.email, - displayNSFW: this.displayNSFW, + nsfwPolicy: this.nsfwPolicy, autoPlayVideo: this.autoPlayVideo, role: this.role, roleLabel: USER_ROLE_LABELS[ this.role ],