diff --git a/server/controllers/api/users/me.ts b/server/controllers/api/users/me.ts index 1125771d4..127b7ca5d 100644 --- a/server/controllers/api/users/me.ts +++ b/server/controllers/api/users/me.ts @@ -2,7 +2,7 @@ import 'multer' import express from 'express' import { auditLoggerFactory, getAuditIdFromRes, UserAuditView } from '@server/helpers/audit-logger' import { Hooks } from '@server/lib/plugins/hooks' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { ActorImageType, UserUpdateMe, UserVideoRate as FormattedUserVideoRate } from '../../../../shared' import { HttpStatusCode } from '../../../../shared/models/http/http-error-codes' import { UserVideoQuota } from '../../../../shared/models/users/user-video-quota.model' diff --git a/server/lib/activitypub/playlists/create-update.ts b/server/lib/activitypub/playlists/create-update.ts index b152d709c..ef572c803 100644 --- a/server/lib/activitypub/playlists/create-update.ts +++ b/server/lib/activitypub/playlists/create-update.ts @@ -9,7 +9,7 @@ import { VideoPlaylistModel } from '@server/models/video/video-playlist' import { VideoPlaylistElementModel } from '@server/models/video/video-playlist-element' import { FilteredModelAttributes } from '@server/types' import { MThumbnail, MVideoPlaylist, MVideoPlaylistFull, MVideoPlaylistVideosLength } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { PlaylistObject } from '@shared/models' import { getOrCreateAPActor } from '../actors' import { crawlCollectionPage } from '../crawl' diff --git a/server/lib/activitypub/playlists/shared/object-to-model-attributes.ts b/server/lib/activitypub/playlists/shared/object-to-model-attributes.ts index 70fd335bc..753b5e660 100644 --- a/server/lib/activitypub/playlists/shared/object-to-model-attributes.ts +++ b/server/lib/activitypub/playlists/shared/object-to-model-attributes.ts @@ -2,7 +2,7 @@ import { ACTIVITY_PUB } from '@server/initializers/constants' import { VideoPlaylistModel } from '@server/models/video/video-playlist' import { VideoPlaylistElementModel } from '@server/models/video/video-playlist-element' import { MVideoId, MVideoPlaylistId } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { PlaylistElementObject, PlaylistObject, VideoPlaylistPrivacy } from '@shared/models' function playlistObjectToDBAttributes (playlistObject: PlaylistObject, to: string[]) { diff --git a/server/models/abuse/abuse-message.ts b/server/models/abuse/abuse-message.ts index 2c5987e96..6a441a210 100644 --- a/server/models/abuse/abuse-message.ts +++ b/server/models/abuse/abuse-message.ts @@ -1,7 +1,7 @@ import { AllowNull, BelongsTo, Column, CreatedAt, DataType, ForeignKey, Is, Model, Table, UpdatedAt } from 'sequelize-typescript' import { isAbuseMessageValid } from '@server/helpers/custom-validators/abuses' import { MAbuseMessage, MAbuseMessageFormattable } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { AbuseMessage } from '@shared/models' import { AccountModel, ScopeNames as AccountScopeNames } from '../account/account' import { getSort, throwIfNotValid } from '../utils' diff --git a/server/models/abuse/abuse.ts b/server/models/abuse/abuse.ts index 3518f5c02..4344df006 100644 --- a/server/models/abuse/abuse.ts +++ b/server/models/abuse/abuse.ts @@ -16,7 +16,7 @@ import { UpdatedAt } from 'sequelize-typescript' import { isAbuseModerationCommentValid, isAbuseReasonValid, isAbuseStateValid } from '@server/helpers/custom-validators/abuses' -import { abusePredefinedReasonsMap, AttributesOnly } from '@shared/core-utils' +import { abusePredefinedReasonsMap } from '@shared/core-utils' import { AbuseFilter, AbuseObject, @@ -30,6 +30,7 @@ import { UserAbuse, UserVideoAbuse } from '@shared/models' +import { AttributesOnly } from '@shared/typescript-utils' import { ABUSE_STATES, CONSTRAINTS_FIELDS } from '../../initializers/constants' import { MAbuseAdminFormattable, MAbuseAP, MAbuseFull, MAbuseReporter, MAbuseUserFormattable, MUserAccountId } from '../../types/models' import { AccountModel, ScopeNames as AccountScopeNames, SummaryOptions as AccountSummaryOptions } from '../account/account' diff --git a/server/models/abuse/video-abuse.ts b/server/models/abuse/video-abuse.ts index 95bff50d0..773a9ebba 100644 --- a/server/models/abuse/video-abuse.ts +++ b/server/models/abuse/video-abuse.ts @@ -1,5 +1,5 @@ import { AllowNull, BelongsTo, Column, CreatedAt, DataType, Default, ForeignKey, Model, Table, UpdatedAt } from 'sequelize-typescript' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoDetails } from '@shared/models' import { VideoModel } from '../video/video' import { AbuseModel } from './abuse' diff --git a/server/models/abuse/video-comment-abuse.ts b/server/models/abuse/video-comment-abuse.ts index 32cb2ca64..337aaaa58 100644 --- a/server/models/abuse/video-comment-abuse.ts +++ b/server/models/abuse/video-comment-abuse.ts @@ -1,5 +1,5 @@ import { BelongsTo, Column, CreatedAt, ForeignKey, Model, Table, UpdatedAt } from 'sequelize-typescript' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoCommentModel } from '../video/video-comment' import { AbuseModel } from './abuse' diff --git a/server/models/account/account-blocklist.ts b/server/models/account/account-blocklist.ts index 21983428a..1162962bf 100644 --- a/server/models/account/account-blocklist.ts +++ b/server/models/account/account-blocklist.ts @@ -2,7 +2,7 @@ import { Op, QueryTypes } from 'sequelize' import { BelongsTo, Column, CreatedAt, ForeignKey, Model, Scopes, Table, UpdatedAt } from 'sequelize-typescript' import { handlesToNameAndHost } from '@server/helpers/actors' import { MAccountBlocklist, MAccountBlocklistAccounts, MAccountBlocklistFormattable } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { AccountBlock } from '../../../shared/models' import { ActorModel } from '../actor/actor' import { ServerModel } from '../server/server' diff --git a/server/models/account/account-video-rate.ts b/server/models/account/account-video-rate.ts index ee6dbc6da..218561952 100644 --- a/server/models/account/account-video-rate.ts +++ b/server/models/account/account-video-rate.ts @@ -7,7 +7,7 @@ import { MAccountVideoRateAccountVideo, MAccountVideoRateFormattable } from '@server/types/models/video/video-rate' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { AccountVideoRate } from '../../../shared' import { VideoRateType } from '../../../shared/models/videos' import { isActivityPubUrlValid } from '../../helpers/custom-validators/activitypub/misc' diff --git a/server/models/account/account.ts b/server/models/account/account.ts index 71a9b8ccb..619a598dd 100644 --- a/server/models/account/account.ts +++ b/server/models/account/account.ts @@ -17,7 +17,7 @@ import { UpdatedAt } from 'sequelize-typescript' import { ModelCache } from '@server/models/model-cache' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { Account, AccountSummary } from '../../../shared/models/actors' import { isAccountDescriptionValid } from '../../helpers/custom-validators/accounts' import { CONSTRAINTS_FIELDS, SERVER_ACTOR_NAME, WEBSERVER } from '../../initializers/constants' diff --git a/server/models/actor/actor-follow.ts b/server/models/actor/actor-follow.ts index d6a2387a5..006282530 100644 --- a/server/models/actor/actor-follow.ts +++ b/server/models/actor/actor-follow.ts @@ -30,7 +30,7 @@ import { MActorFollowFormattable, MActorFollowSubscriptions } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { ActivityPubActorType } from '@shared/models' import { FollowState } from '../../../shared/models/actors' import { ActorFollow } from '../../../shared/models/actors/follow.model' diff --git a/server/models/actor/actor-image.ts b/server/models/actor/actor-image.ts index 98a7f6fba..8edff5ab4 100644 --- a/server/models/actor/actor-image.ts +++ b/server/models/actor/actor-image.ts @@ -2,7 +2,7 @@ import { remove } from 'fs-extra' import { join } from 'path' import { AfterDestroy, AllowNull, Column, CreatedAt, Default, Is, Model, Table, UpdatedAt } from 'sequelize-typescript' import { MActorImageFormattable } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { ActorImageType } from '@shared/models' import { ActorImage } from '../../../shared/models/actors/actor-image.model' import { isActivityPubUrlValid } from '../../helpers/custom-validators/activitypub/misc' diff --git a/server/models/actor/actor.ts b/server/models/actor/actor.ts index cbd3f0e4a..c12dcf634 100644 --- a/server/models/actor/actor.ts +++ b/server/models/actor/actor.ts @@ -17,7 +17,8 @@ import { UpdatedAt } from 'sequelize-typescript' import { ModelCache } from '@server/models/model-cache' -import { getLowercaseExtension, AttributesOnly } from '@shared/core-utils' +import { getLowercaseExtension } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { ActivityIconObject, ActivityPubActorType } from '../../../shared/models/activitypub' import { ActorImage } from '../../../shared/models/actors/actor-image.model' import { activityPubContextify } from '../../helpers/activitypub' diff --git a/server/models/application/application.ts b/server/models/application/application.ts index e3939383b..a479de5d2 100644 --- a/server/models/application/application.ts +++ b/server/models/application/application.ts @@ -1,6 +1,6 @@ import memoizee from 'memoizee' import { AllowNull, Column, Default, DefaultScope, HasOne, IsInt, Model, Table } from 'sequelize-typescript' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { AccountModel } from '../account/account' export const getServerActor = memoizee(async function () { diff --git a/server/models/oauth/oauth-client.ts b/server/models/oauth/oauth-client.ts index 890954bdb..860fa6f53 100644 --- a/server/models/oauth/oauth-client.ts +++ b/server/models/oauth/oauth-client.ts @@ -1,5 +1,5 @@ import { AllowNull, Column, CreatedAt, DataType, HasMany, Model, Table, UpdatedAt } from 'sequelize-typescript' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { OAuthTokenModel } from './oauth-token' @Table({ diff --git a/server/models/oauth/oauth-token.ts b/server/models/oauth/oauth-token.ts index af4b0ec42..f72423190 100644 --- a/server/models/oauth/oauth-token.ts +++ b/server/models/oauth/oauth-token.ts @@ -15,7 +15,7 @@ import { import { TokensCache } from '@server/lib/auth/tokens-cache' import { MUserAccountId } from '@server/types/models' import { MOAuthTokenUser } from '@server/types/models/oauth/oauth-token' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { logger } from '../../helpers/logger' import { AccountModel } from '../account/account' import { ActorModel } from '../actor/actor' diff --git a/server/models/redundancy/video-redundancy.ts b/server/models/redundancy/video-redundancy.ts index e8d79a3ab..7e4c7ddf2 100644 --- a/server/models/redundancy/video-redundancy.ts +++ b/server/models/redundancy/video-redundancy.ts @@ -16,7 +16,7 @@ import { } from 'sequelize-typescript' import { getServerActor } from '@server/models/application/application' import { MActor, MVideoForRedundancyAPI, MVideoRedundancy, MVideoRedundancyAP, MVideoRedundancyVideo } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoRedundanciesTarget } from '@shared/models/redundancy/video-redundancies-filters.model' import { FileRedundancyInformation, diff --git a/server/models/server/plugin.ts b/server/models/server/plugin.ts index c79178782..84f7a14e4 100644 --- a/server/models/server/plugin.ts +++ b/server/models/server/plugin.ts @@ -1,7 +1,7 @@ import { FindAndCountOptions, json, QueryTypes } from 'sequelize' import { AllowNull, Column, CreatedAt, DataType, DefaultScope, Is, Model, Table, UpdatedAt } from 'sequelize-typescript' import { MPlugin, MPluginFormattable } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { PeerTubePlugin, PluginType, RegisterServerSettingOptions } from '../../../shared/models' import { isPluginDescriptionValid, diff --git a/server/models/server/server-blocklist.ts b/server/models/server/server-blocklist.ts index 092998db3..9f64eeb7f 100644 --- a/server/models/server/server-blocklist.ts +++ b/server/models/server/server-blocklist.ts @@ -1,7 +1,7 @@ import { Op, QueryTypes } from 'sequelize' import { BelongsTo, Column, CreatedAt, ForeignKey, Model, Scopes, Table, UpdatedAt } from 'sequelize-typescript' import { MServerBlocklist, MServerBlocklistAccountServer, MServerBlocklistFormattable } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { ServerBlock } from '@shared/models' import { AccountModel } from '../account/account' import { createSafeIn, getSort, searchAttribute } from '../utils' diff --git a/server/models/server/server.ts b/server/models/server/server.ts index edbe92f73..ef42de090 100644 --- a/server/models/server/server.ts +++ b/server/models/server/server.ts @@ -1,7 +1,7 @@ import { Transaction } from 'sequelize' import { AllowNull, Column, CreatedAt, Default, HasMany, Is, Model, Table, UpdatedAt } from 'sequelize-typescript' import { MServer, MServerFormattable } from '@server/types/models/server' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { isHostValid } from '../../helpers/custom-validators/servers' import { ActorModel } from '../actor/actor' import { throwIfNotValid } from '../utils' diff --git a/server/models/server/tracker.ts b/server/models/server/tracker.ts index c09fdd64b..ee087c4a3 100644 --- a/server/models/server/tracker.ts +++ b/server/models/server/tracker.ts @@ -1,7 +1,7 @@ import { AllowNull, BelongsToMany, Column, CreatedAt, Model, Table, UpdatedAt } from 'sequelize-typescript' import { Transaction } from 'sequelize/types' import { MTracker } from '@server/types/models/server/tracker' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoModel } from '../video/video' import { VideoTrackerModel } from './video-tracker' diff --git a/server/models/server/video-tracker.ts b/server/models/server/video-tracker.ts index c49fbd1c6..f14f3bd7d 100644 --- a/server/models/server/video-tracker.ts +++ b/server/models/server/video-tracker.ts @@ -1,5 +1,5 @@ import { Column, CreatedAt, ForeignKey, Model, Table, UpdatedAt } from 'sequelize-typescript' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoModel } from '../video/video' import { TrackerModel } from './tracker' diff --git a/server/models/user/user-notification-setting.ts b/server/models/user/user-notification-setting.ts index bee7d7851..f03b19e41 100644 --- a/server/models/user/user-notification-setting.ts +++ b/server/models/user/user-notification-setting.ts @@ -14,7 +14,7 @@ import { } from 'sequelize-typescript' import { TokensCache } from '@server/lib/auth/tokens-cache' import { MNotificationSettingFormattable } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { UserNotificationSetting, UserNotificationSettingValue } from '../../../shared/models/users/user-notification-setting.model' import { isUserNotificationSettingValid } from '../../helpers/custom-validators/user-notifications' import { throwIfNotValid } from '../utils' diff --git a/server/models/user/user-notification.ts b/server/models/user/user-notification.ts index 55d65d6b2..4a9a84a5b 100644 --- a/server/models/user/user-notification.ts +++ b/server/models/user/user-notification.ts @@ -2,7 +2,7 @@ import { FindOptions, ModelIndexesOptions, Op, WhereOptions } from 'sequelize' import { AllowNull, BelongsTo, Column, CreatedAt, Default, ForeignKey, Is, Model, Scopes, Table, UpdatedAt } from 'sequelize-typescript' import { uuidToShort } from '@shared/core-utils/uuid' import { UserNotificationIncludes, UserNotificationModelForApi } from '@server/types/models/user' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { UserNotification, UserNotificationType } from '../../../shared' import { isBooleanValid } from '../../helpers/custom-validators/misc' import { isUserNotificationTypeValid } from '../../helpers/custom-validators/user-notifications' diff --git a/server/models/user/user-video-history.ts b/server/models/user/user-video-history.ts index 1aefdf02b..6d9f2e03f 100644 --- a/server/models/user/user-video-history.ts +++ b/server/models/user/user-video-history.ts @@ -1,7 +1,7 @@ import { DestroyOptions, Op, Transaction } from 'sequelize' import { AllowNull, BelongsTo, Column, CreatedAt, ForeignKey, IsInt, Model, Table, UpdatedAt } from 'sequelize-typescript' import { MUserAccountId, MUserId } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoModel } from '../video/video' import { UserModel } from './user' import { getServerActor } from '../application/application' diff --git a/server/models/user/user.ts b/server/models/user/user.ts index 88c3ff528..4ad76e5bc 100644 --- a/server/models/user/user.ts +++ b/server/models/user/user.ts @@ -31,7 +31,7 @@ import { MUserWithNotificationSetting, MVideoWithRights } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { hasUserRight, USER_ROLE_LABELS } from '../../../shared/core-utils/users' import { AbuseState, MyUser, UserRight, VideoPlaylistType, VideoPrivacy } from '../../../shared/models' import { User, UserRole } from '../../../shared/models/users' diff --git a/server/models/video/schedule-video-update.ts b/server/models/video/schedule-video-update.ts index d462c20c7..b3cf26966 100644 --- a/server/models/video/schedule-video-update.ts +++ b/server/models/video/schedule-video-update.ts @@ -1,7 +1,7 @@ import { Op, Transaction } from 'sequelize' import { AllowNull, BelongsTo, Column, CreatedAt, Default, ForeignKey, Model, Table, UpdatedAt } from 'sequelize-typescript' import { MScheduleVideoUpdateFormattable, MScheduleVideoUpdate } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoPrivacy } from '../../../shared/models/videos' import { VideoModel } from './video' diff --git a/server/models/video/tag.ts b/server/models/video/tag.ts index 61dfb224d..7900e070d 100644 --- a/server/models/video/tag.ts +++ b/server/models/video/tag.ts @@ -1,7 +1,7 @@ import { col, fn, QueryTypes, Transaction } from 'sequelize' import { AllowNull, BelongsToMany, Column, CreatedAt, Is, Model, Table, UpdatedAt } from 'sequelize-typescript' import { MTag } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoPrivacy, VideoState } from '../../../shared/models/videos' import { isVideoTagValid } from '../../helpers/custom-validators/videos' import { throwIfNotValid } from '../utils' diff --git a/server/models/video/thumbnail.ts b/server/models/video/thumbnail.ts index 3388478d9..05c58cf19 100644 --- a/server/models/video/thumbnail.ts +++ b/server/models/video/thumbnail.ts @@ -17,7 +17,7 @@ import { } from 'sequelize-typescript' import { afterCommitIfTransaction } from '@server/helpers/database-utils' import { MThumbnail, MThumbnailVideo, MVideo } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { ThumbnailType } from '../../../shared/models/videos/thumbnail.type' import { logger } from '../../helpers/logger' import { CONFIG } from '../../initializers/config' diff --git a/server/models/video/video-blacklist.ts b/server/models/video/video-blacklist.ts index 98f4ec9c5..1cd8224c0 100644 --- a/server/models/video/video-blacklist.ts +++ b/server/models/video/video-blacklist.ts @@ -1,7 +1,7 @@ import { FindOptions } from 'sequelize' import { AllowNull, BelongsTo, Column, CreatedAt, DataType, Default, ForeignKey, Is, Model, Table, UpdatedAt } from 'sequelize-typescript' import { MVideoBlacklist, MVideoBlacklistFormattable } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoBlacklist, VideoBlacklistType } from '../../../shared/models/videos' import { isVideoBlacklistReasonValid, isVideoBlacklistTypeValid } from '../../helpers/custom-validators/video-blacklist' import { CONSTRAINTS_FIELDS } from '../../initializers/constants' diff --git a/server/models/video/video-caption.ts b/server/models/video/video-caption.ts index 590e72e52..642613cfe 100644 --- a/server/models/video/video-caption.ts +++ b/server/models/video/video-caption.ts @@ -17,7 +17,7 @@ import { } from 'sequelize-typescript' import { buildUUID } from '@shared/core-utils/uuid' import { MVideo, MVideoCaption, MVideoCaptionFormattable, MVideoCaptionVideo } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoCaption } from '../../../shared/models/videos/caption/video-caption.model' import { isVideoCaptionLanguageValid } from '../../helpers/custom-validators/video-captions' import { logger } from '../../helpers/logger' diff --git a/server/models/video/video-change-ownership.ts b/server/models/video/video-change-ownership.ts index 7d20a954d..1a1b8c88d 100644 --- a/server/models/video/video-change-ownership.ts +++ b/server/models/video/video-change-ownership.ts @@ -1,6 +1,6 @@ import { AllowNull, BelongsTo, Column, CreatedAt, ForeignKey, Model, Scopes, Table, UpdatedAt } from 'sequelize-typescript' import { MVideoChangeOwnershipFormattable, MVideoChangeOwnershipFull } from '@server/types/models/video/video-change-ownership' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoChangeOwnership, VideoChangeOwnershipStatus } from '../../../shared/models/videos' import { AccountModel } from '../account/account' import { getSort } from '../utils' diff --git a/server/models/video/video-channel.ts b/server/models/video/video-channel.ts index b652d8531..2c6669bcb 100644 --- a/server/models/video/video-channel.ts +++ b/server/models/video/video-channel.ts @@ -17,8 +17,10 @@ import { Table, UpdatedAt } from 'sequelize-typescript' +import { CONFIG } from '@server/initializers/config' import { MAccountActor } from '@server/types/models' -import { AttributesOnly, pick } from '@shared/core-utils' +import { pick } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { ActivityPubActor } from '../../../shared/models/activitypub' import { VideoChannel, VideoChannelSummary } from '../../../shared/models/videos' import { @@ -44,7 +46,6 @@ import { setAsUpdated } from '../shared' import { buildServerIdsFollowedBy, buildTrigramSearchIndex, createSimilarityAttribute, getSort, throwIfNotValid } from '../utils' import { VideoModel } from './video' import { VideoPlaylistModel } from './video-playlist' -import { CONFIG } from '@server/initializers/config' export enum ScopeNames { FOR_API = 'FOR_API', diff --git a/server/models/video/video-comment.ts b/server/models/video/video-comment.ts index c89279c65..7f28b86b4 100644 --- a/server/models/video/video-comment.ts +++ b/server/models/video/video-comment.ts @@ -16,7 +16,7 @@ import { } from 'sequelize-typescript' import { getServerActor } from '@server/models/application/application' import { MAccount, MAccountId, MUserAccountId } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoPrivacy } from '@shared/models' import { ActivityTagObject, ActivityTombstoneObject } from '../../../shared/models/activitypub/objects/common-objects' import { VideoCommentObject } from '../../../shared/models/activitypub/objects/video-comment-object' diff --git a/server/models/video/video-file.ts b/server/models/video/video-file.ts index 87311c0ed..2b5ec3a20 100644 --- a/server/models/video/video-file.ts +++ b/server/models/video/video-file.ts @@ -26,7 +26,7 @@ import { extractVideo } from '@server/helpers/video' import { getHLSPublicFileUrl, getWebTorrentPublicFileUrl } from '@server/lib/object-storage' import { getFSTorrentFilePath } from '@server/lib/paths' import { isStreamingPlaylist, MStreamingPlaylistVideo, MVideo, MVideoWithHost } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoStorage } from '@shared/models' import { isVideoFileExtnameValid, diff --git a/server/models/video/video-import.ts b/server/models/video/video-import.ts index 5c73fb07c..c41085ef9 100644 --- a/server/models/video/video-import.ts +++ b/server/models/video/video-import.ts @@ -15,7 +15,7 @@ import { } from 'sequelize-typescript' import { afterCommitIfTransaction } from '@server/helpers/database-utils' import { MVideoImportDefault, MVideoImportFormattable } from '@server/types/models/video/video-import' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoImport, VideoImportState } from '../../../shared' import { isVideoImportStateValid, isVideoImportTargetUrlValid } from '../../helpers/custom-validators/video-imports' import { isVideoMagnetUriValid } from '../../helpers/custom-validators/videos' diff --git a/server/models/video/video-job-info.ts b/server/models/video/video-job-info.ts index 7da5128d7..6a67a214c 100644 --- a/server/models/video/video-job-info.ts +++ b/server/models/video/video-job-info.ts @@ -1,6 +1,6 @@ import { Op, QueryTypes, Transaction } from 'sequelize' import { AllowNull, BelongsTo, Column, CreatedAt, Default, ForeignKey, IsInt, Model, Table, Unique, UpdatedAt } from 'sequelize-typescript' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoModel } from './video' export type VideoJobInfoColumnType = 'pendingMove' | 'pendingTranscode' diff --git a/server/models/video/video-live.ts b/server/models/video/video-live.ts index 0bc8da022..e3fdcc0ba 100644 --- a/server/models/video/video-live.ts +++ b/server/models/video/video-live.ts @@ -1,7 +1,7 @@ import { AllowNull, BelongsTo, Column, CreatedAt, DataType, DefaultScope, ForeignKey, Model, Table, UpdatedAt } from 'sequelize-typescript' import { WEBSERVER } from '@server/initializers/constants' import { MVideoLive, MVideoLiveVideo } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { LiveVideo, VideoState } from '@shared/models' import { VideoModel } from './video' import { VideoBlacklistModel } from './video-blacklist' diff --git a/server/models/video/video-playlist-element.ts b/server/models/video/video-playlist-element.ts index a87b2bcae..e20e32f8b 100644 --- a/server/models/video/video-playlist-element.ts +++ b/server/models/video/video-playlist-element.ts @@ -32,7 +32,7 @@ import { AccountModel } from '../account/account' import { getSort, throwIfNotValid } from '../utils' import { ForAPIOptions, ScopeNames as VideoScopeNames, VideoModel } from './video' import { VideoPlaylistModel } from './video-playlist' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' @Table({ tableName: 'videoPlaylistElement', diff --git a/server/models/video/video-playlist.ts b/server/models/video/video-playlist.ts index d0c73cbd1..132fa0e68 100644 --- a/server/models/video/video-playlist.ts +++ b/server/models/video/video-playlist.ts @@ -17,9 +17,10 @@ import { Table, UpdatedAt } from 'sequelize-typescript' -import { buildUUID, uuidToShort } from '@shared/core-utils/uuid' import { MAccountId, MChannelId } from '@server/types/models' -import { AttributesOnly, buildPlaylistEmbedPath, buildPlaylistWatchPath, pick } from '@shared/core-utils' +import { buildPlaylistEmbedPath, buildPlaylistWatchPath, pick } from '@shared/core-utils' +import { buildUUID, uuidToShort } from '@shared/core-utils/uuid' +import { AttributesOnly } from '@shared/typescript-utils' import { ActivityIconObject } from '../../../shared/models/activitypub/objects' import { PlaylistObject } from '../../../shared/models/activitypub/objects/playlist-object' import { VideoPlaylistPrivacy } from '../../../shared/models/videos/playlist/video-playlist-privacy.model' diff --git a/server/models/video/video-share.ts b/server/models/video/video-share.ts index 505c305e2..f6659b992 100644 --- a/server/models/video/video-share.ts +++ b/server/models/video/video-share.ts @@ -1,6 +1,6 @@ import { literal, Op, QueryTypes, Transaction } from 'sequelize' import { AllowNull, BelongsTo, Column, CreatedAt, DataType, ForeignKey, Is, Model, Scopes, Table, UpdatedAt } from 'sequelize-typescript' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { isActivityPubUrlValid } from '../../helpers/custom-validators/activitypub/misc' import { CONSTRAINTS_FIELDS } from '../../initializers/constants' import { MActorDefault } from '../../types/models' diff --git a/server/models/video/video-streaming-playlist.ts b/server/models/video/video-streaming-playlist.ts index 23b3fbcbe..d813f89b5 100644 --- a/server/models/video/video-streaming-playlist.ts +++ b/server/models/video/video-streaming-playlist.ts @@ -18,7 +18,7 @@ import { import { getHLSPublicFileUrl } from '@server/lib/object-storage' import { VideoFileModel } from '@server/models/video/video-file' import { MStreamingPlaylist, MVideo } from '@server/types/models' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoStorage } from '@shared/models' import { VideoStreamingPlaylistType } from '../../../shared/models/videos/video-streaming-playlist.type' import { sha1 } from '@shared/core-utils/crypto' diff --git a/server/models/video/video-tag.ts b/server/models/video/video-tag.ts index 1285d375b..7e880c968 100644 --- a/server/models/video/video-tag.ts +++ b/server/models/video/video-tag.ts @@ -1,5 +1,5 @@ import { Column, CreatedAt, ForeignKey, Model, Table, UpdatedAt } from 'sequelize-typescript' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { TagModel } from './tag' import { VideoModel } from './video' diff --git a/server/models/video/video-view.ts b/server/models/video/video-view.ts index b51f0f84d..d72df100f 100644 --- a/server/models/video/video-view.ts +++ b/server/models/video/video-view.ts @@ -1,6 +1,6 @@ import { literal, Op } from 'sequelize' import { AllowNull, BelongsTo, Column, CreatedAt, DataType, ForeignKey, Model, Table } from 'sequelize-typescript' -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { VideoModel } from './video' @Table({ diff --git a/server/models/video/video.ts b/server/models/video/video.ts index efd4d8462..a99b012b9 100644 --- a/server/models/video/video.ts +++ b/server/models/video/video.ts @@ -25,7 +25,6 @@ import { UpdatedAt } from 'sequelize-typescript' import { buildNSFWFilter } from '@server/helpers/express-utils' -import { uuidToShort } from '@shared/core-utils/uuid' import { getPrivaciesForFederation, isPrivacyForFederation, isStateForFederation } from '@server/helpers/video' import { LiveManager } from '@server/lib/live/live-manager' import { removeHLSObjectStorage, removeWebTorrentObjectStorage } from '@server/lib/object-storage' @@ -33,8 +32,10 @@ import { getHLSDirectory, getHLSRedundancyDirectory } from '@server/lib/paths' import { VideoPathManager } from '@server/lib/video-path-manager' import { getServerActor } from '@server/models/application/application' import { ModelCache } from '@server/models/model-cache' -import { AttributesOnly, buildVideoEmbedPath, buildVideoWatchPath, pick } from '@shared/core-utils' +import { buildVideoEmbedPath, buildVideoWatchPath, pick } from '@shared/core-utils' +import { uuidToShort } from '@shared/core-utils/uuid' import { VideoFile, VideoInclude } from '@shared/models' +import { AttributesOnly } from '@shared/typescript-utils' import { ResultList, UserRight, VideoPrivacy, VideoState } from '../../../shared' import { VideoObject } from '../../../shared/models/activitypub/objects' import { Video, VideoDetails, VideoRateType, VideoStorage } from '../../../shared/models/videos' diff --git a/server/types/models/abuse/abuse-message.ts b/server/types/models/abuse/abuse-message.ts index 565eca706..2d7d09316 100644 --- a/server/types/models/abuse/abuse-message.ts +++ b/server/types/models/abuse/abuse-message.ts @@ -1,5 +1,5 @@ import { AbuseMessageModel } from '@server/models/abuse/abuse-message' -import { PickWith } from '@shared/core-utils' +import { PickWith } from '@shared/typescript-utils' import { AbuseModel } from '../../../models/abuse/abuse' import { MAccountFormattable } from '../account' diff --git a/server/types/models/abuse/abuse.ts b/server/types/models/abuse/abuse.ts index 6fd83684c..1b45b3879 100644 --- a/server/types/models/abuse/abuse.ts +++ b/server/types/models/abuse/abuse.ts @@ -1,7 +1,7 @@ import { VideoAbuseModel } from '@server/models/abuse/video-abuse' import { VideoCommentAbuseModel } from '@server/models/abuse/video-comment-abuse' import { VideoCommentModel } from '@server/models/video/video-comment' -import { PickWith } from '@shared/core-utils' +import { PickWith } from '@shared/typescript-utils' import { AbuseModel } from '../../../models/abuse/abuse' import { MAccountDefault, MAccountFormattable, MAccountLight, MAccountUrl } from '../account' import { MComment, MCommentOwner, MCommentUrl, MCommentVideo, MVideoUrl } from '../video' diff --git a/server/types/models/account/account-blocklist.ts b/server/types/models/account/account-blocklist.ts index 3126fd0ab..9dae10915 100644 --- a/server/types/models/account/account-blocklist.ts +++ b/server/types/models/account/account-blocklist.ts @@ -1,5 +1,5 @@ import { AccountBlocklistModel } from '../../../models/account/account-blocklist' -import { PickWith } from '@shared/core-utils' +import { PickWith } from '@shared/typescript-utils' import { MAccountDefault, MAccountFormattable } from './account' type Use = PickWith diff --git a/server/types/models/account/account.ts b/server/types/models/account/account.ts index 71f6c79aa..282a2971b 100644 --- a/server/types/models/account/account.ts +++ b/server/types/models/account/account.ts @@ -1,4 +1,4 @@ -import { FunctionProperties, PickWith } from '@shared/core-utils' +import { FunctionProperties, PickWith } from '@shared/typescript-utils' import { AccountModel } from '../../../models/account/account' import { MActor, diff --git a/server/types/models/account/actor-custom-page.ts b/server/types/models/account/actor-custom-page.ts index 2cb8aa7e4..fcd8069be 100644 --- a/server/types/models/account/actor-custom-page.ts +++ b/server/types/models/account/actor-custom-page.ts @@ -1,4 +1,3 @@ - import { ActorCustomPageModel } from '../../../models/account/actor-custom-page' export type MActorCustomPage = Omit diff --git a/server/types/models/actor/actor-follow.ts b/server/types/models/actor/actor-follow.ts index 98a6ca8a5..338158561 100644 --- a/server/types/models/actor/actor-follow.ts +++ b/server/types/models/actor/actor-follow.ts @@ -1,4 +1,4 @@ -import { PickWith } from '@shared/core-utils' +import { PickWith } from '@shared/typescript-utils' import { ActorFollowModel } from '../../../models/actor/actor-follow' import { MActor, diff --git a/server/types/models/actor/actor-image.ts b/server/types/models/actor/actor-image.ts index 89adb01ae..521b4cc59 100644 --- a/server/types/models/actor/actor-image.ts +++ b/server/types/models/actor/actor-image.ts @@ -1,4 +1,4 @@ -import { FunctionProperties } from '@shared/core-utils' +import { FunctionProperties } from '@shared/typescript-utils' import { ActorImageModel } from '../../../models/actor/actor-image' export type MActorImage = ActorImageModel diff --git a/server/types/models/actor/actor.ts b/server/types/models/actor/actor.ts index b3a70cbce..9ce97094f 100644 --- a/server/types/models/actor/actor.ts +++ b/server/types/models/actor/actor.ts @@ -1,4 +1,4 @@ -import { FunctionProperties, PickWith, PickWithOpt } from '@shared/core-utils' +import { FunctionProperties, PickWith, PickWithOpt } from '@shared/typescript-utils' import { ActorModel } from '../../../models/actor/actor' import { MAccount, MAccountDefault, MAccountId, MAccountIdActor } from '../account' import { MServer, MServerHost, MServerHostBlocks, MServerRedundancyAllowed } from '../server' diff --git a/server/types/models/oauth/oauth-token.ts b/server/types/models/oauth/oauth-token.ts index 8399af8f1..6af087e3c 100644 --- a/server/types/models/oauth/oauth-token.ts +++ b/server/types/models/oauth/oauth-token.ts @@ -1,5 +1,5 @@ import { OAuthTokenModel } from '@server/models/oauth/oauth-token' -import { PickWith } from '@shared/core-utils' +import { PickWith } from '@shared/typescript-utils' import { MUserAccountUrl } from '../user/user' type Use = PickWith diff --git a/server/types/models/server/server-blocklist.ts b/server/types/models/server/server-blocklist.ts index 801f179fd..71a4ea963 100644 --- a/server/types/models/server/server-blocklist.ts +++ b/server/types/models/server/server-blocklist.ts @@ -1,5 +1,5 @@ import { ServerBlocklistModel } from '@server/models/server/server-blocklist' -import { PickWith } from '@shared/core-utils' +import { PickWith } from '@shared/typescript-utils' import { MAccountDefault, MAccountFormattable } from '../account/account' import { MServer, MServerFormattable } from './server' diff --git a/server/types/models/server/server.ts b/server/types/models/server/server.ts index 876186fc0..0b16186cd 100644 --- a/server/types/models/server/server.ts +++ b/server/types/models/server/server.ts @@ -1,5 +1,5 @@ +import { FunctionProperties, PickWith } from '@shared/typescript-utils' import { ServerModel } from '../../../models/server/server' -import { FunctionProperties, PickWith } from '@shared/core-utils' import { MAccountBlocklistId } from '../account' type Use = PickWith diff --git a/server/types/models/user/user-notification.ts b/server/types/models/user/user-notification.ts index 918614dd1..db9ec0400 100644 --- a/server/types/models/user/user-notification.ts +++ b/server/types/models/user/user-notification.ts @@ -3,7 +3,7 @@ import { VideoCommentAbuseModel } from '@server/models/abuse/video-comment-abuse import { ApplicationModel } from '@server/models/application/application' import { PluginModel } from '@server/models/server/plugin' import { UserNotificationModel } from '@server/models/user/user-notification' -import { PickWith, PickWithOpt } from '@shared/core-utils' +import { PickWith, PickWithOpt } from '@shared/typescript-utils' import { AbuseModel } from '../../../models/abuse/abuse' import { AccountModel } from '../../../models/account/account' import { ActorModel } from '../../../models/actor/actor' diff --git a/server/types/models/user/user.ts b/server/types/models/user/user.ts index f79220e11..89092c242 100644 --- a/server/types/models/user/user.ts +++ b/server/types/models/user/user.ts @@ -1,7 +1,7 @@ import { AccountModel } from '@server/models/account/account' import { UserModel } from '@server/models/user/user' import { MVideoPlaylist } from '@server/types/models' -import { PickWith, PickWithOpt } from '@shared/core-utils' +import { PickWith, PickWithOpt } from '@shared/typescript-utils' import { MAccount, MAccountDefault, diff --git a/server/types/models/video/thumbnail.ts b/server/types/models/video/thumbnail.ts index 81a29e062..c3b27681f 100644 --- a/server/types/models/video/thumbnail.ts +++ b/server/types/models/video/thumbnail.ts @@ -1,4 +1,4 @@ -import { PickWith } from '@shared/core-utils' +import { PickWith } from '@shared/typescript-utils' import { ThumbnailModel } from '../../../models/video/thumbnail' import { MVideo } from './video' diff --git a/server/types/models/video/video-blacklist.ts b/server/types/models/video/video-blacklist.ts index 2ac912405..048b63bd2 100644 --- a/server/types/models/video/video-blacklist.ts +++ b/server/types/models/video/video-blacklist.ts @@ -1,5 +1,5 @@ +import { PickWith } from '@shared/typescript-utils' import { VideoBlacklistModel } from '../../../models/video/video-blacklist' -import { PickWith } from '@shared/core-utils' import { MVideo, MVideoFormattable } from './video' type Use = PickWith diff --git a/server/types/models/video/video-caption.ts b/server/types/models/video/video-caption.ts index 1f761a866..8cd801064 100644 --- a/server/types/models/video/video-caption.ts +++ b/server/types/models/video/video-caption.ts @@ -1,4 +1,4 @@ -import { PickWith } from '@shared/core-utils' +import { PickWith } from '@shared/typescript-utils' import { VideoCaptionModel } from '../../../models/video/video-caption' import { MVideo, MVideoUUID } from './video' diff --git a/server/types/models/video/video-change-ownership.ts b/server/types/models/video/video-change-ownership.ts index 6cad48e4a..d99f25071 100644 --- a/server/types/models/video/video-change-ownership.ts +++ b/server/types/models/video/video-change-ownership.ts @@ -1,7 +1,7 @@ import { VideoChangeOwnershipModel } from '@server/models/video/video-change-ownership' -import { PickWith } from '@shared/core-utils' +import { PickWith } from '@shared/typescript-utils' import { MAccountDefault, MAccountFormattable } from '../account/account' -import { MVideoWithAllFiles, MVideoFormattable } from './video' +import { MVideoFormattable, MVideoWithAllFiles } from './video' type Use = PickWith diff --git a/server/types/models/video/video-channels.ts b/server/types/models/video/video-channels.ts index c147567d9..af8c2ffe4 100644 --- a/server/types/models/video/video-channels.ts +++ b/server/types/models/video/video-channels.ts @@ -1,4 +1,4 @@ -import { FunctionProperties, PickWith, PickWithOpt } from '@shared/core-utils' +import { FunctionProperties, PickWith, PickWithOpt } from '@shared/typescript-utils' import { VideoChannelModel } from '../../../models/video/video-channel' import { MAccountActor, diff --git a/server/types/models/video/video-comment.ts b/server/types/models/video/video-comment.ts index 83479e7b2..b66de064f 100644 --- a/server/types/models/video/video-comment.ts +++ b/server/types/models/video/video-comment.ts @@ -1,4 +1,4 @@ -import { PickWith, PickWithOpt } from '@shared/core-utils' +import { PickWith, PickWithOpt } from '@shared/typescript-utils' import { VideoCommentModel } from '../../../models/video/video-comment' import { MAccountDefault, MAccountFormattable, MAccountUrl } from '../account' import { MVideo, MVideoAccountLight, MVideoFeed, MVideoIdUrl, MVideoUrl } from './video' diff --git a/server/types/models/video/video-file.ts b/server/types/models/video/video-file.ts index 327a148ce..55603e59c 100644 --- a/server/types/models/video/video-file.ts +++ b/server/types/models/video/video-file.ts @@ -1,8 +1,8 @@ +import { PickWith, PickWithOpt } from '@shared/typescript-utils' import { VideoFileModel } from '../../../models/video/video-file' -import { PickWith, PickWithOpt } from '@shared/core-utils' import { MVideo, MVideoUUID } from './video' import { MVideoRedundancy, MVideoRedundancyFileUrl } from './video-redundancy' -import { MStreamingPlaylistVideo, MStreamingPlaylist } from './video-streaming-playlist' +import { MStreamingPlaylist, MStreamingPlaylistVideo } from './video-streaming-playlist' type Use = PickWith diff --git a/server/types/models/video/video-import.ts b/server/types/models/video/video-import.ts index 759b13c6e..650c293f7 100644 --- a/server/types/models/video/video-import.ts +++ b/server/types/models/video/video-import.ts @@ -1,7 +1,7 @@ import { VideoImportModel } from '@server/models/video/video-import' -import { PickWith, PickWithOpt } from '@shared/core-utils' -import { MVideo, MVideoAccountLight, MVideoFormattable, MVideoTag, MVideoThumbnail, MVideoWithFile } from './video' +import { PickWith, PickWithOpt } from '@shared/typescript-utils' import { MUser } from '../user/user' +import { MVideo, MVideoAccountLight, MVideoFormattable, MVideoTag, MVideoThumbnail, MVideoWithFile } from './video' type Use = PickWith diff --git a/server/types/models/video/video-live.ts b/server/types/models/video/video-live.ts index 346052417..903cea982 100644 --- a/server/types/models/video/video-live.ts +++ b/server/types/models/video/video-live.ts @@ -1,5 +1,5 @@ import { VideoLiveModel } from '@server/models/video/video-live' -import { PickWith } from '@shared/core-utils' +import { PickWith } from '@shared/typescript-utils' import { MVideo } from './video' type Use = PickWith diff --git a/server/types/models/video/video-playlist-element.ts b/server/types/models/video/video-playlist-element.ts index f46ff4d49..eae676096 100644 --- a/server/types/models/video/video-playlist-element.ts +++ b/server/types/models/video/video-playlist-element.ts @@ -1,5 +1,5 @@ import { VideoPlaylistElementModel } from '@server/models/video/video-playlist-element' -import { PickWith } from '@shared/core-utils' +import { PickWith } from '@shared/typescript-utils' import { MVideoFormattable, MVideoThumbnail, MVideoUrl } from './video' import { MVideoPlaylistPrivacy } from './video-playlist' diff --git a/server/types/models/video/video-playlist.ts b/server/types/models/video/video-playlist.ts index 2f9537cf5..33fe5416a 100644 --- a/server/types/models/video/video-playlist.ts +++ b/server/types/models/video/video-playlist.ts @@ -1,9 +1,9 @@ +import { MVideoPlaylistElementLight } from '@server/types/models/video/video-playlist-element' +import { PickWith } from '@shared/typescript-utils' import { VideoPlaylistModel } from '../../../models/video/video-playlist' -import { PickWith } from '@shared/core-utils' import { MAccount, MAccountDefault, MAccountSummary, MAccountSummaryFormattable } from '../account' import { MThumbnail } from './thumbnail' import { MChannelDefault, MChannelSummary, MChannelSummaryFormattable, MChannelUrl } from './video-channels' -import { MVideoPlaylistElementLight } from '@server/types/models/video/video-playlist-element' type Use = PickWith diff --git a/server/types/models/video/video-rate.ts b/server/types/models/video/video-rate.ts index 7bd54f7b0..0dbdf3c41 100644 --- a/server/types/models/video/video-rate.ts +++ b/server/types/models/video/video-rate.ts @@ -1,5 +1,5 @@ import { AccountVideoRateModel } from '@server/models/account/account-video-rate' -import { PickWith } from '@shared/core-utils' +import { PickWith } from '@shared/typescript-utils' import { MAccountAudience, MAccountUrl } from '../account/account' import { MVideo, MVideoFormattable } from './video' diff --git a/server/types/models/video/video-redundancy.ts b/server/types/models/video/video-redundancy.ts index 411375c81..e2a9beb93 100644 --- a/server/types/models/video/video-redundancy.ts +++ b/server/types/models/video/video-redundancy.ts @@ -1,10 +1,10 @@ -import { VideoRedundancyModel } from '../../../models/redundancy/video-redundancy' -import { PickWith, PickWithOpt } from '@shared/core-utils' -import { VideoStreamingPlaylistModel } from '@server/models/video/video-streaming-playlist' import { VideoFileModel } from '@server/models/video/video-file' +import { VideoStreamingPlaylistModel } from '@server/models/video/video-streaming-playlist' +import { PickWith, PickWithOpt } from '@shared/typescript-utils' +import { VideoRedundancyModel } from '../../../models/redundancy/video-redundancy' +import { MVideoUrl } from './video' import { MVideoFile, MVideoFileVideo } from './video-file' import { MStreamingPlaylistVideo } from './video-streaming-playlist' -import { MVideoUrl } from './video' type Use = PickWith diff --git a/server/types/models/video/video-share.ts b/server/types/models/video/video-share.ts index 78f44e58c..ffc0edad6 100644 --- a/server/types/models/video/video-share.ts +++ b/server/types/models/video/video-share.ts @@ -1,4 +1,4 @@ -import { PickWith } from '@shared/core-utils' +import { PickWith } from '@shared/typescript-utils' import { VideoShareModel } from '../../../models/video/video-share' import { MActorDefault } from '../actor' import { MVideo } from './video' diff --git a/server/types/models/video/video-streaming-playlist.ts b/server/types/models/video/video-streaming-playlist.ts index 1e4dccb8e..1c2f83489 100644 --- a/server/types/models/video/video-streaming-playlist.ts +++ b/server/types/models/video/video-streaming-playlist.ts @@ -1,8 +1,8 @@ +import { PickWith, PickWithOpt } from '@shared/typescript-utils' import { VideoStreamingPlaylistModel } from '../../../models/video/video-streaming-playlist' -import { PickWith, PickWithOpt } from '@shared/core-utils' -import { MVideoRedundancyFileUrl, MVideoRedundancy } from './video-redundancy' import { MVideo } from './video' import { MVideoFile } from './video-file' +import { MVideoRedundancy, MVideoRedundancyFileUrl } from './video-redundancy' type Use = PickWith diff --git a/server/types/models/video/video.ts b/server/types/models/video/video.ts index 9a6b27888..d1af53b92 100644 --- a/server/types/models/video/video.ts +++ b/server/types/models/video/video.ts @@ -1,4 +1,4 @@ -import { PickWith, PickWithOpt } from '@shared/core-utils' +import { PickWith, PickWithOpt } from '@shared/typescript-utils' import { VideoModel } from '../../../models/video/video' import { MTrackerUrl } from '../server/tracker' import { MUserVideoHistoryTime } from '../user/user-video-history' diff --git a/server/types/sequelize.ts b/server/types/sequelize.ts index 535113d01..e399c3d5d 100644 --- a/server/types/sequelize.ts +++ b/server/types/sequelize.ts @@ -1,4 +1,4 @@ -import { AttributesOnly } from '@shared/core-utils' +import { AttributesOnly } from '@shared/typescript-utils' import { Model } from 'sequelize' // Thanks to sequelize-typescript: https://github.com/RobinBuschmann/sequelize-typescript diff --git a/shared/core-utils/common/index.ts b/shared/core-utils/common/index.ts index 0908ff981..5d3512148 100644 --- a/shared/core-utils/common/index.ts +++ b/shared/core-utils/common/index.ts @@ -2,5 +2,4 @@ export * from './date' export * from './miscs' export * from './regexp' export * from './promises' -export * from './types' export * from './url' diff --git a/shared/core-utils/common/types.ts b/shared/core-utils/common/types.ts deleted file mode 100644 index bd2a97b98..000000000 --- a/shared/core-utils/common/types.ts +++ /dev/null @@ -1,45 +0,0 @@ -/* eslint-disable @typescript-eslint/array-type */ - -export type FunctionPropertyNames = { - [K in keyof T]: T[K] extends Function ? K : never -}[keyof T] - -export type FunctionProperties = Pick> - -export type AttributesOnly = { - [K in keyof T]: T[K] extends Function ? never : T[K] -} - -export type PickWith = { - [P in KT]: T[P] extends V ? V : never -} - -export type PickWithOpt = { - [P in KT]?: T[P] extends V ? V : never -} - -// https://github.com/krzkaczor/ts-essentials Rocks! -export type DeepPartial = { - [P in keyof T]?: T[P] extends Array - ? Array> - : T[P] extends ReadonlyArray - ? ReadonlyArray> - : DeepPartial -} - -type Primitive = string | Function | number | boolean | Symbol | undefined | null -export type DeepOmitHelper = { - [P in K]: // extra level of indirection needed to trigger homomorhic behavior - T[P] extends infer TP // distribute over unions - ? TP extends Primitive - ? TP // leave primitives and functions alone - : TP extends any[] - ? DeepOmitArray // Array special handling - : DeepOmit - : never -} -export type DeepOmit = T extends Primitive ? T : DeepOmitHelper> - -export type DeepOmitArray = { - [P in keyof T]: DeepOmit -} diff --git a/shared/extra-utils/server/config-command.ts b/shared/extra-utils/server/config-command.ts index a061ca89e..89ae8eb4f 100644 --- a/shared/extra-utils/server/config-command.ts +++ b/shared/extra-utils/server/config-command.ts @@ -1,5 +1,5 @@ import { merge } from 'lodash' -import { DeepPartial } from '@shared/core-utils' +import { DeepPartial } from '@shared/typescript-utils' import { About, HttpStatusCode, ServerConfig } from '@shared/models' import { CustomConfig } from '../../models/server/custom-config.model' import { AbstractCommand, OverrideCommandOptions } from '../shared'