Skip to content

Latest commit

 

History

History
126 lines (97 loc) · 2.01 KB

File metadata and controls

126 lines (97 loc) · 2.01 KB

Files

Files, folders, uploads, and associations.

List files

$files = $xero->files()
    ->orderBy('CreatedDateUTC', 'DESC')
    ->page(1)
    ->perPage(50)
    ->get();

Find a file

$file = $xero->files()
    ->find('file-id');

$content = $file?->content();
$name = $file?->getName();
$folderId = $file?->getFolderId();

Upload a file

$uploaded = $xero->files()
    ->upload('contract.pdf', $binary)
    ->mimeType('application/pdf')
    ->toFolder('folder-id')
    ->save();

Rename or move a file

$renamed = $file?->rename('contract-v2.pdf')
    ->moveToFolder('folder-id')
    ->save();

Delete a file

$file?->delete();

Associations

$association = $xero->files()
    ->associations('file-id')
    ->attach('invoice-id', 'Invoice', 'Invoices')
    ->save();
$files = $xero->files()
    ->forObject('invoice-id')
    ->orderBy('CreatedDateUTC', 'DESC')
    ->page(1)
    ->perPage(25)
    ->get();
$xero->files()
    ->associations('file-id')
    ->delete('invoice-id');
$counts = $xero->files()
    ->associations('file-id')
    ->countFor('invoice-id', 'contact-id');

$firstCount = $counts->first();
$objectId = $firstCount?->getObjectId();
$count = $firstCount?->getCount();

Folders

$folders = $xero->files()
    ->folders()
    ->orderBy('CreatedDateUTC', 'DESC')
    ->get();
$folder = $xero->files()
    ->folders()
    ->create()
    ->name('Contracts')
    ->save();
$inbox = $xero->files()
    ->folders()
    ->inbox();

$isInbox = $inbox?->getIsInbox();
$folder = $xero->files()->findFolder('folder-id');

$folder?->delete();
$uploaded = $folder?->upload('terms.pdf', $binary)
    ->mimeType('application/pdf')
    ->save();

$uploadedName = $uploaded?->getName();

Scopes

  • files.read: list files, find files, read file content, read inbox, read associations
  • files: upload, rename, move, delete files; write folders; write associations