• Move a staged upload to its final public location and mark it complete. Ensures safe filenames, performs the move, and persists metadata. If persistence fails, the file is moved back to the staging area.

    Parameters

    • upload: InferData<
          {
              completed: BooleanType<false>;
              creator: ObjectType<string, false>;
              description: ObjectType<string, false>;
              id: StringType<false>;
              license: StringType<false>;
              mimeType: StringType<false>;
              name: StringType<false>;
              source: ObjectType<string, false>;
              uploadedBy: StringType<false>;
              uploadedOn: DateType<false>;
              userCanDelete: VirtualType<unknown, false>;
              userIsCreator: VirtualType<unknown, false>;
          },
      > & InferVirtual<
          {
              completed: BooleanType<false>;
              creator: ObjectType<string, false>;
              description: ObjectType<string, false>;
              id: StringType<false>;
              license: StringType<false>;
              mimeType: StringType<false>;
              name: StringType<false>;
              source: ObjectType<string, false>;
              uploadedBy: StringType<false>;
              uploadedOn: DateType<false>;
              userCanDelete: VirtualType<unknown, false>;
              userIsCreator: VirtualType<unknown, false>;
          },
      > & ModelInstanceCore<
          InferData<
              {
                  completed: BooleanType<false>;
                  creator: ObjectType<string, false>;
                  description: ObjectType<string, false>;
                  id: StringType<false>;
                  license: StringType<false>;
                  mimeType: StringType<false>;
                  name: StringType<false>;
                  source: ObjectType<string, false>;
                  uploadedBy: StringType<false>;
                  uploadedOn: DateType<false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userIsCreator: VirtualType<unknown, false>;
              },
          >,
          InferVirtual<
              {
                  completed: BooleanType<false>;
                  creator: ObjectType<string, false>;
                  description: ObjectType<string, false>;
                  id: StringType<false>;
                  license: StringType<false>;
                  mimeType: StringType<false>;
                  name: StringType<false>;
                  source: ObjectType<string, false>;
                  uploadedBy: StringType<false>;
                  uploadedOn: DateType<false>;
                  userCanDelete: VirtualType<unknown, false>;
                  userIsCreator: VirtualType<unknown, false>;
              },
          >,
      > & RevisionFieldMap & {
          deleteAllRevisions<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              completed: BooleanType<false>;
                              creator: ObjectType<string, false>;
                              description: ObjectType<string, false>;
                              id: StringType<false>;
                              license: StringType<false>;
                              mimeType: StringType<false>;
                              name: StringType<false>;
                              source: ObjectType<string, false>;
                              uploadedBy: StringType<false>;
                              uploadedOn: DateType<false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userIsCreator: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              completed: BooleanType<false>;
                              creator: ObjectType<string, false>;
                              description: ObjectType<string, false>;
                              id: StringType<false>;
                              license: StringType<false>;
                              mimeType: StringType<false>;
                              name: StringType<false>;
                              source: ObjectType<string, false>;
                              uploadedBy: StringType<false>;
                              uploadedOn: DateType<false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userIsCreator: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          completed: BooleanType<false>;
                          creator: ObjectType<string, false>;
                          description: ObjectType<string, false>;
                          id: StringType<false>;
                          license: StringType<false>;
                          mimeType: StringType<false>;
                          name: StringType<false>;
                          source: ObjectType<string, false>;
                          uploadedBy: StringType<false>;
                          uploadedOn: DateType<false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userIsCreator: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          completed: BooleanType<false>;
                          creator: ObjectType<string, false>;
                          description: ObjectType<string, false>;
                          id: StringType<false>;
                          license: StringType<false>;
                          mimeType: StringType<false>;
                          name: StringType<false>;
                          source: ObjectType<string, false>;
                          uploadedBy: StringType<false>;
                          uploadedOn: DateType<false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userIsCreator: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user?: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
          newRevision<
              TThis extends
                  VersionedModelInstance<
                      InferData<
                          {
                              completed: BooleanType<false>;
                              creator: ObjectType<string, false>;
                              description: ObjectType<string, false>;
                              id: StringType<false>;
                              license: StringType<false>;
                              mimeType: StringType<false>;
                              name: StringType<false>;
                              source: ObjectType<string, false>;
                              uploadedBy: StringType<false>;
                              uploadedOn: DateType<false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userIsCreator: VirtualType<unknown, false>;
                          },
                      >,
                      InferVirtual<
                          {
                              completed: BooleanType<false>;
                              creator: ObjectType<string, false>;
                              description: ObjectType<string, false>;
                              id: StringType<false>;
                              license: StringType<false>;
                              mimeType: StringType<false>;
                              name: StringType<false>;
                              source: ObjectType<string, false>;
                              uploadedBy: StringType<false>;
                              uploadedOn: DateType<false>;
                              userCanDelete: VirtualType<unknown, false>;
                              userIsCreator: VirtualType<unknown, false>;
                          },
                      >,
                  > = VersionedModelInstance<
                  InferData<
                      {
                          completed: BooleanType<false>;
                          creator: ObjectType<string, false>;
                          description: ObjectType<string, false>;
                          id: StringType<false>;
                          license: StringType<false>;
                          mimeType: StringType<false>;
                          name: StringType<false>;
                          source: ObjectType<string, false>;
                          uploadedBy: StringType<false>;
                          uploadedOn: DateType<false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userIsCreator: VirtualType<unknown, false>;
                      },
                  >,
                  InferVirtual<
                      {
                          completed: BooleanType<false>;
                          creator: ObjectType<string, false>;
                          description: ObjectType<string, false>;
                          id: StringType<false>;
                          license: StringType<false>;
                          mimeType: StringType<false>;
                          name: StringType<false>;
                          source: ObjectType<string, false>;
                          uploadedBy: StringType<false>;
                          uploadedOn: DateType<false>;
                          userCanDelete: VirtualType<unknown, false>;
                          userIsCreator: VirtualType<unknown, false>;
                      },
                  >,
              >,
          >(
              this: TThis,
              user: RevisionActor,
              options?: RevisionMetadata,
          ): Promise<TThis>;
      } & { populateUserInfo(user: UserAccessContext): void } & FileRelations

      Upload revision to finalize

    • uploadsDir: string

      Destination directory for completed uploads

    Returns Promise<void>

    Nothing; resolves once the upload is finalized or rolled back