Type parameters
Hierarchy
- BaseItem<ImageData>
-
ImageItemRef
- ImageItem
Properties
Readonly code
App code of the URL’s target (the app’s code).
Readonly data
Values of object’s fields.
Readonly fields
Description of the object’s fields.
Readonly id
ID of the URL’s target.
Readonly namespace
Namespace of the URL target (the code of the workspace that the app belongs to).
Methods
fetch
-
Request complete data of a reference object.
Returns Promise<ImageItem>
getDownloadUrl
-
The method returns a link to download a file’s content.
The URL can be used to get the file’s content. Using this link, even anonymous users can download the file. The download link is active for one hour. You can set how the file will be displayed, as an attachment or inline. The default value of the
dispositionType
parameter isattachment
.const url = await file.getDownloadUrl();
Parameters
-
Optional dispositionType: DispositionType
Returns Promise<string>
-
getPermissions
-
The method receives a file’s permissions.
After a successful permissions request, you will get a TPermissions object. This object can be modified or analyzed for various permission checks.
const perm = await file.getPermissions();
Returns Promise<TPermissions>
getStaticDownloadUrl
-
The method returns a permanent link to download a file’s content.
The returned link contains a redirect to the link with the file’s content. This link can be used only by authorized users who have sufficient permissions to download the file. The attachment type can be
attachment
orinline
. By default, thedispositionType
parameter is set toattachment
. The link is permanent. It exists until the file is deleted in the system.// Get the file’s ID const fileUUID = Context. data.fileID; if(!fileUUID) { return; } // Search for the file const file = await System.files.search().where(x => x.__id.eq(fileUUID)).first(); if(!file) { return; } // Get a permanent link to the file const url = file.getStaticDownloadUrl();
Parameters
-
Optional dispositionType: DispositionType
Returns string
-
hasPermission
-
The method checks access permissions PermissionType.
The method allows you to easily check whether it is possible to perform a PermissionType operation with a file. The method returns a flag. If its value is
true
, the user can perform the requested operation with the file. It is also possible to check access permissions for an org chart item.const user = Context.data.__createdBy; const canUpdate = await file.hasPermission(user, PermissionType.UPDATE);
Parameters
-
group: TPermissionOrgunit
The group or user whose permissions are checked.
-
type: PermissionType
Operation type.
Returns Promise<boolean>
-
normalize
-
Delete duplicate data in arrays.
The method deletes duplicates in fields that store arrays of links to system objects (users, files, app items, or documents). For example, you can call this method after bulk editing data within an object.
const app1 = await Context.data.app1.fetch(); const app2 = await Context.data.app2 .fetch(); app1.data.executors.push(app2.data.executors); app1.normalize(); // Now we need to go over the elements in the new array app1.data.executors .forEach( ... );
Returns void
setPermissions
-
The method sets access permissions for a file.
This method is used when you need to change a file’s access settings by adding or deleting access permissions for a user, a group, or an org chart item. To add new access permissions, use the TPermissionValue object. To grant access to specific operations, use PermissionType. When a new TPermissions object is created, use the FileItem.setPermissions method to save the new access permissions.
const user = Context.data.__createdBy; const permissions = new Permissions([ new PermissionValue(user, [PermissionType.DELETE, PermissionType.READ]), ]); await file.setPermissions(perms);
Parameters
-
perms: TPermissions
New access permissions to the file.
Returns Promise<void>
-
Image