Returns VersionedModelConstructor<
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>;
},
>,
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 },
"things" | "uploader",
> & {
getFileFeed(
options?: FileFeedOptions,
): Promise<
FileFeedResult<
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,
>,
>;
getStashedUpload(
userID: string,
name: string,
): Promise<
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,
>;
getValidLicenses(): readonly string[];
} & CreateFromRowStatic<
MergeManifestMethods<
{
camelToSnake: {
mimeType: "mime_type";
uploadedBy: "uploaded_by";
uploadedOn: "uploaded_on";
};
hasRevisions: true;
relations: readonly [
{
cardinality: "one";
hasRevisions: false;
name: "uploader";
sourceKey: "uploaded_by";
targetKey: "id";
targetTable: "users";
},
{
cardinality: "many";
hasRevisions: true;
name: "things";
sourceKey: "id";
targetKey: "id";
targetTable: "things";
through: {
sourceForeignKey: "file_id";
table: "thing_files";
targetForeignKey: "thing_id";
};
},
];
schema: {
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>;
};
tableName: "files";
},
{
getFileFeed(
options?: FileFeedOptions,
): Promise<
FileFeedResult<
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<(...)>;
creator: ObjectType<(...), (...)>;
description: ObjectType<(...), (...)>;
id: StringType<(...)>;
license: StringType<(...)>;
mimeType: StringType<(...)>;
name: StringType<(...)>;
source: ObjectType<(...), (...)>;
uploadedBy: StringType<(...)>;
uploadedOn: DateType<(...)>;
userCanDelete: VirtualType<(...), (...)>;
userIsCreator: VirtualType<(...), (...)>;
},
>,
InferVirtual<
{
completed: BooleanType<(...)>;
creator: ObjectType<(...), (...)>;
description: ObjectType<(...), (...)>;
id: StringType<(...)>;
license: StringType<(...)>;
mimeType: StringType<(...)>;
name: StringType<(...)>;
source: ObjectType<(...), (...)>;
uploadedBy: StringType<(...)>;
uploadedOn: DateType<(...)>;
userCanDelete: VirtualType<(...), (...)>;
userIsCreator: VirtualType<(...), (...)>;
},
>,
> & RevisionFieldMap & {
deleteAllRevisions<
TThis extends
VersionedModelInstance<
InferData<
{
completed: ...;
creator: ...;
description: ...;
id: ...;
license: ...;
mimeType: ...;
name: ...;
source: ...;
uploadedBy: ...;
uploadedOn: ...;
userCanDelete: ...;
userIsCreator: ...;
},
>,
InferVirtual<
{
completed: ...;
creator: ...;
description: ...;
id: ...;
license: ...;
mimeType: ...;
name: ...;
source: ...;
uploadedBy: ...;
uploadedOn: ...;
userCanDelete: ...;
userIsCreator: ...;
},
>,
> = VersionedModelInstance<
InferData<
{
completed: ...;
creator: ...;
description: ...;
id: ...;
license: ...;
mimeType: ...;
name: ...;
source: ...;
uploadedBy: ...;
uploadedOn: ...;
userCanDelete: ...;
userIsCreator: ...;
},
>,
InferVirtual<
{
completed: ...;
creator: ...;
description: ...;
id: ...;
license: ...;
mimeType: ...;
name: ...;
source: ...;
uploadedBy: ...;
uploadedOn: ...;
userCanDelete: ...;
userIsCreator: ...;
},
>,
>,
>(
this: TThis,
user?: RevisionActor,
options?: RevisionMetadata,
): Promise<TThis>;
newRevision<
TThis extends
VersionedModelInstance<
InferData<
{
completed: ...;
creator: ...;
description: ...;
id: ...;
license: ...;
mimeType: ...;
name: ...;
source: ...;
uploadedBy: ...;
uploadedOn: ...;
userCanDelete: ...;
userIsCreator: ...;
},
>,
InferVirtual<
{
completed: ...;
creator: ...;
description: ...;
id: ...;
license: ...;
mimeType: ...;
name: ...;
source: ...;
uploadedBy: ...;
uploadedOn: ...;
userCanDelete: ...;
userIsCreator: ...;
},
>,
> = VersionedModelInstance<
InferData<
{
completed: ...;
creator: ...;
description: ...;
id: ...;
license: ...;
mimeType: ...;
name: ...;
source: ...;
uploadedBy: ...;
uploadedOn: ...;
userCanDelete: ...;
userIsCreator: ...;
},
>,
InferVirtual<
{
completed: ...;
creator: ...;
description: ...;
id: ...;
license: ...;
mimeType: ...;
name: ...;
source: ...;
uploadedBy: ...;
uploadedOn: ...;
userCanDelete: ...;
userIsCreator: ...;
},
>,
>,
>(
this: TThis,
user: RevisionActor,
options?: RevisionMetadata,
): Promise<TThis>;
} & { populateUserInfo(user: UserAccessContext): void } & FileRelations,
>,
>;
getStashedUpload(
userID: string,
name: string,
): Promise<
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<(...)>;
creator: ObjectType<(...), (...)>;
description: ObjectType<(...), (...)>;
id: StringType<(...)>;
license: StringType<(...)>;
mimeType: StringType<(...)>;
name: StringType<(...)>;
source: ObjectType<(...), (...)>;
uploadedBy: StringType<(...)>;
uploadedOn: DateType<(...)>;
userCanDelete: VirtualType<(...), (...)>;
userIsCreator: VirtualType<(...), (...)>;
},
>,
InferVirtual<
{
completed: BooleanType<(...)>;
creator: ObjectType<(...), (...)>;
description: ObjectType<(...), (...)>;
id: StringType<(...)>;
license: StringType<(...)>;
mimeType: StringType<(...)>;
name: StringType<(...)>;
source: ObjectType<(...), (...)>;
uploadedBy: StringType<(...)>;
uploadedOn: DateType<(...)>;
userCanDelete: VirtualType<(...), (...)>;
userIsCreator: VirtualType<(...), (...)>;
},
>,
> = VersionedModelInstance<
InferData<
{
completed: BooleanType<(...)>;
creator: ObjectType<(...), (...)>;
description: ObjectType<(...), (...)>;
id: StringType<(...)>;
license: StringType<(...)>;
mimeType: StringType<(...)>;
name: StringType<(...)>;
source: ObjectType<(...), (...)>;
uploadedBy: StringType<(...)>;
uploadedOn: DateType<(...)>;
userCanDelete: VirtualType<(...), (...)>;
userIsCreator: VirtualType<(...), (...)>;
},
>,
InferVirtual<
{
completed: BooleanType<(...)>;
creator: ObjectType<(...), (...)>;
description: ObjectType<(...), (...)>;
id: StringType<(...)>;
license: StringType<(...)>;
mimeType: StringType<(...)>;
name: StringType<(...)>;
source: ObjectType<(...), (...)>;
uploadedBy: StringType<(...)>;
uploadedOn: DateType<(...)>;
userCanDelete: VirtualType<(...), (...)>;
userIsCreator: VirtualType<(...), (...)>;
},
>,
>,
>(
this: TThis,
user?: RevisionActor,
options?: RevisionMetadata,
): Promise<TThis>;
newRevision<
TThis extends
VersionedModelInstance<
InferData<
{
completed: BooleanType<(...)>;
creator: ObjectType<(...), (...)>;
description: ObjectType<(...), (...)>;
id: StringType<(...)>;
license: StringType<(...)>;
mimeType: StringType<(...)>;
name: StringType<(...)>;
source: ObjectType<(...), (...)>;
uploadedBy: StringType<(...)>;
uploadedOn: DateType<(...)>;
userCanDelete: VirtualType<(...), (...)>;
userIsCreator: VirtualType<(...), (...)>;
},
>,
InferVirtual<
{
completed: BooleanType<(...)>;
creator: ObjectType<(...), (...)>;
description: ObjectType<(...), (...)>;
id: StringType<(...)>;
license: StringType<(...)>;
mimeType: StringType<(...)>;
name: StringType<(...)>;
source: ObjectType<(...), (...)>;
uploadedBy: StringType<(...)>;
uploadedOn: DateType<(...)>;
userCanDelete: VirtualType<(...), (...)>;
userIsCreator: VirtualType<(...), (...)>;
},
>,
> = VersionedModelInstance<
InferData<
{
completed: BooleanType<(...)>;
creator: ObjectType<(...), (...)>;
description: ObjectType<(...), (...)>;
id: StringType<(...)>;
license: StringType<(...)>;
mimeType: StringType<(...)>;
name: StringType<(...)>;
source: ObjectType<(...), (...)>;
uploadedBy: StringType<(...)>;
uploadedOn: DateType<(...)>;
userCanDelete: VirtualType<(...), (...)>;
userIsCreator: VirtualType<(...), (...)>;
},
>,
InferVirtual<
{
completed: BooleanType<(...)>;
creator: ObjectType<(...), (...)>;
description: ObjectType<(...), (...)>;
id: StringType<(...)>;
license: StringType<(...)>;
mimeType: StringType<(...)>;
name: StringType<(...)>;
source: ObjectType<(...), (...)>;
uploadedBy: StringType<(...)>;
uploadedOn: DateType<(...)>;
userCanDelete: VirtualType<(...), (...)>;
userIsCreator: VirtualType<(...), (...)>;
},
>,
>,
>(
this: TThis,
user: RevisionActor,
options?: RevisionMetadata,
): Promise<TThis>;
} & { populateUserInfo(user: UserAccessContext): void } & FileRelations,
>;
getValidLicenses(): readonly string[];
},
{ populateUserInfo(user: UserAccessContext): void },
>,
>
Typed File model constructor
Create a lazy reference to the File model for use in other models. Resolves after bootstrap without causing circular import issues.