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 * as validator from 'validator'
import { CONSTRAINTS_FIELDS } from '../../../initializers' import { CONSTRAINTS_FIELDS } from '../../../initializers'
import { normalizeActor } from '../../../lib/activitypub'
import { exists } from '../misc' import { exists } from '../misc'
import { truncate } from 'lodash'
import { isActivityPubUrlValid, isBaseActivityValid, setValidAttributedTo } from './misc' import { isActivityPubUrlValid, isBaseActivityValid, setValidAttributedTo } from './misc'
function isActorEndpointsObjectValid (endpointObject: any) { function isActorEndpointsObjectValid (endpointObject: any) {
@ -91,9 +91,28 @@ function isActorUpdateActivityValid (activity: any) {
isActorObjectValid(activity.object) 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 { export {
normalizeActor,
isActorEndpointsObjectValid, isActorEndpointsObjectValid,
isActorPublicKeyObjectValid, isActorPublicKeyObjectValid,
isActorTypeValid, isActorTypeValid,

View File

@ -46,7 +46,7 @@ function isCommentContentValid (content: any) {
function normalizeComment (comment: any) { function normalizeComment (comment: any) {
if (!comment) return if (!comment) return
if (!comment.url || typeof comment.url !== 'string') { if (typeof comment.url !== 'string') {
comment.url = comment.url.href || comment.url.url 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 { ActivityPubActor, ActivityPubActorType } from '../../../shared/models/activitypub'
import { ActivityPubAttributedTo } from '../../../shared/models/activitypub/objects' import { ActivityPubAttributedTo } from '../../../shared/models/activitypub/objects'
import { getActorUrl } from '../../helpers/activitypub' 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 { isActivityPubUrlValid } from '../../helpers/custom-validators/activitypub/misc'
import { retryTransactionWrapper, updateInstanceWithAnother } from '../../helpers/database-utils' import { retryTransactionWrapper, updateInstanceWithAnother } from '../../helpers/database-utils'
import { logger } from '../../helpers/logger' import { logger } from '../../helpers/logger'
import { createPrivateAndPublicKeys } from '../../helpers/peertube-crypto' import { createPrivateAndPublicKeys } from '../../helpers/peertube-crypto'
import { doRequest, doRequestAndSaveToFile } from '../../helpers/requests' import { doRequest, doRequestAndSaveToFile } from '../../helpers/requests'
import { getUrlFromWebfinger } from '../../helpers/webfinger' 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 { AccountModel } from '../../models/account/account'
import { ActorModel } from '../../models/activitypub/actor' import { ActorModel } from '../../models/activitypub/actor'
import { AvatarModel } from '../../models/avatar/avatar' import { AvatarModel } from '../../models/avatar/avatar'
import { ServerModel } from '../../models/server/server' import { ServerModel } from '../../models/server/server'
import { VideoChannelModel } from '../../models/video/video-channel' 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 // Set account keys, this could be long so process after the account creation and do not block the client
function setAsyncActorKeys (actor: ActorModel) { function setAsyncActorKeys (actor: ActorModel) {
@ -170,24 +169,6 @@ async function fetchAvatarIfExists (actorJSON: ActivityPubActor) {
return undefined 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 { export {
getOrCreateActorAndServerAndModel, getOrCreateActorAndServerAndModel,
buildActorInstance, buildActorInstance,
@ -195,8 +176,7 @@ export {
fetchActorTotalItems, fetchActorTotalItems,
fetchAvatarIfExists, fetchAvatarIfExists,
updateActorInstance, updateActorInstance,
updateActorAvatarInstance, updateActorAvatarInstance
normalizeActor
} }
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------

View File

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