Here are the definitions of the data records used to communicate through the endpoints.
* The read
access level means the user can download a file or folder, read it, and read its metadata. The modify
access level gives the user read
access level plus the ability to create, modify and delete file or folder metadata. For a file, this access level also gives the user the ability to modify the file. For a folder, this access level gives the ability to upload files and folders into the folder. The own
access level gives the user complete control over the file or folder.
Here are the fields that describe and attribute-value-unit (AVU) triple.
Field | Type | Description |
---|---|---|
attribute | string | the attribute’s name |
value | string | the attribute’s value |
unit | string | the attribute’s unit, may be null |
Example
{
"attribute" : "length",
"value" : "1.8",
"unit" : "meter"
}
Here are the fields that describe a filesystem entry.
Field | Type | Description |
---|---|---|
id | string | the UUID of the entry |
path | string | the logical path to the entry |
permission | string | the aggregated access level of the client |
userPermissions | array | an array of permission records identifying the permissions users have on this entry |
dateCreated | number | the time when the file was created in milliseconds since the POSIX epoch |
dateModified | number | the time when the file was last modified in milliseconds since the POSIX epoch |
label | string | the logical name of the entry |
Example
{
"id" : "deadbeef-dead-beef-dead-beefdeadbeef",
"path" : "/iplant/home/tedgin/an-entry",
"permission" : "own",
"userPermissions" : [
{
"permission" : "own",
"user" : "tedgin#iplant"
},
{
"permission" : "own",
"user" : "rodsadmin#iplant"
}
],
"dateCreated" : 1410399966001,
"dateModified" : 1410399966001,
"label" : "an-entry"
}
A file extends a filesystem entry. Here are the additional fields that describe a file.
Field | Type | Description |
---|---|---|
creator | string | the identity of the file’s creator in name#zone format |
fileSize | number | the size of the file in octets |
fileType | string | the type of the file, null if unknown |
metadata | array | the metadata attached to this file, an array of AVU records |
Example
{
"id" : ""deadbeef-dead-beef-dead-beefdeadbeef"",
"path" : "/iplant/home/tedgin/an.file",
"permission" : "own",
"userPermissions" : [
{
"permission" : "own",
"user" : "tedgin#iplant"
},
{
"permission" : "own",
"user" : "rodsadmin#iplant"
}
],
"creator" : "tedgin#iplant",
"dateCreated" : 1410399966001,
"dateModified" : 1410399966001,
"fileSize" : 14016,
"label" : "a.file",
"fileType" : null,
"metadata" : [
{
"attribute" : "length",
"value" : "1.8",
"unit" : "meter",
},
{
"attribute" : "color",
"value" : "red",
"unit" : null
}
]
}
A folder extends a filesystem entry. Here are the additional fields that describe a folder.
Field | Type | Description |
---|---|---|
creator | string | the identity of the folder’s creator in name#zone format |
metadata | array | the metadata attached to this folder, an array of AVU records |
Example
{
"id" : ""deadbeef-dead-beef-dead-beefdeadbeef"",
"path" : "/iplant/home/tedgin/a-folder",
"permission" : "own",
"userPermissions" : [
{
"permission" : "own",
"user" : "tedgin#iplant"
},
{
"permission" : "own",
"user" : "rodsadmin#iplant"
}
],
"creator" : "tedgin#iplant",
"dateCreated" : 1410399966001,
"dateModified" : 1410399966001,
"label" : "a-folder",
"metadata" : [
{
"attribute" : "length",
"value" : "1.8",
"unit" : "meter",
},
{
"attribute" : "color",
"value" : "red",
"unit" : null
}
]
}
Here are the fields that describe a permission.
Field | Type | Description |
---|---|---|
permission | string | the access level |
user | string | the identity of the user having the given permission in name#zone format |
Example
{
"permission" : "own",
"user" : "tedgin#iplant"
}
Here are the fields that describe a user’s details.
Field | Type | Description |
---|---|---|
username | string | the authenticated name of the identified user |
zone | string | the iRODS zone where the user has been authenticated |
string | the user’s email address | |
firstName | string | the given name of the user |
lastName | string | the family name of the user |
workspaceId | number | the internal identifier of the user’s DE workspace |
Example
{
"username" : "tedgin",
"zone" : "iplant",
"email" : "you.wish@keep-guessing.xxx",
"firstName" : "tony",
"lastName" : "tedgin",
"workspaceId" : 4
}