Reorganize shared models

This commit is contained in:
Chocobozzz 2020-08-06 14:58:01 +02:00 committed by Chocobozzz
parent 583eb04b54
commit bd45d503e5
59 changed files with 155 additions and 144 deletions

View file

@ -0,0 +1,14 @@
import { AbusePredefinedReasons, AbusePredefinedReasonsString } from '../../models/moderation/abuse/abuse-reason.model'
export const abusePredefinedReasonsMap: {
[key in AbusePredefinedReasonsString]: AbusePredefinedReasons
} = {
violentOrRepulsive: AbusePredefinedReasons.VIOLENT_OR_REPULSIVE,
hatefulOrAbusive: AbusePredefinedReasons.HATEFUL_OR_ABUSIVE,
spamOrMisleading: AbusePredefinedReasons.SPAM_OR_MISLEADING,
privacy: AbusePredefinedReasons.PRIVACY,
rights: AbusePredefinedReasons.RIGHTS,
serverRules: AbusePredefinedReasons.SERVER_RULES,
thumbnails: AbusePredefinedReasons.THUMBNAILS,
captions: AbusePredefinedReasons.CAPTIONS
}

View file

@ -0,0 +1 @@
export * from './abuse-predefined-reasons'

View file

@ -0,0 +1 @@
export * from './user-role'

View file

@ -0,0 +1,35 @@
import { UserRight, UserRole } from '../../models/users'
export const USER_ROLE_LABELS: { [ id in UserRole ]: string } = {
[UserRole.USER]: 'User',
[UserRole.MODERATOR]: 'Moderator',
[UserRole.ADMINISTRATOR]: 'Administrator'
}
const userRoleRights: { [ id in UserRole ]: UserRight[] } = {
[UserRole.ADMINISTRATOR]: [
UserRight.ALL
],
[UserRole.MODERATOR]: [
UserRight.MANAGE_VIDEO_BLACKLIST,
UserRight.MANAGE_ABUSES,
UserRight.REMOVE_ANY_VIDEO,
UserRight.REMOVE_ANY_VIDEO_CHANNEL,
UserRight.REMOVE_ANY_VIDEO_PLAYLIST,
UserRight.REMOVE_ANY_VIDEO_COMMENT,
UserRight.UPDATE_ANY_VIDEO,
UserRight.SEE_ALL_VIDEOS,
UserRight.MANAGE_ACCOUNTS_BLOCKLIST,
UserRight.MANAGE_SERVERS_BLOCKLIST,
UserRight.MANAGE_USERS
],
[UserRole.USER]: []
}
export function hasUserRight (userRole: UserRole, userRight: UserRight) {
const userRights = userRoleRights[userRole]
return userRights.includes(UserRight.ALL) || userRights.includes(userRight)
}

View file

