Skip to main content

Object types and information

This appendix contains the structure of the object information returned by the /objects route. The TypeScript code below shows the structure. The convention used is that the Info postfix is used instead of ID in the type. E.g. for parameter userID of type UserID the interface type is UserInfo.

A ? after the attribute name indicates that it is optional, thus it might not be present in the result.

interface UserInfo {
ID: string;
FirstName: string;
LastName: string;
Email: string;
Permissions: string[];
Role: string;
DateCreated: string;
TimeCreated: number;
DateDeleted?: string;
TimeDeleted?: number;
}

interface ProjectInfo {
ID: string;
Name: string;
ProjectMembers: string[];
DateCreated: string;
TimeCreated: number;
DateDeleted?: string;
TimeDeleted?: number;
Description: string;
SecLevelID: string;
ParentID?: string;
Settings?: string;
}

interface GroupInfo {
ID: string;
Name: string;
Owner: string;
DateCreated: string;
TimeCreated: number;
DateDeleted?: string;
TimeDeleted?: number;
}

interface TeamInfo {
ID: string;
Name: string;
Description: string;
DateCreated: string;
TimeCreated: number;
DateDeleted?: string;
TimeDeleted?: number;
}

interface EscrowUserInfo {
ID: string;
Name: string;
DisplayName: string;
Email: string;
Department: string;
Position: string;
Permissions: string[];
AuthType: string;
AuthID: string;
}

interface DirInfo {
ID: string;
Name: string;
}

interface FileInfo {
ID: string;
Name: string;
Size: number;
MimeType: string;
DateCreated: string;
TimeCreated: number;
}

interface DriveInfo {
DriveID: string;
Name: string;
Team: string;
Capacity: number;
Format: string;
Timestamp: number;
}

interface SecLevelInfo {
ID: string;
Name: string;
DateCreated: string;
TimeCreated: string;
DateDeleted: string;
TimeDeleted: string;
Requirements: string;
Description: string;
}

interface IPInfo {
ID: string; // IP
Name: string;
Lat: number;
Long: number;
AccuracyRadius: number;
City: string;
Country: string;
}