Skip to content

UploadTaskOptions

type UploadTaskOptions = {
apiHeaders?: Record<string, string>;
authToken?: string;
concurrency?: number;
endpoint: string;
file: UploadFileInput;
originalBytes?: number;
partSize?: number;
presets?: string[];
tenantCode: string;
};

Defined in: packages/asset-uploader-expo/src/types.ts:35

optional apiHeaders?: Record<string, string>;

Defined in: packages/asset-uploader-expo/src/types.ts:49

Extra headers sent ONLY on the asset-manager API calls (/assets/upload-url, multipart init/complete, etc.) — never on the direct R2 byte PUT, whose headers come from the presign response. Used by Expo clients to attach the Better Auth session Cookie (the documented Expo auth pattern), since the native uploader can’t send cookies automatically.


optional authToken?: string;

Defined in: packages/asset-uploader-expo/src/types.ts:41

Optional bearer token (proxy normally injects this on the wire).


optional concurrency?: number;

Defined in: packages/asset-uploader-expo/src/types.ts:51


endpoint: string;

Defined in: packages/asset-uploader-expo/src/types.ts:39

Asset-manager API base URL. Same field as web.


file: UploadFileInput;

Defined in: packages/asset-uploader-expo/src/types.ts:36


optional originalBytes?: number;

Defined in: packages/asset-uploader-expo/src/types.ts:70

Pre-compression byte count from the client. Forwarded to the server so the asset detail UI can show the savings ratio. Set to the size BEFORE any client-side compression. If you didn’t compress (or the compression inflated and you fell back to the original), pass file.size here so original == uploaded.


optional partSize?: number;

Defined in: packages/asset-uploader-expo/src/types.ts:50


optional presets?: string[];

Defined in: packages/asset-uploader-expo/src/types.ts:62

Variant presets to generate server-side — e.g. the image responsive ladder ["thumb","sm","md","lg","xl"] or video ["poster","video","aiproxy","probe"]. Forwarded to /assets/upload-url and /assets/multipart/initiate. Omit to inherit the server default (currently ["original"] only — meaning responsive/poster variants won’t exist and gallery URLs will 404). The high-level aq.upload(file, { presets }) sends this; the low-level UploadTask needs it passed explicitly. Kept as string[] (server validates names) so newer presets like probe don’t need a type bump.


tenantCode: string;

Defined in: packages/asset-uploader-expo/src/types.ts:37