Move normalize functions in helpers

pull/559/head
Chocobozzz 2018-05-11 15:55:39 +02:00
parent 5cf1350011
commit 938d3fa0ff
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
4 changed files with 26 additions and 26 deletions

View File

@ -1,7 +1,7 @@
import * as validator from 'validator'
import { CONSTRAINTS_FIELDS } from '../../../initializers'
import { normalizeActor } from '../../../lib/activitypub'
import { exists } from '../misc'
import { truncate } from 'lodash'
import { isActivityPubUrlValid, isBaseActivityValid, setValidAttributedTo } from './misc'
function isActorEndpointsObjectValid (endpointObject: any) {
@ -91,9 +91,28 @@ function isActorUpdateActivityValid (activity: any) {
isActorObjectValid(activity.object)
}
function normalizeActor (actor: any) {
if (!actor) return
if (typeof actor.url !== 'string') {
actor.url = actor.url.href || actor.url.url
}
if (actor.summary && typeof actor.summary === 'string') {
actor.summary = truncate(actor.summary, { length: CONSTRAINTS_FIELDS.USERS.DESCRIPTION.max })
if (actor.summary.length < CONSTRAINTS_FIELDS.USERS.DESCRIPTION.min) {
actor.summary = null
}
}
return
}
// ---------------------------------------------------------------------------
export {
normalizeActor,
isActorEndpointsObjectValid,
isActorPublicKeyObjectValid,
isActorTypeValid,

View File

@ -46,7 +46,7 @@ function isCommentContentValid (content: any) {
function normalizeComment (comment: any) {
if (!comment) return
if (!comment.url || typeof comment.url !== 'string') {
if (typeof comment.url !== 'string') {
comment.url = comment.url.href || comment.url.url
}

View File

@ -6,20 +6,19 @@ import * as uuidv4 from 'uuid/v4'
import { ActivityPubActor, ActivityPubActorType } from '../../../shared/models/activitypub'
import { ActivityPubAttributedTo } from '../../../shared/models/activitypub/objects'
import { getActorUrl } from '../../helpers/activitypub'
import { isActorObjectValid } from '../../helpers/custom-validators/activitypub/actor'
import { isActorObjectValid, normalizeActor } from '../../helpers/custom-validators/activitypub/actor'
import { isActivityPubUrlValid } from '../../helpers/custom-validators/activitypub/misc'
import { retryTransactionWrapper, updateInstanceWithAnother } from '../../helpers/database-utils'
import { logger } from '../../helpers/logger'
import { createPrivateAndPublicKeys } from '../../helpers/peertube-crypto'
import { doRequest, doRequestAndSaveToFile } from '../../helpers/requests'
import { getUrlFromWebfinger } from '../../helpers/webfinger'
import { IMAGE_MIMETYPE_EXT, CONFIG, sequelizeTypescript, CONSTRAINTS_FIELDS } from '../../initializers'
import { CONFIG, IMAGE_MIMETYPE_EXT, sequelizeTypescript } from '../../initializers'
import { AccountModel } from '../../models/account/account'
import { ActorModel } from '../../models/activitypub/actor'
import { AvatarModel } from '../../models/avatar/avatar'
import { ServerModel } from '../../models/server/server'
import { VideoChannelModel } from '../../models/video/video-channel'
import { truncate } from 'lodash'
// Set account keys, this could be long so process after the account creation and do not block the client
function setAsyncActorKeys (actor: ActorModel) {
@ -170,24 +169,6 @@ async function fetchAvatarIfExists (actorJSON: ActivityPubActor) {
return undefined
}
function normalizeActor (actor: any) {
if (!actor) return
if (!actor.url || typeof actor.url !== 'string') {
actor.url = actor.url.href || actor.url.url
}
if (actor.summary && typeof actor.summary === 'string') {
actor.summary = truncate(actor.summary, { length: CONSTRAINTS_FIELDS.USERS.DESCRIPTION.max })
if (actor.summary.length < CONSTRAINTS_FIELDS.USERS.DESCRIPTION.min) {
actor.summary = null
}
}
return
}
export {
getOrCreateActorAndServerAndModel,
buildActorInstance,
@ -195,8 +176,7 @@ export {
fetchActorTotalItems,
fetchAvatarIfExists,
updateActorInstance,
updateActorAvatarInstance,
normalizeActor
updateActorAvatarInstance
}
// ---------------------------------------------------------------------------

View File

@ -306,7 +306,8 @@ export {
videoFileActivityUrlToDBAttributes,
getOrCreateVideo,
getOrCreateVideoChannel,
addVideoShares}
addVideoShares
}
// ---------------------------------------------------------------------------