mirror of
https://github.com/Chocobozzz/PeerTube.git
synced 2025-10-05 02:39:33 +02:00
Stricter models typing
This commit is contained in:
parent
9a320a06b6
commit
16c016e8b1
54 changed files with 148 additions and 95 deletions
|
@ -323,14 +323,20 @@ async function updateUser (req: express.Request, res: express.Response) {
|
|||
const oldUserAuditView = new UserAuditView(userToUpdate.toFormattedJSON())
|
||||
const roleChanged = body.role !== undefined && body.role !== userToUpdate.role
|
||||
|
||||
if (body.password !== undefined) userToUpdate.password = body.password
|
||||
if (body.email !== undefined) userToUpdate.email = body.email
|
||||
if (body.emailVerified !== undefined) userToUpdate.emailVerified = body.emailVerified
|
||||
if (body.videoQuota !== undefined) userToUpdate.videoQuota = body.videoQuota
|
||||
if (body.videoQuotaDaily !== undefined) userToUpdate.videoQuotaDaily = body.videoQuotaDaily
|
||||
if (body.role !== undefined) userToUpdate.role = body.role
|
||||
if (body.adminFlags !== undefined) userToUpdate.adminFlags = body.adminFlags
|
||||
if (body.pluginAuth !== undefined) userToUpdate.pluginAuth = body.pluginAuth
|
||||
const keysToUpdate: (keyof UserUpdate)[] = [
|
||||
'password',
|
||||
'email',
|
||||
'emailVerified',
|
||||
'videoQuota',
|
||||
'videoQuotaDaily',
|
||||
'role',
|
||||
'adminFlags',
|
||||
'pluginAuth'
|
||||
]
|
||||
|
||||
for (const key of keysToUpdate) {
|
||||
if (body[key] !== undefined) userToUpdate.set(key, body[key])
|
||||
}
|
||||
|
||||
const user = await userToUpdate.save()
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ import * as parseTorrent from 'parse-torrent'
|
|||
import { join } from 'path'
|
||||
import { getEnabledResolutions } from '@server/lib/config'
|
||||
import { setVideoTags } from '@server/lib/video'
|
||||
import { FilteredModelAttributes } from '@server/types'
|
||||
import {
|
||||
MChannelAccountDefault,
|
||||
MThumbnail,
|
||||
|
@ -15,7 +16,7 @@ import {
|
|||
MVideoThumbnail,
|
||||
MVideoWithBlacklistLight
|
||||
} from '@server/types/models'
|
||||
import { MVideoImport, MVideoImportFormattable } from '@server/types/models/video/video-import'
|
||||
import { MVideoImportFormattable } from '@server/types/models/video/video-import'
|
||||
import { ServerErrorCode, VideoImportCreate, VideoImportState, VideoPrivacy, VideoState } from '../../../../shared'
|
||||
import { HttpStatusCode } from '../../../../shared/core-utils/miscs/http-error-codes'
|
||||
import { ThumbnailType } from '../../../../shared/models/videos/thumbnail.type'
|
||||
|
@ -253,7 +254,9 @@ function buildVideo (channelId: number, body: VideoImportCreate, importData: You
|
|||
privacy: body.privacy || VideoPrivacy.PRIVATE,
|
||||
duration: 0, // duration will be set by the import job
|
||||
channelId: channelId,
|
||||
originallyPublishedAt: body.originallyPublishedAt || importData.originallyPublishedAt
|
||||
originallyPublishedAt: body.originallyPublishedAt
|
||||
? new Date(body.originallyPublishedAt)
|
||||
: importData.originallyPublishedAt
|
||||
}
|
||||
const video = new VideoModel(videoData)
|
||||
video.url = getLocalVideoActivityPubUrl(video)
|
||||
|
@ -317,7 +320,7 @@ async function insertIntoDB (parameters: {
|
|||
previewModel: MThumbnail
|
||||
videoChannel: MChannelAccountDefault
|
||||
tags: string[]
|
||||
videoImportAttributes: Partial<MVideoImport>
|
||||
videoImportAttributes: FilteredModelAttributes<VideoImportModel>
|
||||
user: MUser
|
||||
}): Promise<MVideoImportFormattable> {
|
||||
const { video, thumbnailModel, previewModel, videoChannel, tags, videoImportAttributes, user } = parameters
|
||||
|
|
|
@ -308,7 +308,7 @@ async function addVideo (options: {
|
|||
if (videoInfo.scheduleUpdate) {
|
||||
await ScheduleVideoUpdateModel.create({
|
||||
videoId: video.id,
|
||||
updateAt: videoInfo.scheduleUpdate.updateAt,
|
||||
updateAt: new Date(videoInfo.scheduleUpdate.updateAt),
|
||||
privacy: videoInfo.scheduleUpdate.privacy || null
|
||||
}, { transaction: t })
|
||||
}
|
||||
|
@ -435,7 +435,7 @@ async function updateVideo (req: express.Request, res: express.Response) {
|
|||
if (videoInfoToUpdate.scheduleUpdate) {
|
||||
await ScheduleVideoUpdateModel.upsert({
|
||||
videoId: videoInstanceUpdated.id,
|
||||
updateAt: videoInfoToUpdate.scheduleUpdate.updateAt,
|
||||
updateAt: new Date(videoInfoToUpdate.scheduleUpdate.updateAt),
|
||||
privacy: videoInfoToUpdate.scheduleUpdate.privacy || null
|
||||
}, { transaction: t })
|
||||
} else if (videoInfoToUpdate.scheduleUpdate === null) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue