This is a generic class to provide middleware for Browse/Read/Edit/Add/Delete operations and forms. It comes with some baked-in pre-flight checks but needs to be extended to do useful work. All default actions except reads require being logged in.

Use the bakery method to create standard BREAD routes. :)

Hierarchy (View Summary)

Indexable

  • [key: string]: unknown

Constructors

Properties

action: string
actions: Record<string, BreadAction<unknown>>
editing: boolean = false
getResourceErrorHandler: (
    messageKeyPrefix: string,
    bodyParam: string,
) => (error: unknown) => void
id?: string
isPreview: boolean = false
messageKeyPrefix: string
method: string
next: NextFunction
renderPermissionError: BoundRenderFunction
renderResourceError: BoundRenderFunction
renderSigninRequired: BoundRenderFunction
renderTemplate: BoundTemplateRenderer
req: ProviderRequest
res: ProviderResponse

Methods

  • Parameters

    • OptionalformValues: ReviewFormValues
    • Optionalthing: InferData<
          {
              aliases: ObjectType<string[], false>;
              authors: VirtualType<MultilingualString[], false>;
              averageStarRating: VirtualType<unknown, false>;
              canonicalSlugName: StringType<false>;
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              description: VirtualType<MultilingualString, false>;
              id: StringType<false>;
              label: ObjectType<string, false>;
              metadata: ObjectType<unknown, false>;
              numberOfReviews: VirtualType<unknown, false>;
              originalLanguage: StringType<false>;
              subtitle: VirtualType<MultilingualString, false>;
              sync: ObjectType<unknown, false>;
              urlID: VirtualType<unknown, false>;
              urls: ArrayType<StringType<false>, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userCanUpload: VirtualType<unknown, false>;
              userIsCreator: VirtualType<unknown, false>;
          },
      > & InferVirtual<
          {
              aliases: ObjectType<string[], false>;
              authors: VirtualType<MultilingualString[], false>;
              averageStarRating: VirtualType<unknown, false>;
              canonicalSlugName: StringType<false>;
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              description: VirtualType<MultilingualString, false>;
              id: StringType<false>;
              label: ObjectType<string, false>;
              metadata: ObjectType<unknown, false>;
              numberOfReviews: VirtualType<unknown, false>;
              originalLanguage: StringType<false>;
              subtitle: VirtualType<MultilingualString, false>;
              sync: ObjectType<unknown, false>;
              urlID: VirtualType<unknown, false>;
              urls: ArrayType<StringType<false>, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userCanUpload: VirtualType<unknown, false>;
              userIsCreator: VirtualType<unknown, false>;
          },
      > & ModelInstanceCore<
          InferData<
              {
                  aliases: ObjectType<string[], false>;
                  authors: VirtualType<MultilingualString[], false>;
                  averageStarRating: VirtualType<unknown, false>;
                  canonicalSlugName: StringType<false>;
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  description: VirtualType<MultilingualString, false>;
                  id: StringType<false>;
                  label: ObjectType<string, false>;
                  metadata: ObjectType<unknown, false>;
                  numberOfReviews: VirtualType<unknown, false>;
                  originalLanguage: StringType<false>;
                  subtitle: VirtualType<MultilingualString, false>;
                  sync: ObjectType<unknown, false>;
                  urlID: VirtualType<unknown, false>;
                  urls: ArrayType<StringType<false>, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userCanUpload: VirtualType<unknown, false>;
                  userIsCreator: VirtualType<unknown, false>;
              },
          >,
          InferVirtual<
              {
                  aliases: ObjectType<string[], false>;
                  authors: VirtualType<MultilingualString[], false>;
                  averageStarRating: VirtualType<unknown, false>;
                  canonicalSlugName: StringType<false>;
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  description: VirtualType<MultilingualString, false>;
                  id: StringType<false>;
                  label: ObjectType<string, false>;
                  metadata: ObjectType<unknown, false>;
                  numberOfReviews: VirtualType<unknown, false>;
                  originalLanguage: StringType<false>;
                  subtitle: VirtualType<MultilingualString, false>;
                  sync: ObjectType<unknown, false>;
                  urlID: VirtualType<unknown, false>;
                  urls: ArrayType<StringType<false>, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userCanUpload: VirtualType<unknown, false>;
                  userIsCreator: VirtualType<unknown, false>;
              },
          >,
      > & RevisionFieldMap & {
          deleteAllRevisions<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              aliases: ObjectType<string[], false>;
                              authors: VirtualType<MultilingualString[], false>;
                              averageStarRating: VirtualType<unknown, false>;
                              canonicalSlugName: StringType<false>;
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              description: VirtualType<MultilingualString, false>;
                              id: StringType<false>;
                              label: ObjectType<string, false>;
                              metadata: ObjectType<unknown, false>;
                              numberOfReviews: VirtualType<unknown, false>;
                              originalLanguage: StringType<false>;
                              subtitle: VirtualType<MultilingualString, false>;
                              sync: ObjectType<unknown, false>;
                              urlID: VirtualType<unknown, false>;
                              urls: ArrayType<StringType<false>, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userCanUpload: VirtualType<unknown, false>;
                              userIsCreator: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              aliases: ObjectType<string[], false>;
                              authors: VirtualType<MultilingualString[], false>;
                              averageStarRating: VirtualType<unknown, false>;
                              canonicalSlugName: StringType<false>;
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              description: VirtualType<MultilingualString, false>;
                              id: StringType<false>;
                              label: ObjectType<string, false>;
                              metadata: ObjectType<unknown, false>;
                              numberOfReviews: VirtualType<unknown, false>;
                              originalLanguage: StringType<false>;
                              subtitle: VirtualType<MultilingualString, false>;
                              sync: ObjectType<unknown, false>;
                              urlID: VirtualType<unknown, false>;
                              urls: ArrayType<StringType<false>, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userCanUpload: VirtualType<unknown, false>;
                              userIsCreator: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          aliases: ObjectType<string[], false>;
                          authors: VirtualType<MultilingualString[], false>;
                          averageStarRating: VirtualType<unknown, false>;
                          canonicalSlugName: StringType<false>;
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          description: VirtualType<MultilingualString, false>;
                          id: StringType<false>;
                          label: ObjectType<string, false>;
                          metadata: ObjectType<unknown, false>;
                          numberOfReviews: VirtualType<unknown, false>;
                          originalLanguage: StringType<false>;
                          subtitle: VirtualType<MultilingualString, false>;
                          sync: ObjectType<unknown, false>;
                          urlID: VirtualType<unknown, false>;
                          urls: ArrayType<StringType<false>, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userCanUpload: VirtualType<unknown, false>;
                          userIsCreator: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          aliases: ObjectType<string[], false>;
                          authors: VirtualType<MultilingualString[], false>;
                          averageStarRating: VirtualType<unknown, false>;
                          canonicalSlugName: StringType<false>;
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          description: VirtualType<MultilingualString, false>;
                          id: StringType<false>;
                          label: ObjectType<string, false>;
                          metadata: ObjectType<unknown, false>;
                          numberOfReviews: VirtualType<unknown, false>;
                          originalLanguage: StringType<false>;
                          subtitle: VirtualType<MultilingualString, false>;
                          sync: ObjectType<unknown, false>;
                          urlID: VirtualType<unknown, false>;
                          urls: ArrayType<StringType<false>, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userCanUpload: VirtualType<unknown, false>;
                          userIsCreator: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user?: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
          newRevision<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              aliases: ObjectType<string[], false>;
                              authors: VirtualType<MultilingualString[], false>;
                              averageStarRating: VirtualType<unknown, false>;
                              canonicalSlugName: StringType<false>;
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              description: VirtualType<MultilingualString, false>;
                              id: StringType<false>;
                              label: ObjectType<string, false>;
                              metadata: ObjectType<unknown, false>;
                              numberOfReviews: VirtualType<unknown, false>;
                              originalLanguage: StringType<false>;
                              subtitle: VirtualType<MultilingualString, false>;
                              sync: ObjectType<unknown, false>;
                              urlID: VirtualType<unknown, false>;
                              urls: ArrayType<StringType<false>, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userCanUpload: VirtualType<unknown, false>;
                              userIsCreator: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              aliases: ObjectType<string[], false>;
                              authors: VirtualType<MultilingualString[], false>;
                              averageStarRating: VirtualType<unknown, false>;
                              canonicalSlugName: StringType<false>;
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              description: VirtualType<MultilingualString, false>;
                              id: StringType<false>;
                              label: ObjectType<string, false>;
                              metadata: ObjectType<unknown, false>;
                              numberOfReviews: VirtualType<unknown, false>;
                              originalLanguage: StringType<false>;
                              subtitle: VirtualType<MultilingualString, false>;
                              sync: ObjectType<unknown, false>;
                              urlID: VirtualType<unknown, false>;
                              urls: ArrayType<StringType<false>, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userCanUpload: VirtualType<unknown, false>;
                              userIsCreator: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          aliases: ObjectType<string[], false>;
                          authors: VirtualType<MultilingualString[], false>;
                          averageStarRating: VirtualType<unknown, false>;
                          canonicalSlugName: StringType<false>;
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          description: VirtualType<MultilingualString, false>;
                          id: StringType<false>;
                          label: ObjectType<string, false>;
                          metadata: ObjectType<unknown, false>;
                          numberOfReviews: VirtualType<unknown, false>;
                          originalLanguage: StringType<false>;
                          subtitle: VirtualType<MultilingualString, false>;
                          sync: ObjectType<unknown, false>;
                          urlID: VirtualType<unknown, false>;
                          urls: ArrayType<StringType<false>, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userCanUpload: VirtualType<unknown, false>;
                          userIsCreator: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          aliases: ObjectType<string[], false>;
                          authors: VirtualType<MultilingualString[], false>;
                          averageStarRating: VirtualType<unknown, false>;
                          canonicalSlugName: StringType<false>;
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          description: VirtualType<MultilingualString, false>;
                          id: StringType<false>;
                          label: ObjectType<string, false>;
                          metadata: ObjectType<unknown, false>;
                          numberOfReviews: VirtualType<unknown, false>;
                          originalLanguage: StringType<false>;
                          subtitle: VirtualType<MultilingualString, false>;
                          sync: ObjectType<unknown, false>;
                          urlID: VirtualType<unknown, false>;
                          urls: ArrayType<StringType<false>, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userCanUpload: VirtualType<unknown, false>;
                          userIsCreator: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
      } & ThingInstanceMethodsMap & ThingRelations

    Returns Promise<void>

  • Parameters

    • Optionalthing: InferData<
          {
              aliases: ObjectType<string[], false>;
              authors: VirtualType<MultilingualString[], false>;
              averageStarRating: VirtualType<unknown, false>;
              canonicalSlugName: StringType<false>;
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              description: VirtualType<MultilingualString, false>;
              id: StringType<false>;
              label: ObjectType<string, false>;
              metadata: ObjectType<unknown, false>;
              numberOfReviews: VirtualType<unknown, false>;
              originalLanguage: StringType<false>;
              subtitle: VirtualType<MultilingualString, false>;
              sync: ObjectType<unknown, false>;
              urlID: VirtualType<unknown, false>;
              urls: ArrayType<StringType<false>, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userCanUpload: VirtualType<unknown, false>;
              userIsCreator: VirtualType<unknown, false>;
          },
      > & InferVirtual<
          {
              aliases: ObjectType<string[], false>;
              authors: VirtualType<MultilingualString[], false>;
              averageStarRating: VirtualType<unknown, false>;
              canonicalSlugName: StringType<false>;
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              description: VirtualType<MultilingualString, false>;
              id: StringType<false>;
              label: ObjectType<string, false>;
              metadata: ObjectType<unknown, false>;
              numberOfReviews: VirtualType<unknown, false>;
              originalLanguage: StringType<false>;
              subtitle: VirtualType<MultilingualString, false>;
              sync: ObjectType<unknown, false>;
              urlID: VirtualType<unknown, false>;
              urls: ArrayType<StringType<false>, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userCanUpload: VirtualType<unknown, false>;
              userIsCreator: VirtualType<unknown, false>;
          },
      > & ModelInstanceCore<
          InferData<
              {
                  aliases: ObjectType<string[], false>;
                  authors: VirtualType<MultilingualString[], false>;
                  averageStarRating: VirtualType<unknown, false>;
                  canonicalSlugName: StringType<false>;
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  description: VirtualType<MultilingualString, false>;
                  id: StringType<false>;
                  label: ObjectType<string, false>;
                  metadata: ObjectType<unknown, false>;
                  numberOfReviews: VirtualType<unknown, false>;
                  originalLanguage: StringType<false>;
                  subtitle: VirtualType<MultilingualString, false>;
                  sync: ObjectType<unknown, false>;
                  urlID: VirtualType<unknown, false>;
                  urls: ArrayType<StringType<false>, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userCanUpload: VirtualType<unknown, false>;
                  userIsCreator: VirtualType<unknown, false>;
              },
          >,
          InferVirtual<
              {
                  aliases: ObjectType<string[], false>;
                  authors: VirtualType<MultilingualString[], false>;
                  averageStarRating: VirtualType<unknown, false>;
                  canonicalSlugName: StringType<false>;
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  description: VirtualType<MultilingualString, false>;
                  id: StringType<false>;
                  label: ObjectType<string, false>;
                  metadata: ObjectType<unknown, false>;
                  numberOfReviews: VirtualType<unknown, false>;
                  originalLanguage: StringType<false>;
                  subtitle: VirtualType<MultilingualString, false>;
                  sync: ObjectType<unknown, false>;
                  urlID: VirtualType<unknown, false>;
                  urls: ArrayType<StringType<false>, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userCanUpload: VirtualType<unknown, false>;
                  userIsCreator: VirtualType<unknown, false>;
              },
          >,
      > & RevisionFieldMap & {
          deleteAllRevisions<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              aliases: ObjectType<string[], false>;
                              authors: VirtualType<MultilingualString[], false>;
                              averageStarRating: VirtualType<unknown, false>;
                              canonicalSlugName: StringType<false>;
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              description: VirtualType<MultilingualString, false>;
                              id: StringType<false>;
                              label: ObjectType<string, false>;
                              metadata: ObjectType<unknown, false>;
                              numberOfReviews: VirtualType<unknown, false>;
                              originalLanguage: StringType<false>;
                              subtitle: VirtualType<MultilingualString, false>;
                              sync: ObjectType<unknown, false>;
                              urlID: VirtualType<unknown, false>;
                              urls: ArrayType<StringType<false>, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userCanUpload: VirtualType<unknown, false>;
                              userIsCreator: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              aliases: ObjectType<string[], false>;
                              authors: VirtualType<MultilingualString[], false>;
                              averageStarRating: VirtualType<unknown, false>;
                              canonicalSlugName: StringType<false>;
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              description: VirtualType<MultilingualString, false>;
                              id: StringType<false>;
                              label: ObjectType<string, false>;
                              metadata: ObjectType<unknown, false>;
                              numberOfReviews: VirtualType<unknown, false>;
                              originalLanguage: StringType<false>;
                              subtitle: VirtualType<MultilingualString, false>;
                              sync: ObjectType<unknown, false>;
                              urlID: VirtualType<unknown, false>;
                              urls: ArrayType<StringType<false>, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userCanUpload: VirtualType<unknown, false>;
                              userIsCreator: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          aliases: ObjectType<string[], false>;
                          authors: VirtualType<MultilingualString[], false>;
                          averageStarRating: VirtualType<unknown, false>;
                          canonicalSlugName: StringType<false>;
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          description: VirtualType<MultilingualString, false>;
                          id: StringType<false>;
                          label: ObjectType<string, false>;
                          metadata: ObjectType<unknown, false>;
                          numberOfReviews: VirtualType<unknown, false>;
                          originalLanguage: StringType<false>;
                          subtitle: VirtualType<MultilingualString, false>;
                          sync: ObjectType<unknown, false>;
                          urlID: VirtualType<unknown, false>;
                          urls: ArrayType<StringType<false>, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userCanUpload: VirtualType<unknown, false>;
                          userIsCreator: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          aliases: ObjectType<string[], false>;
                          authors: VirtualType<MultilingualString[], false>;
                          averageStarRating: VirtualType<unknown, false>;
                          canonicalSlugName: StringType<false>;
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          description: VirtualType<MultilingualString, false>;
                          id: StringType<false>;
                          label: ObjectType<string, false>;
                          metadata: ObjectType<unknown, false>;
                          numberOfReviews: VirtualType<unknown, false>;
                          originalLanguage: StringType<false>;
                          subtitle: VirtualType<MultilingualString, false>;
                          sync: ObjectType<unknown, false>;
                          urlID: VirtualType<unknown, false>;
                          urls: ArrayType<StringType<false>, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userCanUpload: VirtualType<unknown, false>;
                          userIsCreator: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user?: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
          newRevision<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              aliases: ObjectType<string[], false>;
                              authors: VirtualType<MultilingualString[], false>;
                              averageStarRating: VirtualType<unknown, false>;
                              canonicalSlugName: StringType<false>;
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              description: VirtualType<MultilingualString, false>;
                              id: StringType<false>;
                              label: ObjectType<string, false>;
                              metadata: ObjectType<unknown, false>;
                              numberOfReviews: VirtualType<unknown, false>;
                              originalLanguage: StringType<false>;
                              subtitle: VirtualType<MultilingualString, false>;
                              sync: ObjectType<unknown, false>;
                              urlID: VirtualType<unknown, false>;
                              urls: ArrayType<StringType<false>, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userCanUpload: VirtualType<unknown, false>;
                              userIsCreator: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              aliases: ObjectType<string[], false>;
                              authors: VirtualType<MultilingualString[], false>;
                              averageStarRating: VirtualType<unknown, false>;
                              canonicalSlugName: StringType<false>;
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              description: VirtualType<MultilingualString, false>;
                              id: StringType<false>;
                              label: ObjectType<string, false>;
                              metadata: ObjectType<unknown, false>;
                              numberOfReviews: VirtualType<unknown, false>;
                              originalLanguage: StringType<false>;
                              subtitle: VirtualType<MultilingualString, false>;
                              sync: ObjectType<unknown, false>;
                              urlID: VirtualType<unknown, false>;
                              urls: ArrayType<StringType<false>, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userCanUpload: VirtualType<unknown, false>;
                              userIsCreator: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          aliases: ObjectType<string[], false>;
                          authors: VirtualType<MultilingualString[], false>;
                          averageStarRating: VirtualType<unknown, false>;
                          canonicalSlugName: StringType<false>;
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          description: VirtualType<MultilingualString, false>;
                          id: StringType<false>;
                          label: ObjectType<string, false>;
                          metadata: ObjectType<unknown, false>;
                          numberOfReviews: VirtualType<unknown, false>;
                          originalLanguage: StringType<false>;
                          subtitle: VirtualType<MultilingualString, false>;
                          sync: ObjectType<unknown, false>;
                          urlID: VirtualType<unknown, false>;
                          urls: ArrayType<StringType<false>, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userCanUpload: VirtualType<unknown, false>;
                          userIsCreator: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          aliases: ObjectType<string[], false>;
                          authors: VirtualType<MultilingualString[], false>;
                          averageStarRating: VirtualType<unknown, false>;
                          canonicalSlugName: StringType<false>;
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          description: VirtualType<MultilingualString, false>;
                          id: StringType<false>;
                          label: ObjectType<string, false>;
                          metadata: ObjectType<unknown, false>;
                          numberOfReviews: VirtualType<unknown, false>;
                          originalLanguage: StringType<false>;
                          subtitle: VirtualType<MultilingualString, false>;
                          sync: ObjectType<unknown, false>;
                          urlID: VirtualType<unknown, false>;
                          urls: ArrayType<StringType<false>, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userCanUpload: VirtualType<unknown, false>;
                          userIsCreator: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
      } & ThingInstanceMethodsMap & ThingRelations

    Returns Promise<void>

  • Parameters

    • review: InferData<
          {
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              html: ObjectType<string, false>;
              id: StringType<false>;
              originalLanguage: StringType<false>;
              socialImageID: StringType<false>;
              starRating: NumberType<true>;
              text: ObjectType<string, false>;
              thingID: StringType<true>;
              title: ObjectType<string, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userIsAuthor: VirtualType<unknown, false>;
          },
      > & InferVirtual<
          {
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              html: ObjectType<string, false>;
              id: StringType<false>;
              originalLanguage: StringType<false>;
              socialImageID: StringType<false>;
              starRating: NumberType<true>;
              text: ObjectType<string, false>;
              thingID: StringType<true>;
              title: ObjectType<string, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userIsAuthor: VirtualType<unknown, false>;
          },
      > & ModelInstanceCore<
          InferData<
              {
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  html: ObjectType<string, false>;
                  id: StringType<false>;
                  originalLanguage: StringType<false>;
                  socialImageID: StringType<false>;
                  starRating: NumberType<true>;
                  text: ObjectType<string, false>;
                  thingID: StringType<true>;
                  title: ObjectType<string, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userIsAuthor: VirtualType<unknown, false>;
              },
          >,
          InferVirtual<
              {
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  html: ObjectType<string, false>;
                  id: StringType<false>;
                  originalLanguage: StringType<false>;
                  socialImageID: StringType<false>;
                  starRating: NumberType<true>;
                  text: ObjectType<string, false>;
                  thingID: StringType<true>;
                  title: ObjectType<string, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userIsAuthor: VirtualType<unknown, false>;
              },
          >,
      > & RevisionFieldMap & {
          deleteAllRevisions<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user?: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
          newRevision<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
      } & {
          deleteAllRevisionsWithThing(
              user: RevisionActor,
          ): Promise<[unknown, unknown]>;
          populateUserInfo(user: UserAccessContext): void;
      } & ReviewRelations

    Returns Promise<void>

  • Parameters

    • review: InferData<
          {
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              html: ObjectType<string, false>;
              id: StringType<false>;
              originalLanguage: StringType<false>;
              socialImageID: StringType<false>;
              starRating: NumberType<true>;
              text: ObjectType<string, false>;
              thingID: StringType<true>;
              title: ObjectType<string, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userIsAuthor: VirtualType<unknown, false>;
          },
      > & InferVirtual<
          {
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              html: ObjectType<string, false>;
              id: StringType<false>;
              originalLanguage: StringType<false>;
              socialImageID: StringType<false>;
              starRating: NumberType<true>;
              text: ObjectType<string, false>;
              thingID: StringType<true>;
              title: ObjectType<string, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userIsAuthor: VirtualType<unknown, false>;
          },
      > & ModelInstanceCore<
          InferData<
              {
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  html: ObjectType<string, false>;
                  id: StringType<false>;
                  originalLanguage: StringType<false>;
                  socialImageID: StringType<false>;
                  starRating: NumberType<true>;
                  text: ObjectType<string, false>;
                  thingID: StringType<true>;
                  title: ObjectType<string, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userIsAuthor: VirtualType<unknown, false>;
              },
          >,
          InferVirtual<
              {
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  html: ObjectType<string, false>;
                  id: StringType<false>;
                  originalLanguage: StringType<false>;
                  socialImageID: StringType<false>;
                  starRating: NumberType<true>;
                  text: ObjectType<string, false>;
                  thingID: StringType<true>;
                  title: ObjectType<string, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userIsAuthor: VirtualType<unknown, false>;
              },
          >,
      > & RevisionFieldMap & {
          deleteAllRevisions<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user?: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
          newRevision<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
      } & {
          deleteAllRevisionsWithThing(
              user: RevisionActor,
          ): Promise<[unknown, unknown]>;
          populateUserInfo(user: UserAccessContext): void;
      } & ReviewRelations

    Returns Promise<void>

  • Parameters

    • review: InferData<
          {
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              html: ObjectType<string, false>;
              id: StringType<false>;
              originalLanguage: StringType<false>;
              socialImageID: StringType<false>;
              starRating: NumberType<true>;
              text: ObjectType<string, false>;
              thingID: StringType<true>;
              title: ObjectType<string, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userIsAuthor: VirtualType<unknown, false>;
          },
      > & InferVirtual<
          {
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              html: ObjectType<string, false>;
              id: StringType<false>;
              originalLanguage: StringType<false>;
              socialImageID: StringType<false>;
              starRating: NumberType<true>;
              text: ObjectType<string, false>;
              thingID: StringType<true>;
              title: ObjectType<string, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userIsAuthor: VirtualType<unknown, false>;
          },
      > & ModelInstanceCore<
          InferData<
              {
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  html: ObjectType<string, false>;
                  id: StringType<false>;
                  originalLanguage: StringType<false>;
                  socialImageID: StringType<false>;
                  starRating: NumberType<true>;
                  text: ObjectType<string, false>;
                  thingID: StringType<true>;
                  title: ObjectType<string, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userIsAuthor: VirtualType<unknown, false>;
              },
          >,
          InferVirtual<
              {
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  html: ObjectType<string, false>;
                  id: StringType<false>;
                  originalLanguage: StringType<false>;
                  socialImageID: StringType<false>;
                  starRating: NumberType<true>;
                  text: ObjectType<string, false>;
                  thingID: StringType<true>;
                  title: ObjectType<string, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userIsAuthor: VirtualType<unknown, false>;
              },
          >,
      > & RevisionFieldMap & {
          deleteAllRevisions<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user?: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
          newRevision<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
      } & {
          deleteAllRevisionsWithThing(
              user: RevisionActor,
          ): Promise<[unknown, unknown]>;
          populateUserInfo(user: UserAccessContext): void;
      } & ReviewRelations

    Returns Promise<void>

  • Parameters

    • review: InferData<
          {
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              html: ObjectType<string, false>;
              id: StringType<false>;
              originalLanguage: StringType<false>;
              socialImageID: StringType<false>;
              starRating: NumberType<true>;
              text: ObjectType<string, false>;
              thingID: StringType<true>;
              title: ObjectType<string, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userIsAuthor: VirtualType<unknown, false>;
          },
      > & InferVirtual<
          {
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              html: ObjectType<string, false>;
              id: StringType<false>;
              originalLanguage: StringType<false>;
              socialImageID: StringType<false>;
              starRating: NumberType<true>;
              text: ObjectType<string, false>;
              thingID: StringType<true>;
              title: ObjectType<string, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userIsAuthor: VirtualType<unknown, false>;
          },
      > & ModelInstanceCore<
          InferData<
              {
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  html: ObjectType<string, false>;
                  id: StringType<false>;
                  originalLanguage: StringType<false>;
                  socialImageID: StringType<false>;
                  starRating: NumberType<true>;
                  text: ObjectType<string, false>;
                  thingID: StringType<true>;
                  title: ObjectType<string, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userIsAuthor: VirtualType<unknown, false>;
              },
          >,
          InferVirtual<
              {
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  html: ObjectType<string, false>;
                  id: StringType<false>;
                  originalLanguage: StringType<false>;
                  socialImageID: StringType<false>;
                  starRating: NumberType<true>;
                  text: ObjectType<string, false>;
                  thingID: StringType<true>;
                  title: ObjectType<string, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userIsAuthor: VirtualType<unknown, false>;
              },
          >,
      > & RevisionFieldMap & {
          deleteAllRevisions<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user?: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
          newRevision<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
      } & {
          deleteAllRevisionsWithThing(
              user: RevisionActor,
          ): Promise<[unknown, unknown]>;
          populateUserInfo(user: UserAccessContext): void;
      } & ReviewRelations

    Returns Promise<void>

  • Parameters

    • review: InferData<
          {
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              html: ObjectType<string, false>;
              id: StringType<false>;
              originalLanguage: StringType<false>;
              socialImageID: StringType<false>;
              starRating: NumberType<true>;
              text: ObjectType<string, false>;
              thingID: StringType<true>;
              title: ObjectType<string, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userIsAuthor: VirtualType<unknown, false>;
          },
      > & InferVirtual<
          {
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              html: ObjectType<string, false>;
              id: StringType<false>;
              originalLanguage: StringType<false>;
              socialImageID: StringType<false>;
              starRating: NumberType<true>;
              text: ObjectType<string, false>;
              thingID: StringType<true>;
              title: ObjectType<string, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userIsAuthor: VirtualType<unknown, false>;
          },
      > & ModelInstanceCore<
          InferData<
              {
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  html: ObjectType<string, false>;
                  id: StringType<false>;
                  originalLanguage: StringType<false>;
                  socialImageID: StringType<false>;
                  starRating: NumberType<true>;
                  text: ObjectType<string, false>;
                  thingID: StringType<true>;
                  title: ObjectType<string, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userIsAuthor: VirtualType<unknown, false>;
              },
          >,
          InferVirtual<
              {
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  html: ObjectType<string, false>;
                  id: StringType<false>;
                  originalLanguage: StringType<false>;
                  socialImageID: StringType<false>;
                  starRating: NumberType<true>;
                  text: ObjectType<string, false>;
                  thingID: StringType<true>;
                  title: ObjectType<string, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userIsAuthor: VirtualType<unknown, false>;
              },
          >,
      > & RevisionFieldMap & {
          deleteAllRevisions<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user?: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
          newRevision<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
      } & {
          deleteAllRevisionsWithThing(
              user: RevisionActor,
          ): Promise<[unknown, unknown]>;
          populateUserInfo(user: UserAccessContext): void;
      } & ReviewRelations
    • user: User

    Returns {
        author: string;
        authorURL: string;
        createdOn: Date;
        html: Record<string, string>;
        reviewURL: string;
        starRating: number;
        text: Record<string, string>;
        thingLabel: Record<string, string>;
        thingURL: string;
        thingURLs: string[];
        title: Record<string, string>;
    }

  • Returns Promise<
        InferData<
            {
                createdBy: StringType<true>;
                createdOn: DateType<true>;
                html: ObjectType<string, false>;
                id: StringType<false>;
                originalLanguage: StringType<false>;
                socialImageID: StringType<false>;
                starRating: NumberType<true>;
                text: ObjectType<string, false>;
                thingID: StringType<true>;
                title: ObjectType<string, false>;
                userCanDelete: VirtualType<unknown, false>;
                userCanEdit: VirtualType<unknown, false>;
                userIsAuthor: VirtualType<unknown, false>;
            },
        > & InferVirtual<
            {
                createdBy: StringType<true>;
                createdOn: DateType<true>;
                html: ObjectType<string, false>;
                id: StringType<false>;
                originalLanguage: StringType<false>;
                socialImageID: StringType<false>;
                starRating: NumberType<true>;
                text: ObjectType<string, false>;
                thingID: StringType<true>;
                title: ObjectType<string, false>;
                userCanDelete: VirtualType<unknown, false>;
                userCanEdit: VirtualType<unknown, false>;
                userIsAuthor: VirtualType<unknown, false>;
            },
        > & ModelInstanceCore<
            InferData<
                {
                    createdBy: StringType<true>;
                    createdOn: DateType<true>;
                    html: ObjectType<string, false>;
                    id: StringType<false>;
                    originalLanguage: StringType<false>;
                    socialImageID: StringType<false>;
                    starRating: NumberType<true>;
                    text: ObjectType<string, false>;
                    thingID: StringType<true>;
                    title: ObjectType<string, false>;
                    userCanDelete: VirtualType<unknown, false>;
                    userCanEdit: VirtualType<unknown, false>;
                    userIsAuthor: VirtualType<unknown, false>;
                },
            >,
            InferVirtual<
                {
                    createdBy: StringType<true>;
                    createdOn: DateType<true>;
                    html: ObjectType<string, false>;
                    id: StringType<false>;
                    originalLanguage: StringType<false>;
                    socialImageID: StringType<false>;
                    starRating: NumberType<true>;
                    text: ObjectType<string, false>;
                    thingID: StringType<true>;
                    title: ObjectType<string, false>;
                    userCanDelete: VirtualType<unknown, false>;
                    userCanEdit: VirtualType<unknown, false>;
                    userIsAuthor: VirtualType<unknown, false>;
                },
            >,
        > & RevisionFieldMap & {
            deleteAllRevisions<
                TThis extends
                    VersionedModelInstance<
                        InferData<
                            {
                                createdBy: StringType<true>;
                                createdOn: DateType<true>;
                                html: ObjectType<string, false>;
                                id: StringType<false>;
                                originalLanguage: StringType<false>;
                                socialImageID: StringType<false>;
                                starRating: NumberType<true>;
                                text: ObjectType<string, false>;
                                thingID: StringType<true>;
                                title: ObjectType<string, false>;
                                userCanDelete: VirtualType<unknown, false>;
                                userCanEdit: VirtualType<unknown, false>;
                                userIsAuthor: VirtualType<unknown, false>;
                            },
                        >,
                        InferVirtual<
                            {
                                createdBy: StringType<true>;
                                createdOn: DateType<true>;
                                html: ObjectType<string, false>;
                                id: StringType<false>;
                                originalLanguage: StringType<false>;
                                socialImageID: StringType<false>;
                                starRating: NumberType<true>;
                                text: ObjectType<string, false>;
                                thingID: StringType<true>;
                                title: ObjectType<string, false>;
                                userCanDelete: VirtualType<unknown, false>;
                                userCanEdit: VirtualType<unknown, false>;
                                userIsAuthor: VirtualType<unknown, false>;
                            },
                        >,
                    > = VersionedModelInstance<
                    InferData<
                        {
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            html: ObjectType<string, false>;
                            id: StringType<false>;
                            originalLanguage: StringType<false>;
                            socialImageID: StringType<false>;
                            starRating: NumberType<true>;
                            text: ObjectType<string, false>;
                            thingID: StringType<true>;
                            title: ObjectType<string, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userIsAuthor: VirtualType<unknown, false>;
                        },
                    >,
                    InferVirtual<
                        {
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            html: ObjectType<string, false>;
                            id: StringType<false>;
                            originalLanguage: StringType<false>;
                            socialImageID: StringType<false>;
                            starRating: NumberType<true>;
                            text: ObjectType<string, false>;
                            thingID: StringType<true>;
                            title: ObjectType<string, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userIsAuthor: VirtualType<unknown, false>;
                        },
                    >,
                >,
            >(
                this: TThis,
                user?: RevisionActor,
                options?: RevisionMetadata,
            ): Promise<TThis>;
            newRevision<
                TThis extends
                    VersionedModelInstance<
                        InferData<
                            {
                                createdBy: StringType<true>;
                                createdOn: DateType<true>;
                                html: ObjectType<string, false>;
                                id: StringType<false>;
                                originalLanguage: StringType<false>;
                                socialImageID: StringType<false>;
                                starRating: NumberType<true>;
                                text: ObjectType<string, false>;
                                thingID: StringType<true>;
                                title: ObjectType<string, false>;
                                userCanDelete: VirtualType<unknown, false>;
                                userCanEdit: VirtualType<unknown, false>;
                                userIsAuthor: VirtualType<unknown, false>;
                            },
                        >,
                        InferVirtual<
                            {
                                createdBy: StringType<true>;
                                createdOn: DateType<true>;
                                html: ObjectType<string, false>;
                                id: StringType<false>;
                                originalLanguage: StringType<false>;
                                socialImageID: StringType<false>;
                                starRating: NumberType<true>;
                                text: ObjectType<string, false>;
                                thingID: StringType<true>;
                                title: ObjectType<string, false>;
                                userCanDelete: VirtualType<unknown, false>;
                                userCanEdit: VirtualType<unknown, false>;
                                userIsAuthor: VirtualType<unknown, false>;
                            },
                        >,
                    > = VersionedModelInstance<
                    InferData<
                        {
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            html: ObjectType<string, false>;
                            id: StringType<false>;
                            originalLanguage: StringType<false>;
                            socialImageID: StringType<false>;
                            starRating: NumberType<true>;
                            text: ObjectType<string, false>;
                            thingID: StringType<true>;
                            title: ObjectType<string, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userIsAuthor: VirtualType<unknown, false>;
                        },
                    >,
                    InferVirtual<
                        {
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            html: ObjectType<string, false>;
                            id: StringType<false>;
                            originalLanguage: StringType<false>;
                            socialImageID: StringType<false>;
                            starRating: NumberType<true>;
                            text: ObjectType<string, false>;
                            thingID: StringType<true>;
                            title: ObjectType<string, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userIsAuthor: VirtualType<unknown, false>;
                        },
                    >,
                >,
            >(
                this: TThis,
                user: RevisionActor,
                options?: RevisionMetadata,
            ): Promise<TThis>;
        } & {
            deleteAllRevisionsWithThing(
                user: RevisionActor,
            ): Promise<[unknown, unknown]>;
            populateUserInfo(user: UserAccessContext): void;
        } & ReviewRelations,
    >

  • Returns Promise<
        InferData<
            {
                aliases: ObjectType<string[], false>;
                authors: VirtualType<MultilingualString[], false>;
                averageStarRating: VirtualType<unknown, false>;
                canonicalSlugName: StringType<false>;
                createdBy: StringType<true>;
                createdOn: DateType<true>;
                description: VirtualType<MultilingualString, false>;
                id: StringType<false>;
                label: ObjectType<string, false>;
                metadata: ObjectType<unknown, false>;
                numberOfReviews: VirtualType<unknown, false>;
                originalLanguage: StringType<false>;
                subtitle: VirtualType<MultilingualString, false>;
                sync: ObjectType<unknown, false>;
                urlID: VirtualType<unknown, false>;
                urls: ArrayType<StringType<false>, false>;
                userCanDelete: VirtualType<unknown, false>;
                userCanEdit: VirtualType<unknown, false>;
                userCanUpload: VirtualType<unknown, false>;
                userIsCreator: VirtualType<unknown, false>;
            },
        > & InferVirtual<
            {
                aliases: ObjectType<string[], false>;
                authors: VirtualType<MultilingualString[], false>;
                averageStarRating: VirtualType<unknown, false>;
                canonicalSlugName: StringType<false>;
                createdBy: StringType<true>;
                createdOn: DateType<true>;
                description: VirtualType<MultilingualString, false>;
                id: StringType<false>;
                label: ObjectType<string, false>;
                metadata: ObjectType<unknown, false>;
                numberOfReviews: VirtualType<unknown, false>;
                originalLanguage: StringType<false>;
                subtitle: VirtualType<MultilingualString, false>;
                sync: ObjectType<unknown, false>;
                urlID: VirtualType<unknown, false>;
                urls: ArrayType<StringType<false>, false>;
                userCanDelete: VirtualType<unknown, false>;
                userCanEdit: VirtualType<unknown, false>;
                userCanUpload: VirtualType<unknown, false>;
                userIsCreator: VirtualType<unknown, false>;
            },
        > & ModelInstanceCore<
            InferData<
                {
                    aliases: ObjectType<string[], false>;
                    authors: VirtualType<MultilingualString[], false>;
                    averageStarRating: VirtualType<unknown, false>;
                    canonicalSlugName: StringType<false>;
                    createdBy: StringType<true>;
                    createdOn: DateType<true>;
                    description: VirtualType<MultilingualString, false>;
                    id: StringType<false>;
                    label: ObjectType<string, false>;
                    metadata: ObjectType<unknown, false>;
                    numberOfReviews: VirtualType<unknown, false>;
                    originalLanguage: StringType<false>;
                    subtitle: VirtualType<MultilingualString, false>;
                    sync: ObjectType<unknown, false>;
                    urlID: VirtualType<unknown, false>;
                    urls: ArrayType<StringType<false>, false>;
                    userCanDelete: VirtualType<unknown, false>;
                    userCanEdit: VirtualType<unknown, false>;
                    userCanUpload: VirtualType<unknown, false>;
                    userIsCreator: VirtualType<unknown, false>;
                },
            >,
            InferVirtual<
                {
                    aliases: ObjectType<string[], false>;
                    authors: VirtualType<MultilingualString[], false>;
                    averageStarRating: VirtualType<unknown, false>;
                    canonicalSlugName: StringType<false>;
                    createdBy: StringType<true>;
                    createdOn: DateType<true>;
                    description: VirtualType<MultilingualString, false>;
                    id: StringType<false>;
                    label: ObjectType<string, false>;
                    metadata: ObjectType<unknown, false>;
                    numberOfReviews: VirtualType<unknown, false>;
                    originalLanguage: StringType<false>;
                    subtitle: VirtualType<MultilingualString, false>;
                    sync: ObjectType<unknown, false>;
                    urlID: VirtualType<unknown, false>;
                    urls: ArrayType<StringType<false>, false>;
                    userCanDelete: VirtualType<unknown, false>;
                    userCanEdit: VirtualType<unknown, false>;
                    userCanUpload: VirtualType<unknown, false>;
                    userIsCreator: VirtualType<unknown, false>;
                },
            >,
        > & RevisionFieldMap & {
            deleteAllRevisions<
                TThis extends
                    VersionedModelInstance<
                        InferData<
                            {
                                aliases: ObjectType<string[], false>;
                                authors: VirtualType<MultilingualString[], false>;
                                averageStarRating: VirtualType<unknown, false>;
                                canonicalSlugName: StringType<false>;
                                createdBy: StringType<true>;
                                createdOn: DateType<true>;
                                description: VirtualType<MultilingualString, false>;
                                id: StringType<false>;
                                label: ObjectType<string, false>;
                                metadata: ObjectType<unknown, false>;
                                numberOfReviews: VirtualType<unknown, false>;
                                originalLanguage: StringType<false>;
                                subtitle: VirtualType<MultilingualString, false>;
                                sync: ObjectType<unknown, false>;
                                urlID: VirtualType<unknown, false>;
                                urls: ArrayType<StringType<false>, false>;
                                userCanDelete: VirtualType<unknown, false>;
                                userCanEdit: VirtualType<unknown, false>;
                                userCanUpload: VirtualType<unknown, false>;
                                userIsCreator: VirtualType<unknown, false>;
                            },
                        >,
                        InferVirtual<
                            {
                                aliases: ObjectType<string[], false>;
                                authors: VirtualType<MultilingualString[], false>;
                                averageStarRating: VirtualType<unknown, false>;
                                canonicalSlugName: StringType<false>;
                                createdBy: StringType<true>;
                                createdOn: DateType<true>;
                                description: VirtualType<MultilingualString, false>;
                                id: StringType<false>;
                                label: ObjectType<string, false>;
                                metadata: ObjectType<unknown, false>;
                                numberOfReviews: VirtualType<unknown, false>;
                                originalLanguage: StringType<false>;
                                subtitle: VirtualType<MultilingualString, false>;
                                sync: ObjectType<unknown, false>;
                                urlID: VirtualType<unknown, false>;
                                urls: ArrayType<StringType<false>, false>;
                                userCanDelete: VirtualType<unknown, false>;
                                userCanEdit: VirtualType<unknown, false>;
                                userCanUpload: VirtualType<unknown, false>;
                                userIsCreator: VirtualType<unknown, false>;
                            },
                        >,
                    > = VersionedModelInstance<
                    InferData<
                        {
                            aliases: ObjectType<string[], false>;
                            authors: VirtualType<MultilingualString[], false>;
                            averageStarRating: VirtualType<unknown, false>;
                            canonicalSlugName: StringType<false>;
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            description: VirtualType<MultilingualString, false>;
                            id: StringType<false>;
                            label: ObjectType<string, false>;
                            metadata: ObjectType<unknown, false>;
                            numberOfReviews: VirtualType<unknown, false>;
                            originalLanguage: StringType<false>;
                            subtitle: VirtualType<MultilingualString, false>;
                            sync: ObjectType<unknown, false>;
                            urlID: VirtualType<unknown, false>;
                            urls: ArrayType<StringType<false>, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userCanUpload: VirtualType<unknown, false>;
                            userIsCreator: VirtualType<unknown, false>;
                        },
                    >,
                    InferVirtual<
                        {
                            aliases: ObjectType<string[], false>;
                            authors: VirtualType<MultilingualString[], false>;
                            averageStarRating: VirtualType<unknown, false>;
                            canonicalSlugName: StringType<false>;
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            description: VirtualType<MultilingualString, false>;
                            id: StringType<false>;
                            label: ObjectType<string, false>;
                            metadata: ObjectType<unknown, false>;
                            numberOfReviews: VirtualType<unknown, false>;
                            originalLanguage: StringType<false>;
                            subtitle: VirtualType<MultilingualString, false>;
                            sync: ObjectType<unknown, false>;
                            urlID: VirtualType<unknown, false>;
                            urls: ArrayType<StringType<false>, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userCanUpload: VirtualType<unknown, false>;
                            userIsCreator: VirtualType<unknown, false>;
                        },
                    >,
                >,
            >(
                this: TThis,
                user?: RevisionActor,
                options?: RevisionMetadata,
            ): Promise<TThis>;
            newRevision<
                TThis extends
                    VersionedModelInstance<
                        InferData<
                            {
                                aliases: ObjectType<string[], false>;
                                authors: VirtualType<MultilingualString[], false>;
                                averageStarRating: VirtualType<unknown, false>;
                                canonicalSlugName: StringType<false>;
                                createdBy: StringType<true>;
                                createdOn: DateType<true>;
                                description: VirtualType<MultilingualString, false>;
                                id: StringType<false>;
                                label: ObjectType<string, false>;
                                metadata: ObjectType<unknown, false>;
                                numberOfReviews: VirtualType<unknown, false>;
                                originalLanguage: StringType<false>;
                                subtitle: VirtualType<MultilingualString, false>;
                                sync: ObjectType<unknown, false>;
                                urlID: VirtualType<unknown, false>;
                                urls: ArrayType<StringType<false>, false>;
                                userCanDelete: VirtualType<unknown, false>;
                                userCanEdit: VirtualType<unknown, false>;
                                userCanUpload: VirtualType<unknown, false>;
                                userIsCreator: VirtualType<unknown, false>;
                            },
                        >,
                        InferVirtual<
                            {
                                aliases: ObjectType<string[], false>;
                                authors: VirtualType<MultilingualString[], false>;
                                averageStarRating: VirtualType<unknown, false>;
                                canonicalSlugName: StringType<false>;
                                createdBy: StringType<true>;
                                createdOn: DateType<true>;
                                description: VirtualType<MultilingualString, false>;
                                id: StringType<false>;
                                label: ObjectType<string, false>;
                                metadata: ObjectType<unknown, false>;
                                numberOfReviews: VirtualType<unknown, false>;
                                originalLanguage: StringType<false>;
                                subtitle: VirtualType<MultilingualString, false>;
                                sync: ObjectType<unknown, false>;
                                urlID: VirtualType<unknown, false>;
                                urls: ArrayType<StringType<false>, false>;
                                userCanDelete: VirtualType<unknown, false>;
                                userCanEdit: VirtualType<unknown, false>;
                                userCanUpload: VirtualType<unknown, false>;
                                userIsCreator: VirtualType<unknown, false>;
                            },
                        >,
                    > = VersionedModelInstance<
                    InferData<
                        {
                            aliases: ObjectType<string[], false>;
                            authors: VirtualType<MultilingualString[], false>;
                            averageStarRating: VirtualType<unknown, false>;
                            canonicalSlugName: StringType<false>;
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            description: VirtualType<MultilingualString, false>;
                            id: StringType<false>;
                            label: ObjectType<string, false>;
                            metadata: ObjectType<unknown, false>;
                            numberOfReviews: VirtualType<unknown, false>;
                            originalLanguage: StringType<false>;
                            subtitle: VirtualType<MultilingualString, false>;
                            sync: ObjectType<unknown, false>;
                            urlID: VirtualType<unknown, false>;
                            urls: ArrayType<StringType<false>, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userCanUpload: VirtualType<unknown, false>;
                            userIsCreator: VirtualType<unknown, false>;
                        },
                    >,
                    InferVirtual<
                        {
                            aliases: ObjectType<string[], false>;
                            authors: VirtualType<MultilingualString[], false>;
                            averageStarRating: VirtualType<unknown, false>;
                            canonicalSlugName: StringType<false>;
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            description: VirtualType<MultilingualString, false>;
                            id: StringType<false>;
                            label: ObjectType<string, false>;
                            metadata: ObjectType<unknown, false>;
                            numberOfReviews: VirtualType<unknown, false>;
                            originalLanguage: StringType<false>;
                            subtitle: VirtualType<MultilingualString, false>;
                            sync: ObjectType<unknown, false>;
                            urlID: VirtualType<unknown, false>;
                            urls: ArrayType<StringType<false>, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userCanUpload: VirtualType<unknown, false>;
                            userIsCreator: VirtualType<unknown, false>;
                        },
                    >,
                >,
            >(
                this: TThis,
                user: RevisionActor,
                options?: RevisionMetadata,
            ): Promise<TThis>;
        } & ThingInstanceMethodsMap & ThingRelations,
    >

  • Parameters

    • review: InferData<
          {
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              html: ObjectType<string, false>;
              id: StringType<false>;
              originalLanguage: StringType<false>;
              socialImageID: StringType<false>;
              starRating: NumberType<true>;
              text: ObjectType<string, false>;
              thingID: StringType<true>;
              title: ObjectType<string, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userIsAuthor: VirtualType<unknown, false>;
          },
      > & InferVirtual<
          {
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              html: ObjectType<string, false>;
              id: StringType<false>;
              originalLanguage: StringType<false>;
              socialImageID: StringType<false>;
              starRating: NumberType<true>;
              text: ObjectType<string, false>;
              thingID: StringType<true>;
              title: ObjectType<string, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userIsAuthor: VirtualType<unknown, false>;
          },
      > & ModelInstanceCore<
          InferData<
              {
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  html: ObjectType<string, false>;
                  id: StringType<false>;
                  originalLanguage: StringType<false>;
                  socialImageID: StringType<false>;
                  starRating: NumberType<true>;
                  text: ObjectType<string, false>;
                  thingID: StringType<true>;
                  title: ObjectType<string, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userIsAuthor: VirtualType<unknown, false>;
              },
          >,
          InferVirtual<
              {
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  html: ObjectType<string, false>;
                  id: StringType<false>;
                  originalLanguage: StringType<false>;
                  socialImageID: StringType<false>;
                  starRating: NumberType<true>;
                  text: ObjectType<string, false>;
                  thingID: StringType<true>;
                  title: ObjectType<string, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userIsAuthor: VirtualType<unknown, false>;
              },
          >,
      > & RevisionFieldMap & {
          deleteAllRevisions<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user?: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
          newRevision<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
      } & {
          deleteAllRevisionsWithThing(
              user: RevisionActor,
          ): Promise<[unknown, unknown]>;
          populateUserInfo(user: UserAccessContext): void;
      } & ReviewRelations

    Returns void

  • Parameters

    • newRev: InferData<
          {
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              html: ObjectType<string, false>;
              id: StringType<false>;
              originalLanguage: StringType<false>;
              socialImageID: StringType<false>;
              starRating: NumberType<true>;
              text: ObjectType<string, false>;
              thingID: StringType<true>;
              title: ObjectType<string, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userIsAuthor: VirtualType<unknown, false>;
          },
      > & InferVirtual<
          {
              createdBy: StringType<true>;
              createdOn: DateType<true>;
              html: ObjectType<string, false>;
              id: StringType<false>;
              originalLanguage: StringType<false>;
              socialImageID: StringType<false>;
              starRating: NumberType<true>;
              text: ObjectType<string, false>;
              thingID: StringType<true>;
              title: ObjectType<string, false>;
              userCanDelete: VirtualType<unknown, false>;
              userCanEdit: VirtualType<unknown, false>;
              userIsAuthor: VirtualType<unknown, false>;
          },
      > & ModelInstanceCore<
          InferData<
              {
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  html: ObjectType<string, false>;
                  id: StringType<false>;
                  originalLanguage: StringType<false>;
                  socialImageID: StringType<false>;
                  starRating: NumberType<true>;
                  text: ObjectType<string, false>;
                  thingID: StringType<true>;
                  title: ObjectType<string, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userIsAuthor: VirtualType<unknown, false>;
              },
          >,
          InferVirtual<
              {
                  createdBy: StringType<true>;
                  createdOn: DateType<true>;
                  html: ObjectType<string, false>;
                  id: StringType<false>;
                  originalLanguage: StringType<false>;
                  socialImageID: StringType<false>;
                  starRating: NumberType<true>;
                  text: ObjectType<string, false>;
                  thingID: StringType<true>;
                  title: ObjectType<string, false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userCanEdit: VirtualType<unknown, false>;
                  userIsAuthor: VirtualType<unknown, false>;
              },
          >,
      > & RevisionFieldMap & {
          deleteAllRevisions<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user?: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
          newRevision<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              createdBy: StringType<true>;
                              createdOn: DateType<true>;
                              html: ObjectType<string, false>;
                              id: StringType<false>;
                              originalLanguage: StringType<false>;
                              socialImageID: StringType<false>;
                              starRating: NumberType<true>;
                              text: ObjectType<string, false>;
                              thingID: StringType<true>;
                              title: ObjectType<string, false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userCanEdit: VirtualType<unknown, false>;
                              userIsAuthor: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          createdBy: StringType<true>;
                          createdOn: DateType<true>;
                          html: ObjectType<string, false>;
                          id: StringType<false>;
                          originalLanguage: StringType<false>;
                          socialImageID: StringType<false>;
                          starRating: NumberType<true>;
                          text: ObjectType<string, false>;
                          thingID: StringType<true>;
                          title: ObjectType<string, false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userCanEdit: VirtualType<unknown, false>;
                          userIsAuthor: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
      } & {
          deleteAllRevisionsWithThing(
              user: RevisionActor,
          ): Promise<[unknown, unknown]>;
          populateUserInfo(user: UserAccessContext): void;
      } & ReviewRelations
    • files: string[]

    Returns Promise<void>