diff --git a/client/components/PubShareDialog/PubShareDialog.tsx b/client/components/PubShareDialog/PubShareDialog.tsx
index 6c615d5d5d..a2d64b3b0b 100644
--- a/client/components/PubShareDialog/PubShareDialog.tsx
+++ b/client/components/PubShareDialog/PubShareDialog.tsx
@@ -154,16 +154,6 @@ const MembersOptions = (props: SharedProps) => {
{!!membersByType.community.length && activeTargetType !== 'community' && (
)}
-
- {
- // @ts-expect-error FIXME: Organization aren't really a thing anymore
- !!membersByType.organization.length && activeTargetType !== 'organization' && (
-
- )
- }
);
};
diff --git a/client/containers/DashboardMembers/DashboardMembers.tsx b/client/containers/DashboardMembers/DashboardMembers.tsx
index 37ce5e5c73..110ebb4005 100644
--- a/client/containers/DashboardMembers/DashboardMembers.tsx
+++ b/client/containers/DashboardMembers/DashboardMembers.tsx
@@ -100,9 +100,7 @@ const DashboardMembers = (props: Props) => {
const hasInheritedMembers =
(membersByType.collection.length && activeTargetType !== 'collection') ||
- (membersByType.community.length && activeTargetType !== 'community') ||
- // @ts-expect-error FIXME: Organization aren't really a thing anymore
- (membersByType.organization.length && activeTargetType !== 'organization');
+ (membersByType.community.length && activeTargetType !== 'community');
const membersContent = (
<>
@@ -167,14 +165,6 @@ const DashboardMembers = (props: Props) => {
scope="Community"
/>
)}
- {!!membersByType.organization.length &&
- // @ts-expect-error FIXME: Organization aren't really a thing anymore
- activeTargetType !== 'organization' && (
-
- )}
)}
>
diff --git a/client/containers/DashboardReview/data.ts b/client/containers/DashboardReview/data.ts
index c550e010f3..ab96b09e5a 100644
--- a/client/containers/DashboardReview/data.ts
+++ b/client/containers/DashboardReview/data.ts
@@ -4,7 +4,6 @@ export const reviewData = {
number: 2,
status: 'open',
releaseRequested: true,
- labels: null,
threadId: '2ba640b8-44b1-479e-8cac-94a56fe92922',
visibilityId: 'f33419db-b559-486f-b608-c023573e2478',
userId: 'b242f616-7aaa-479c-8ee5-3933dcf70859',
@@ -32,8 +31,6 @@ export const reviewData = {
googleScholar: '',
resetHashExpiration: '2019-06-29T18:24:58.629Z',
resetHash: '',
- inactive: null,
- pubpubV3Id: 14,
passwordDigest: 'sha512',
hash: '40797096af954a1953597a92adf727d7b5cea30ccdce40c22c2b6e17fdaa418ad9f0eb71a74701b2107ca43a3370a099b6406d430e1defc87ed38f6ee7c888db9413ae6acaa9f8e846e66f005ebaa2d2ef54b6dcbce77327690446a1d696347452977910efb5c760f29889755ca6456abc59e010e4739d7d24d50cd69c130396fc6dd64e1c8b53bb2f3aa08ffbcf02fc7739fa74a6d244d885916009de480b70d35ee55644cddfd1bd488deb9686a87ffa165a589c370532b587e9a106e590f213da89bae375a791a378e272108937dbc54539fda8b6144f9a673b4dd3a2d50984f34bebf8216262c2219e93b65ac1ca06aa1016900b01cad18cb7f4580baeda42f38f50bf5ff47c3093ba043bff38c1ff16e3fa9e824bca31ee0c85c1bf3eda2a392fff938b47580fb7712e5f8a5b8c9001bacfdd82bd3aa68124d715d1ef6e91f669a4ac737545fe792c2ac6257a31f089acf25140b1722ef86a251fb080f06ebf18e94bae1b6dcaf8ad2c2daa15d6c963891ea0ac9be1a05e4be706e6e84cf6f92c7017c7bc43a549bf498a2613eb0a5e5cc0a34084a8cbd5f937829cf0c92667700723bf7b68505a2dae8c0b68ed77fd569d7bdc775d9c1e7e104df46ab927e7d86df520b64b229ab93bb49f2eb97ee38567476287c2987d1542737d0d3f49f3c20c23f6e2b9233a60d5cf9496cec93ba6935dfb1f653d791002ebe378af',
salt: '1e3ce838e6e22837da61d5805cedd61e34d2ba8b033a1d16474887cdc33f9ad2',
@@ -93,8 +90,6 @@ export const reviewData = {
googleScholar: '',
resetHashExpiration: '2019-06-29T18:24:58.629Z',
resetHash: '',
- inactive: null,
- pubpubV3Id: 14,
passwordDigest: 'sha512',
hash: '40797096af954a1953597a92adf727d7b5cea30ccdce40c22c2b6e17fdaa418ad9f0eb71a74701b2107ca43a3370a099b6406d430e1defc87ed38f6ee7c888db9413ae6acaa9f8e846e66f005ebaa2d2ef54b6dcbce77327690446a1d696347452977910efb5c760f29889755ca6456abc59e010e4739d7d24d50cd69c130396fc6dd64e1c8b53bb2f3aa08ffbcf02fc7739fa74a6d244d885916009de480b70d35ee55644cddfd1bd488deb9686a87ffa165a589c370532b587e9a106e590f213da89bae375a791a378e272108937dbc54539fda8b6144f9a673b4dd3a2d50984f34bebf8216262c2219e93b65ac1ca06aa1016900b01cad18cb7f4580baeda42f38f50bf5ff47c3093ba043bff38c1ff16e3fa9e824bca31ee0c85c1bf3eda2a392fff938b47580fb7712e5f8a5b8c9001bacfdd82bd3aa68124d715d1ef6e91f669a4ac737545fe792c2ac6257a31f089acf25140b1722ef86a251fb080f06ebf18e94bae1b6dcaf8ad2c2daa15d6c963891ea0ac9be1a05e4be706e6e84cf6f92c7017c7bc43a549bf498a2613eb0a5e5cc0a34084a8cbd5f937829cf0c92667700723bf7b68505a2dae8c0b68ed77fd569d7bdc775d9c1e7e104df46ab927e7d86df520b64b229ab93bb49f2eb97ee38567476287c2987d1542737d0d3f49f3c20c23f6e2b9233a60d5cf9496cec93ba6935dfb1f653d791002ebe378af',
salt: '1e3ce838e6e22837da61d5805cedd61e34d2ba8b033a1d16474887cdc33f9ad2',
@@ -134,8 +129,6 @@ export const reviewData = {
googleScholar: '',
resetHashExpiration: '2019-06-29T18:24:58.629Z',
resetHash: '',
- inactive: null,
- pubpubV3Id: 14,
passwordDigest: 'sha512',
hash: '40797096af954a1953597a92adf727d7b5cea30ccdce40c22c2b6e17fdaa418ad9f0eb71a74701b2107ca43a3370a099b6406d430e1defc87ed38f6ee7c888db9413ae6acaa9f8e846e66f005ebaa2d2ef54b6dcbce77327690446a1d696347452977910efb5c760f29889755ca6456abc59e010e4739d7d24d50cd69c130396fc6dd64e1c8b53bb2f3aa08ffbcf02fc7739fa74a6d244d885916009de480b70d35ee55644cddfd1bd488deb9686a87ffa165a589c370532b587e9a106e590f213da89bae375a791a378e272108937dbc54539fda8b6144f9a673b4dd3a2d50984f34bebf8216262c2219e93b65ac1ca06aa1016900b01cad18cb7f4580baeda42f38f50bf5ff47c3093ba043bff38c1ff16e3fa9e824bca31ee0c85c1bf3eda2a392fff938b47580fb7712e5f8a5b8c9001bacfdd82bd3aa68124d715d1ef6e91f669a4ac737545fe792c2ac6257a31f089acf25140b1722ef86a251fb080f06ebf18e94bae1b6dcaf8ad2c2daa15d6c963891ea0ac9be1a05e4be706e6e84cf6f92c7017c7bc43a549bf498a2613eb0a5e5cc0a34084a8cbd5f937829cf0c92667700723bf7b68505a2dae8c0b68ed77fd569d7bdc775d9c1e7e104df46ab927e7d86df520b64b229ab93bb49f2eb97ee38567476287c2987d1542737d0d3f49f3c20c23f6e2b9233a60d5cf9496cec93ba6935dfb1f653d791002ebe378af',
salt: '1e3ce838e6e22837da61d5805cedd61e34d2ba8b033a1d16474887cdc33f9ad2',
@@ -173,8 +166,6 @@ export const reviewData = {
googleScholar: '',
resetHashExpiration: '2019-06-29T18:24:58.629Z',
resetHash: '',
- inactive: null,
- pubpubV3Id: 14,
passwordDigest: 'sha512',
hash: '40797096af954a1953597a92adf727d7b5cea30ccdce40c22c2b6e17fdaa418ad9f0eb71a74701b2107ca43a3370a099b6406d430e1defc87ed38f6ee7c888db9413ae6acaa9f8e846e66f005ebaa2d2ef54b6dcbce77327690446a1d696347452977910efb5c760f29889755ca6456abc59e010e4739d7d24d50cd69c130396fc6dd64e1c8b53bb2f3aa08ffbcf02fc7739fa74a6d244d885916009de480b70d35ee55644cddfd1bd488deb9686a87ffa165a589c370532b587e9a106e590f213da89bae375a791a378e272108937dbc54539fda8b6144f9a673b4dd3a2d50984f34bebf8216262c2219e93b65ac1ca06aa1016900b01cad18cb7f4580baeda42f38f50bf5ff47c3093ba043bff38c1ff16e3fa9e824bca31ee0c85c1bf3eda2a392fff938b47580fb7712e5f8a5b8c9001bacfdd82bd3aa68124d715d1ef6e91f669a4ac737545fe792c2ac6257a31f089acf25140b1722ef86a251fb080f06ebf18e94bae1b6dcaf8ad2c2daa15d6c963891ea0ac9be1a05e4be706e6e84cf6f92c7017c7bc43a549bf498a2613eb0a5e5cc0a34084a8cbd5f937829cf0c92667700723bf7b68505a2dae8c0b68ed77fd569d7bdc775d9c1e7e104df46ab927e7d86df520b64b229ab93bb49f2eb97ee38567476287c2987d1542737d0d3f49f3c20c23f6e2b9233a60d5cf9496cec93ba6935dfb1f653d791002ebe378af',
salt: '1e3ce838e6e22837da61d5805cedd61e34d2ba8b033a1d16474887cdc33f9ad2',
@@ -212,8 +203,6 @@ export const reviewData = {
googleScholar: '',
resetHashExpiration: '2019-06-29T18:24:58.629Z',
resetHash: '',
- inactive: null,
- pubpubV3Id: 14,
passwordDigest: 'sha512',
hash: '40797096af954a1953597a92adf727d7b5cea30ccdce40c22c2b6e17fdaa418ad9f0eb71a74701b2107ca43a3370a099b6406d430e1defc87ed38f6ee7c888db9413ae6acaa9f8e846e66f005ebaa2d2ef54b6dcbce77327690446a1d696347452977910efb5c760f29889755ca6456abc59e010e4739d7d24d50cd69c130396fc6dd64e1c8b53bb2f3aa08ffbcf02fc7739fa74a6d244d885916009de480b70d35ee55644cddfd1bd488deb9686a87ffa165a589c370532b587e9a106e590f213da89bae375a791a378e272108937dbc54539fda8b6144f9a673b4dd3a2d50984f34bebf8216262c2219e93b65ac1ca06aa1016900b01cad18cb7f4580baeda42f38f50bf5ff47c3093ba043bff38c1ff16e3fa9e824bca31ee0c85c1bf3eda2a392fff938b47580fb7712e5f8a5b8c9001bacfdd82bd3aa68124d715d1ef6e91f669a4ac737545fe792c2ac6257a31f089acf25140b1722ef86a251fb080f06ebf18e94bae1b6dcaf8ad2c2daa15d6c963891ea0ac9be1a05e4be706e6e84cf6f92c7017c7bc43a549bf498a2613eb0a5e5cc0a34084a8cbd5f937829cf0c92667700723bf7b68505a2dae8c0b68ed77fd569d7bdc775d9c1e7e104df46ab927e7d86df520b64b229ab93bb49f2eb97ee38567476287c2987d1542737d0d3f49f3c20c23f6e2b9233a60d5cf9496cec93ba6935dfb1f653d791002ebe378af',
salt: '1e3ce838e6e22837da61d5805cedd61e34d2ba8b033a1d16474887cdc33f9ad2',
@@ -251,8 +240,6 @@ export const reviewData = {
googleScholar: '',
resetHashExpiration: '2019-06-29T18:24:58.629Z',
resetHash: '',
- inactive: null,
- pubpubV3Id: 14,
passwordDigest: 'sha512',
hash: '40797096af954a1953597a92adf727d7b5cea30ccdce40c22c2b6e17fdaa418ad9f0eb71a74701b2107ca43a3370a099b6406d430e1defc87ed38f6ee7c888db9413ae6acaa9f8e846e66f005ebaa2d2ef54b6dcbce77327690446a1d696347452977910efb5c760f29889755ca6456abc59e010e4739d7d24d50cd69c130396fc6dd64e1c8b53bb2f3aa08ffbcf02fc7739fa74a6d244d885916009de480b70d35ee55644cddfd1bd488deb9686a87ffa165a589c370532b587e9a106e590f213da89bae375a791a378e272108937dbc54539fda8b6144f9a673b4dd3a2d50984f34bebf8216262c2219e93b65ac1ca06aa1016900b01cad18cb7f4580baeda42f38f50bf5ff47c3093ba043bff38c1ff16e3fa9e824bca31ee0c85c1bf3eda2a392fff938b47580fb7712e5f8a5b8c9001bacfdd82bd3aa68124d715d1ef6e91f669a4ac737545fe792c2ac6257a31f089acf25140b1722ef86a251fb080f06ebf18e94bae1b6dcaf8ad2c2daa15d6c963891ea0ac9be1a05e4be706e6e84cf6f92c7017c7bc43a549bf498a2613eb0a5e5cc0a34084a8cbd5f937829cf0c92667700723bf7b68505a2dae8c0b68ed77fd569d7bdc775d9c1e7e104df46ab927e7d86df520b64b229ab93bb49f2eb97ee38567476287c2987d1542737d0d3f49f3c20c23f6e2b9233a60d5cf9496cec93ba6935dfb1f653d791002ebe378af',
salt: '1e3ce838e6e22837da61d5805cedd61e34d2ba8b033a1d16474887cdc33f9ad2',
diff --git a/client/utils/members/useMembers.ts b/client/utils/members/useMembers.ts
index 3e0522c798..879b4e85e0 100644
--- a/client/utils/members/useMembers.ts
+++ b/client/utils/members/useMembers.ts
@@ -12,7 +12,6 @@ export const useMembers = ({ members, updateMembers }) => {
pub: members.filter((mb) => mb.pubId),
collection: members.filter((mb) => mb.collectionId),
community: members.filter((mb) => mb.communityId),
- organization: members.filter((mb) => mb.organizationId),
};
const addMember = (user) => {
diff --git a/server/community/model.ts b/server/community/model.ts
index 64b14ff3b1..1aab8a623e 100644
--- a/server/community/model.ts
+++ b/server/community/model.ts
@@ -26,16 +26,7 @@ import {
Unique,
} from 'sequelize-typescript';
-import {
- Collection,
- DepositTarget,
- Member,
- Organization,
- Page,
- Pub,
- ScopeSummary,
- SpamTag,
-} from '../models';
+import { Collection, DepositTarget, Member, Page, Pub, ScopeSummary, SpamTag } from '../models';
@DefaultScope(() => ({ attributes: { exclude: ['searchVector'] } }))
@Table
@@ -240,19 +231,9 @@ export class Community extends Model<
@Column(DataType.TSVECTOR)
declare searchVector: any | null;
- @Column(DataType.UUID)
- declare organizationId: string | null;
-
@Column(DataType.UUID)
declare scopeSummaryId: string | null;
- @BelongsTo(() => Organization, {
- onDelete: 'CASCADE',
- as: 'organization',
- foreignKey: 'organizationId',
- })
- declare organization?: Organization;
-
@HasMany(() => Collection, {
onDelete: 'CASCADE',
as: 'collections',
diff --git a/server/communityAdmin/model.ts b/server/communityAdmin/model.ts
deleted file mode 100644
index 9d0f588278..0000000000
--- a/server/communityAdmin/model.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-import type { CreationOptional, InferAttributes, InferCreationAttributes } from 'sequelize';
-
-import type { SerializedModel } from 'types';
-
-import {
- AllowNull,
- Column,
- DataType,
- Default,
- Model,
- PrimaryKey,
- Table,
-} from 'sequelize-typescript';
-
-@Table
-export class CommunityAdmin extends Model<
- InferAttributes,
- InferCreationAttributes
-> {
- public declare toJSON: (this: M) => SerializedModel;
-
- @Default(DataType.UUIDV4)
- @PrimaryKey
- @Column(DataType.UUID)
- declare id: CreationOptional;
-
- @AllowNull(false)
- @Column(DataType.UUID)
- declare userId: string;
-
- @AllowNull(false)
- @Column(DataType.UUID)
- declare communityId: string;
-}
diff --git a/server/member/model.ts b/server/member/model.ts
index d414086f8c..1447b5ea7d 100644
--- a/server/member/model.ts
+++ b/server/member/model.ts
@@ -53,9 +53,6 @@ export class Member extends Model, InferCreationAttribut
@Index
declare communityId: string | null;
- @Column(DataType.UUID)
- declare organizationId: string | null;
-
@BelongsTo(() => User, { onDelete: 'CASCADE', as: 'user', foreignKey: 'userId' })
declare user?: User;
diff --git a/server/merge/model.ts b/server/merge/model.ts
deleted file mode 100644
index b09317ce35..0000000000
--- a/server/merge/model.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-import type { CreationOptional, InferAttributes, InferCreationAttributes } from 'sequelize';
-
-import type { SerializedModel } from 'types';
-
-import {
- AllowNull,
- BelongsTo,
- Column,
- DataType,
- Default,
- Model,
- PrimaryKey,
- Table,
-} from 'sequelize-typescript';
-
-import { User } from '../models';
-
-@Table
-export class Merge extends Model, InferCreationAttributes> {
- public declare toJSON: (this: M) => SerializedModel;
-
- @Default(DataType.UUIDV4)
- @PrimaryKey
- @Column(DataType.UUID)
- declare id: CreationOptional;
-
- @Column(DataType.JSONB)
- declare noteContent: object | null;
-
- @Column(DataType.TEXT)
- declare noteText: string | null;
-
- @AllowNull(false)
- @Column(DataType.UUID)
- declare userId: string;
-
- @AllowNull(false)
- @Column(DataType.UUID)
- declare pubId: string;
-
- @BelongsTo(() => User, { onDelete: 'CASCADE', as: 'user', foreignKey: 'userId' })
- declare user?: User;
-}
diff --git a/server/models.ts b/server/models.ts
index 925e1b1b75..9c7ef47a3a 100644
--- a/server/models.ts
+++ b/server/models.ts
@@ -9,7 +9,6 @@ import { CollectionAttribution } from './collectionAttribution/model';
import { CollectionPub } from './collectionPub/model';
import { Commenter } from './commenter/model';
import { Community } from './community/model';
-import { CommunityAdmin } from './communityAdmin/model';
import { CommunityBan } from './communityBan/model';
import { CrossrefDepositRecord } from './crossrefDepositRecord/model';
import { CustomScript } from './customScript/model';
@@ -29,15 +28,11 @@ import { FeatureFlagUser } from './featureFlagUser/model';
import { IntegrationDataOAuth1 } from './integrationDataOAuth1/model';
import { LandingPageFeature } from './landingPageFeature/model';
import { Member } from './member/model';
-import { Merge } from './merge/model';
-import { Organization } from './organization/model';
import { Page } from './page/model';
import { Pub } from './pub/model';
import { PubAttribution } from './pubAttribution/model';
import { PubEdge } from './pubEdge/model';
import { PublicPermissions } from './publicPermissions/model';
-import { PubManager } from './pubManager/model';
-import { PubVersion } from './pubVersion/model';
import { Release } from './release/model';
import { ReviewNew } from './review/model';
import { ReviewEvent } from './reviewEvent/model';
@@ -70,7 +65,6 @@ sequelize.addModels([
CollectionPub,
Commenter,
Community,
- CommunityAdmin,
CrossrefDepositRecord,
CustomScript,
DepositTarget,
@@ -89,14 +83,10 @@ sequelize.addModels([
IntegrationDataOAuth1,
LandingPageFeature,
Member,
- Merge,
- Organization,
Page,
Pub,
PubAttribution,
PubEdge,
- PubManager,
- PubVersion,
PublicPermissions,
Release,
ReviewEvent,
@@ -165,7 +155,6 @@ export {
CollectionPub,
Commenter,
Community,
- CommunityAdmin,
CrossrefDepositRecord,
CustomScript,
DepositTarget,
@@ -182,15 +171,11 @@ export {
IntegrationDataOAuth1,
LandingPageFeature,
Member,
- Merge,
- Organization,
Page,
Pub,
PubAttribution,
PubEdge,
PublicPermissions,
- PubManager,
- PubVersion,
Release,
Reviewer,
ReviewEvent,
diff --git a/server/organization/model.ts b/server/organization/model.ts
deleted file mode 100644
index bb648f99e0..0000000000
--- a/server/organization/model.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-import type { CreationOptional, InferAttributes, InferCreationAttributes } from 'sequelize';
-
-import type { SerializedModel } from 'types';
-
-import {
- AllowNull,
- Column,
- DataType,
- Default,
- HasMany,
- Is,
- IsLowercase,
- Length,
- Model,
- PrimaryKey,
- Table,
- Unique,
-} from 'sequelize-typescript';
-
-import { Community } from '../models';
-
-@Table
-export class Organization extends Model<
- InferAttributes,
- InferCreationAttributes
-> {
- public declare toJSON: (this: M) => SerializedModel;
-
- @Default(DataType.UUIDV4)
- @PrimaryKey
- @Column(DataType.UUID)
- declare id: CreationOptional;
-
- @AllowNull(false)
- @IsLowercase
- @Length({ min: 1, max: 280 })
- @Is(/^[a-zA-Z0-9-]+$/)
- @Unique
- @Column(DataType.TEXT)
- declare subdomain: string;
-
- @Unique
- @Column(DataType.TEXT)
- declare domain: string | null;
-
- @AllowNull(false)
- @Column(DataType.TEXT)
- declare title: string;
-
- @Length({ min: 0, max: 280 })
- @Column(DataType.TEXT)
- declare description: string | null;
-
- @Column(DataType.TEXT)
- declare avatar: string | null;
-
- @Column(DataType.TEXT)
- declare favicon: string | null;
-
- @HasMany(() => Community, {
- onDelete: 'CASCADE',
- as: 'communities',
- foreignKey: 'organizationId',
- })
- declare communities?: Community[];
-}
diff --git a/server/pub/model.ts b/server/pub/model.ts
index 13c64684f0..09196cdf16 100644
--- a/server/pub/model.ts
+++ b/server/pub/model.ts
@@ -32,7 +32,6 @@ import {
Member,
PubAttribution,
PubEdge,
- PubVersion,
Release,
ReviewNew,
ScopeSummary,
@@ -183,9 +182,6 @@ export class Pub extends Model<
@HasMany(() => Release, { onDelete: 'CASCADE', as: 'releases', foreignKey: 'pubId' })
declare releases?: Release[];
- @HasMany(() => PubVersion, { onDelete: 'CASCADE', as: 'pubVersions', foreignKey: 'pubId' })
- declare pubVersions?: PubVersion[];
-
@HasMany(() => PubEdge, { onDelete: 'CASCADE', as: 'outboundEdges', foreignKey: 'pubId' })
declare outboundEdges?: Omit[];
diff --git a/server/pubManager/model.ts b/server/pubManager/model.ts
deleted file mode 100644
index 7be7fedd10..0000000000
--- a/server/pubManager/model.ts
+++ /dev/null
@@ -1,40 +0,0 @@
-import type { CreationOptional, InferAttributes, InferCreationAttributes } from 'sequelize';
-
-import type { SerializedModel } from 'types';
-
-import {
- AllowNull,
- BelongsTo,
- Column,
- DataType,
- Default,
- Model,
- PrimaryKey,
- Table,
-} from 'sequelize-typescript';
-
-import { User } from '../models';
-
-@Table
-export class PubManager extends Model<
- InferAttributes,
- InferCreationAttributes
-> {
- public declare toJSON: (this: M) => SerializedModel;
-
- @Default(DataType.UUIDV4)
- @PrimaryKey
- @Column(DataType.UUID)
- declare id: CreationOptional;
-
- @AllowNull(false)
- @Column(DataType.UUID)
- declare userId: string;
-
- @AllowNull(false)
- @Column(DataType.UUID)
- declare pubId: string;
-
- @BelongsTo(() => User, { onDelete: 'CASCADE', as: 'user', foreignKey: 'userId' })
- declare user?: User;
-}
diff --git a/server/pubVersion/model.ts b/server/pubVersion/model.ts
deleted file mode 100644
index 894446167c..0000000000
--- a/server/pubVersion/model.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import type { CreationOptional, InferAttributes, InferCreationAttributes } from 'sequelize';
-
-import type { SerializedModel } from 'types';
-
-import {
- BelongsTo,
- Column,
- DataType,
- Default,
- Model,
- PrimaryKey,
- Table,
-} from 'sequelize-typescript';
-
-import { Pub } from '../models';
-
-@Table
-export class PubVersion extends Model<
- InferAttributes,
- InferCreationAttributes
-> {
- public declare toJSON: (this: M) => SerializedModel;
-
- @Default(DataType.UUIDV4)
- @PrimaryKey
- @Column(DataType.UUID)
- declare id: CreationOptional;
-
- @Column(DataType.INTEGER)
- declare historyKey: number | null;
-
- @Column(DataType.UUID)
- declare pubId: string | null;
-
- @BelongsTo(() => Pub, { onDelete: 'CASCADE', as: 'pub', foreignKey: 'pubId' })
- declare pub?: Pub;
-}
diff --git a/server/publicPermissions/model.ts b/server/publicPermissions/model.ts
index 2399f1c00c..5f82c60707 100644
--- a/server/publicPermissions/model.ts
+++ b/server/publicPermissions/model.ts
@@ -51,9 +51,6 @@ export class PublicPermissions extends Model<
@Column(DataType.UUID)
declare communityId: string | null;
- @Column(DataType.UUID)
- declare organizationId: string | null;
-
@BelongsTo(() => Pub, { onDelete: 'CASCADE', as: 'pub', foreignKey: 'pubId' })
declare pub?: Pub;
}
diff --git a/server/release/model.ts b/server/release/model.ts
index f880b0c56f..15ebf773c1 100644
--- a/server/release/model.ts
+++ b/server/release/model.ts
@@ -51,11 +51,6 @@ export class Release extends Model, InferCreationAttrib
@Column(DataType.INTEGER)
declare historyKey: number;
- @AllowNull(false)
- @Default(false)
- @Column(DataType.BOOLEAN)
- declare historyKeyMissing: CreationOptional;
-
@BelongsTo(() => Doc, { as: 'doc', foreignKey: 'docId' })
declare doc?: Doc;
diff --git a/server/review/model.ts b/server/review/model.ts
index 682452a9eb..02389aa607 100644
--- a/server/review/model.ts
+++ b/server/review/model.ts
@@ -43,9 +43,6 @@ export class ReviewNew extends Model<
@Column(DataType.BOOLEAN)
declare releaseRequested: boolean | null;
- @Column(DataType.JSONB)
- declare labels: object | null;
-
@AllowNull(false)
@Column(DataType.UUID)
declare threadId: string;
diff --git a/server/review/permissions.ts b/server/review/permissions.ts
index 4d7c864150..25aa711d49 100644
--- a/server/review/permissions.ts
+++ b/server/review/permissions.ts
@@ -1,7 +1,7 @@
import { Pub } from 'server/models';
import { getScope } from 'server/utils/queryHelpers';
-export const updatePermissions = ['title', 'status', 'labels', 'releaseRequested'] as const;
+export const updatePermissions = ['title', 'status', 'releaseRequested'] as const;
export const getPermissions = async ({
userId,
diff --git a/server/threadUser/model.ts b/server/threadUser/model.ts
deleted file mode 100644
index b5de16c842..0000000000
--- a/server/threadUser/model.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-import type { CreationOptional, InferAttributes, InferCreationAttributes } from 'sequelize';
-
-import type { SerializedModel } from 'types';
-
-import {
- AllowNull,
- BelongsTo,
- Column,
- DataType,
- Default,
- IsEmail,
- IsLowercase,
- Model,
- PrimaryKey,
- Table,
-} from 'sequelize-typescript';
-
-import { User } from '../models';
-
-@Table
-export class ThreadUser extends Model<
- InferAttributes,
- InferCreationAttributes
-> {
- public declare toJSON: (this: M) => SerializedModel;
-
- @Default(DataType.UUIDV4)
- @PrimaryKey
- @Column(DataType.UUID)
- declare id: CreationOptional;
-
- @Default('viewer')
- @Column(DataType.ENUM('viewer', 'reviewer'))
- declare type: CreationOptional;
-
- @IsLowercase
- @IsEmail
- @Column(DataType.TEXT)
- declare email: string | null;
-
- @Column(DataType.TEXT)
- declare hash: string | null;
-
- @Column(DataType.UUID)
- declare userId: string | null;
-
- @AllowNull(false)
- @Column(DataType.UUID)
- declare threadId: string;
-
- @BelongsTo(() => User, { onDelete: 'CASCADE', as: 'user', foreignKey: 'userId' })
- declare user?: User;
-}
diff --git a/server/user/model.ts b/server/user/model.ts
index f70ea6f509..13987095eb 100644
--- a/server/user/model.ts
+++ b/server/user/model.ts
@@ -213,12 +213,6 @@ export class User extends ModelWithPassport, InferCreation
@Column(DataType.TEXT)
declare resetHash: string | null;
- @Column(DataType.BOOLEAN)
- declare inactive: boolean | null;
-
- @Column(DataType.INTEGER)
- declare pubpubV3Id: number | null;
-
@Column(DataType.TEXT)
declare passwordDigest: string | null;
diff --git a/types/pub.ts b/types/pub.ts
index 56e031a0ab..7c7eaa4bea 100644
--- a/types/pub.ts
+++ b/types/pub.ts
@@ -3,7 +3,6 @@ import type {
Doc as DocModel,
Draft as DraftModel,
Pub as PubModel,
- PubVersion as PubVersionModel,
Release as ReleaseModel,
} from 'server/models';
@@ -31,7 +30,6 @@ export type Export = {
workerTaskId?: string;
};
-export type PubVersion = SerializedModel;
export type DepositRecord = SerializedModel;
export type Pub = SerializedModel;
diff --git a/utils/api/schemas/community.ts b/utils/api/schemas/community.ts
index 57861ebb02..fa6aac8167 100644
--- a/utils/api/schemas/community.ts
+++ b/utils/api/schemas/community.ts
@@ -96,7 +96,6 @@ export const communitySchema = baseSchema.extend({
premiumLicenseFlag: z.boolean().nullable().default(false),
defaultPubCollections: z.array(z.string()).nullable(),
spamTagId: z.string().uuid().nullable(),
- organizationId: z.string().uuid().nullable(),
scopeSummaryId: z.string().uuid().nullable(),
accentTextColor: z.string(),
analyticsSettings: analyticsSettingsSchema,
diff --git a/utils/api/schemas/member.ts b/utils/api/schemas/member.ts
index 0926b148c1..655ed953f0 100644
--- a/utils/api/schemas/member.ts
+++ b/utils/api/schemas/member.ts
@@ -15,7 +15,6 @@ export const memberSchema = baseSchema.extend({
pubId: z.string().uuid().nullable(),
collectionId: z.string().uuid().nullable(),
communityId: z.string().uuid().nullable(),
- organizationId: z.string().uuid().nullable(),
});
export const idUnionSchema = z.object({
diff --git a/utils/api/schemas/release.ts b/utils/api/schemas/release.ts
index bbff97001b..a4e9b01e7c 100644
--- a/utils/api/schemas/release.ts
+++ b/utils/api/schemas/release.ts
@@ -19,5 +19,4 @@ export const releaseSchema = z.object({
userId: z.string().uuid(),
docId: z.string().uuid(),
historyKey: z.number().int().min(-1),
- historyKeyMissing: z.boolean(),
}) satisfies z.ZodType>;
diff --git a/utils/api/schemas/review.ts b/utils/api/schemas/review.ts
index 71a1a1c8dd..e8554369e9 100644
--- a/utils/api/schemas/review.ts
+++ b/utils/api/schemas/review.ts
@@ -8,7 +8,6 @@ export const reviewNewSchema = z.object({
number: z.number(),
status: z.enum(['open', 'closed', 'completed']).default('open'),
releaseRequested: z.boolean().nullable(),
- labels: z.unknown().nullable(),
threadId: z.string().uuid(),
visibilityId: z.string().uuid(),
userId: z.string().uuid().nullable(),
diff --git a/utils/api/schemas/user.ts b/utils/api/schemas/user.ts
index e82a20d66e..31e275314e 100644
--- a/utils/api/schemas/user.ts
+++ b/utils/api/schemas/user.ts
@@ -27,8 +27,6 @@ export const privateUserSchema = z.object({
.transform((d) => d.toString())
.nullable() as z.ZodType,
resetHash: z.string().nullable(),
- inactive: z.boolean().nullable(),
- pubpubV3Id: z.number().nullable(),
passwordDigest: z.string().nullable(),
hash: z.string(),
salt: z.string(),
@@ -61,6 +59,4 @@ export const userSchema = privateUserSchema.omit({
resetHash: true,
resetHashExpiration: true,
gdprConsent: true,
- pubpubV3Id: true,
- inactive: true,
}) satisfies z.ZodType;
diff --git a/utils/storybook/data/dataOverview.js b/utils/storybook/data/dataOverview.js
index 17be667344..7b065c8183 100644
--- a/utils/storybook/data/dataOverview.js
+++ b/utils/storybook/data/dataOverview.js
@@ -42,7 +42,6 @@ export default {
editHash: '44e5752t',
premiumLicenseFlag: false,
defaultPubCollections: [],
- organizationId: null,
collections: [
{
id: 'b9588b1f-3cce-42ff-bda3-98106a3b19bd',
@@ -310,10 +309,8 @@ export default {
pubId: 'f9915ae8-6ffc-4e53-8523-333b90422631',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: 'c8467060-db29-4d12-9af2-d4474b388e29',
@@ -329,10 +326,8 @@ export default {
pubId: 'f9915ae8-6ffc-4e53-8523-333b90422631',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
],
collectionPubs: [
@@ -386,10 +381,8 @@ export default {
pubId: 'f9915ae8-6ffc-4e53-8523-333b90422631',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: 'c8467060-db29-4d12-9af2-d4474b388e29',
@@ -405,10 +398,8 @@ export default {
pubId: 'f9915ae8-6ffc-4e53-8523-333b90422631',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
],
forks: [],
@@ -639,10 +630,8 @@ export default {
pubId: '95578090-b60e-49c3-be9f-44c67abcd57d',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
],
collectionPubs: [
@@ -692,10 +681,8 @@ export default {
pubId: '95578090-b60e-49c3-be9f-44c67abcd57d',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
],
forks: [],
@@ -976,10 +963,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: 'ee9e0d7d-f5c8-489f-a3fa-649e1dfeaa3b',
@@ -995,10 +980,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: '2ccfa7d7-8879-4536-a681-c8f58b434311',
@@ -1014,10 +997,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: '7aa54688-8228-4c80-a2aa-dede3783cfb4',
@@ -1033,10 +1014,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: 'f623c6e8-f7aa-4eca-82fb-28678956e389',
@@ -1052,10 +1031,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: '0b820c0d-9f8a-4d58-9b8b-d9c7951092a8',
@@ -1071,10 +1048,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: 'da4f442b-a2a9-4f28-8029-95196a57a43a',
@@ -1090,10 +1065,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: 'ea9066fb-ad30-4f81-97f2-0b580c4d5a10',
@@ -1109,10 +1082,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: 'ff9ba1f2-9b68-42dd-bbd7-80d8484aa7ca',
@@ -1128,10 +1099,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: 'ab0c47aa-0aa9-4197-9af3-555879d501e6',
@@ -1147,10 +1116,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
],
collectionPubs: [
@@ -1200,10 +1167,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: 'ee9e0d7d-f5c8-489f-a3fa-649e1dfeaa3b',
@@ -1219,10 +1184,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: '2ccfa7d7-8879-4536-a681-c8f58b434311',
@@ -1238,10 +1201,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: '7aa54688-8228-4c80-a2aa-dede3783cfb4',
@@ -1257,10 +1218,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: 'f623c6e8-f7aa-4eca-82fb-28678956e389',
@@ -1276,10 +1235,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: '0b820c0d-9f8a-4d58-9b8b-d9c7951092a8',
@@ -1295,10 +1252,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: 'da4f442b-a2a9-4f28-8029-95196a57a43a',
@@ -1314,10 +1269,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: 'ea9066fb-ad30-4f81-97f2-0b580c4d5a10',
@@ -1333,10 +1286,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: 'ff9ba1f2-9b68-42dd-bbd7-80d8484aa7ca',
@@ -1352,10 +1303,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: 'ab0c47aa-0aa9-4197-9af3-555879d501e6',
@@ -1371,10 +1320,8 @@ export default {
pubId: 'd2112c45-7188-490e-a8c2-28542097a749',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
],
forks: [],
@@ -1477,10 +1424,8 @@ export default {
pubId: '6bcf9e11-988b-4431-bcac-8693290e2156',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
],
collectionPubs: [],
@@ -1499,10 +1444,8 @@ export default {
pubId: '6bcf9e11-988b-4431-bcac-8693290e2156',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
],
forks: [],
@@ -1648,10 +1591,8 @@ export default {
pubId: 'e988d07b-9d46-49ff-bc87-b2a0fc71c1cb',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
],
collectionPubs: [
@@ -1701,10 +1642,8 @@ export default {
pubId: 'e988d07b-9d46-49ff-bc87-b2a0fc71c1cb',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
],
forks: [],
@@ -2105,10 +2044,8 @@ export default {
pubId: '03407913-b08c-4fec-a3b5-a6dbb7313feb',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: 'd139a5a4-0b4c-4e0a-a103-cbc3b59c9ed0',
@@ -2124,10 +2061,8 @@ export default {
pubId: '03407913-b08c-4fec-a3b5-a6dbb7313feb',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
],
collectionPubs: [],
@@ -2146,10 +2081,8 @@ export default {
pubId: '03407913-b08c-4fec-a3b5-a6dbb7313feb',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: 'd139a5a4-0b4c-4e0a-a103-cbc3b59c9ed0',
@@ -2165,10 +2098,8 @@ export default {
pubId: '03407913-b08c-4fec-a3b5-a6dbb7313feb',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
],
forks: [],
@@ -2315,10 +2246,8 @@ export default {
pubId: '1397a891-2716-4eb8-bc11-a08cb23728a7',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: '156f7f1a-0aa2-4f56-81b7-b283f420b55b',
@@ -2334,10 +2263,8 @@ export default {
pubId: '1397a891-2716-4eb8-bc11-a08cb23728a7',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
],
collectionPubs: [
@@ -2417,10 +2344,8 @@ export default {
pubId: '1397a891-2716-4eb8-bc11-a08cb23728a7',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
{
id: '156f7f1a-0aa2-4f56-81b7-b283f420b55b',
@@ -2436,10 +2361,8 @@ export default {
pubId: '1397a891-2716-4eb8-bc11-a08cb23728a7',
collectionId: null,
communityId: null,
- organizationId: null,
createdAt: '2020-02-20T13:05:51.168Z',
updatedAt: '2020-02-20T13:05:51.168Z',
- threadUsers: [],
},
],
forks: [],