appwrite-utils-cli
Version:
Appwrite Utility Functions to help with database management, data conversion, data import, migrations, and much more. Meant to be used as a CLI tool, I do not recommend installing this in frontend environments.
94 lines (93 loc) • 2.74 kB
TypeScript
import { z } from "zod";
/**
* Schema for bucket backup manifest
*
* This manifest is stored alongside bucket backup ZIPs to describe
* the bucket configuration and files that were backed up.
*/
export interface BucketFileMetadata {
$id: string;
name: string;
size: number;
mimeType: string;
$permissions: string[];
chunksCount: number;
signature: string;
$createdAt: string;
$updatedAt: string;
}
export interface BucketConfiguration {
$permissions: string[];
fileSecurity: boolean;
enabled: boolean;
maximumFileSize: number;
allowedFileExtensions: string[];
compression: string;
encryption: boolean;
antivirus: boolean;
}
export interface BucketManifest {
version: string;
bucketId: string;
bucketName: string;
createdAt: string;
fileCount: number;
totalSizeBytes: number;
compression: 'gzip' | 'none';
files: BucketFileMetadata[];
bucketConfiguration: BucketConfiguration;
}
export declare const BucketFileMetadataSchema: z.ZodObject<{
$id: z.ZodString;
name: z.ZodString;
size: z.ZodNumber;
mimeType: z.ZodString;
$permissions: z.ZodArray<z.ZodString>;
chunksCount: z.ZodNumber;
signature: z.ZodString;
$createdAt: z.ZodString;
$updatedAt: z.ZodString;
}, z.core.$strip>;
export declare const BucketConfigurationSchema: z.ZodObject<{
$permissions: z.ZodArray<z.ZodString>;
fileSecurity: z.ZodBoolean;
enabled: z.ZodBoolean;
maximumFileSize: z.ZodNumber;
allowedFileExtensions: z.ZodArray<z.ZodString>;
compression: z.ZodString;
encryption: z.ZodBoolean;
antivirus: z.ZodBoolean;
}, z.core.$strip>;
export declare const BucketManifestSchema: z.ZodObject<{
version: z.ZodDefault<z.ZodString>;
bucketId: z.ZodString;
bucketName: z.ZodString;
createdAt: z.ZodString;
fileCount: z.ZodNumber;
totalSizeBytes: z.ZodNumber;
compression: z.ZodEnum<{
none: "none";
gzip: "gzip";
}>;
files: z.ZodArray<z.ZodObject<{
$id: z.ZodString;
name: z.ZodString;
size: z.ZodNumber;
mimeType: z.ZodString;
$permissions: z.ZodArray<z.ZodString>;
chunksCount: z.ZodNumber;
signature: z.ZodString;
$createdAt: z.ZodString;
$updatedAt: z.ZodString;
}, z.core.$strip>>;
bucketConfiguration: z.ZodObject<{
$permissions: z.ZodArray<z.ZodString>;
fileSecurity: z.ZodBoolean;
enabled: z.ZodBoolean;
maximumFileSize: z.ZodNumber;
allowedFileExtensions: z.ZodArray<z.ZodString>;
compression: z.ZodString;
encryption: z.ZodBoolean;
antivirus: z.ZodBoolean;
}, z.core.$strip>;
}, z.core.$strip>;