@ -1,4 +1,4 @@
export enum FeedFormat {
export const enum FeedFormat {
RSS = 'xml',
ATOM = 'atom',
JSON = 'json'

View file

@ -7,7 +7,6 @@ export * from './redundancy'
export * from './users'
export * from './videos'
export * from './feeds'
export * from './i18n'
export * from './overviews'
export * from './plugins'
export * from './search'

View file

@ -1,4 +1,4 @@
export enum AbusePredefinedReasons {
export const enum AbusePredefinedReasons {
VIOLENT_OR_REPULSIVE = 1,
HATEFUL_OR_ABUSIVE,
SPAM_OR_MISLEADING,
@ -18,16 +18,3 @@ export type AbusePredefinedReasonsString =
'serverRules' |
'thumbnails' |
'captions'
export const abusePredefinedReasonsMap: {
[key in AbusePredefinedReasonsString]: AbusePredefinedReasons
} = {
violentOrRepulsive: AbusePredefinedReasons.VIOLENT_OR_REPULSIVE,
hatefulOrAbusive: AbusePredefinedReasons.HATEFUL_OR_ABUSIVE,
spamOrMisleading: AbusePredefinedReasons.SPAM_OR_MISLEADING,
privacy: AbusePredefinedReasons.PRIVACY,
rights: AbusePredefinedReasons.RIGHTS,
serverRules: AbusePredefinedReasons.SERVER_RULES,
thumbnails: AbusePredefinedReasons.THUMBNAILS,
captions: AbusePredefinedReasons.CAPTIONS
}

View file

@ -1,4 +1,4 @@
export enum AbuseState {
export const enum AbuseState {
PENDING = 1,
REJECTED = 2,
ACCEPTED = 3

View file

@ -1,4 +1,4 @@
export enum HookType {
export const enum HookType {
STATIC = 1,
ACTION = 2,
FILTER = 3

View file

@ -1,4 +1,4 @@
export enum UserAdminFlag {
export const enum UserAdminFlag {
NONE = 0,
BYPASS_VIDEO_AUTO_BLACKLIST = 1 << 0
}

View file

@ -1,4 +1,4 @@
export enum UserNotificationSettingValue {
export const enum UserNotificationSettingValue {
NONE = 0,
WEB = 1 << 0,
EMAIL = 1 << 1

View file

@ -1,4 +1,4 @@
export enum UserRight {
export const enum UserRight {
ALL,
MANAGE_USERS,

View file

@ -1,42 +1,6 @@
import { UserRight } from './user-right.enum'
// Keep the order
export enum UserRole {
ADMINISTRATOR = 0,
MODERATOR = 1,
USER = 2
}
export const USER_ROLE_LABELS: { [ id in UserRole ]: string } = {
[UserRole.USER]: 'User',
[UserRole.MODERATOR]: 'Moderator',
[UserRole.ADMINISTRATOR]: 'Administrator'
}
const userRoleRights: { [ id in UserRole ]: UserRight[] } = {
[UserRole.ADMINISTRATOR]: [
UserRight.ALL
],
[UserRole.MODERATOR]: [
UserRight.MANAGE_VIDEO_BLACKLIST,
UserRight.MANAGE_ABUSES,
UserRight.REMOVE_ANY_VIDEO,
UserRight.REMOVE_ANY_VIDEO_CHANNEL,
UserRight.REMOVE_ANY_VIDEO_PLAYLIST,
UserRight.REMOVE_ANY_VIDEO_COMMENT,
UserRight.UPDATE_ANY_VIDEO,
UserRight.SEE_ALL_VIDEOS,
UserRight.MANAGE_ACCOUNTS_BLOCKLIST,
UserRight.MANAGE_SERVERS_BLOCKLIST,
UserRight.MANAGE_USERS
],
[UserRole.USER]: []
}
export function hasUserRight (userRole: UserRole, userRight: UserRight) {
const userRights = userRoleRights[userRole]
return userRights.includes(UserRight.ALL) || userRights.includes(userRight)
}

View file

@ -1,6 +1,6 @@
import { Video } from '../video.model'
export enum VideoBlacklistType {
export const enum VideoBlacklistType {
MANUAL = 1,
AUTO_BEFORE_PUBLISHED = 2
}

View file

@ -1,4 +1,4 @@
export enum VideoImportState {
export const enum VideoImportState {
PENDING = 1,
SUCCESS = 2,
FAILED = 3,

View file

@ -1,6 +1,6 @@
import { Video } from '../video.model'
export enum VideoPlaylistElementType {
export const enum VideoPlaylistElementType {
REGULAR = 0,
DELETED = 1,
PRIVATE = 2,

View file

@ -1,4 +1,4 @@
export enum VideoPlaylistPrivacy {
export const enum VideoPlaylistPrivacy {
PUBLIC = 1,
UNLISTED = 2,
PRIVATE = 3

View file

@ -1,4 +1,4 @@
export enum VideoPlaylistType {
export const enum VideoPlaylistType {
REGULAR = 1,
WATCH_LATER = 2
}

View file

@ -1,4 +1,4 @@
export enum ThumbnailType {
export const enum ThumbnailType {
MINIATURE = 1,
PREVIEW = 2
}

View file

@ -10,7 +10,7 @@ export interface VideoChangeOwnership {
createdAt: Date
}
export enum VideoChangeOwnershipStatus {
export const enum VideoChangeOwnershipStatus {
WAITING = 'WAITING',
ACCEPTED = 'ACCEPTED',
REFUSED = 'REFUSED'

View file

@ -1,4 +1,4 @@
export enum VideoPrivacy {
export const enum VideoPrivacy {
PUBLIC = 1,
UNLISTED = 2,
PRIVATE = 3,

View file

@ -1,6 +1,6 @@
import { VideoTranscodingFPS } from './video-transcoding-fps.model'
export enum VideoResolution {
export const enum VideoResolution {
H_NOVIDEO = 0,
H_240P = 240,
H_360P = 360,

View file

@ -1,4 +1,4 @@
export enum VideoState {
export const enum VideoState {
PUBLISHED = 1,
TO_TRANSCODE = 2,
TO_IMPORT = 3

View file

@ -1,3 +1,3 @@
export enum VideoStreamingPlaylistType {
export const enum VideoStreamingPlaylistType {
HLS = 1
}