47 lines
1.1 KiB
TypeScript
47 lines
1.1 KiB
TypeScript
import { IGlobalVariable } from '@automatisch/types';
|
|
|
|
const updatedFiles = async ($: IGlobalVariable) => {
|
|
let q = `mimeType!='application/vnd.google-apps.folder'`;
|
|
if ($.step.parameters.includeDeleted === false) {
|
|
q += ` and trashed=${$.step.parameters.includeDeleted}`;
|
|
}
|
|
|
|
if ($.step.parameters.folderId) {
|
|
q += ` and '${$.step.parameters.folderId}' in parents`;
|
|
} else {
|
|
q += ` and parents in 'root'`;
|
|
}
|
|
|
|
const params: Record<string, unknown> = {
|
|
pageToken: undefined as unknown as string,
|
|
orderBy: 'modifiedTime desc',
|
|
fields: '*',
|
|
pageSize: 1000,
|
|
q,
|
|
driveId: $.step.parameters.driveId,
|
|
supportsAllDrives: true,
|
|
};
|
|
|
|
if ($.step.parameters.driveId) {
|
|
params.includeItemsFromAllDrives = true;
|
|
}
|
|
|
|
do {
|
|
const { data } = await $.http.get(`/v3/files`, { params });
|
|
params.pageToken = data.nextPageToken;
|
|
|
|
if (data.files?.length) {
|
|
for (const file of data.files) {
|
|
$.pushTriggerItem({
|
|
raw: file,
|
|
meta: {
|
|
internalId: `${file.id}-${file.modifiedTime}`,
|
|
},
|
|
});
|
|
}
|
|
}
|
|
} while (params.pageToken);
|
|
};
|
|
|
|
export default updatedFiles;
|