skysync-cli
Version:
SkySync Command Line Interface
158 lines (157 loc) • 4.63 kB
TypeScript
import { Job, ItemInspectionPolicy } from './jobs';
import { Connection, Account, PlatformItem, SecurityIdentifier } from './connections';
import { IEntityIdentifier } from './base';
import { AuditCategory } from './auditCategories';
export interface TransferJob extends Job {
transfer?: TransferOptions;
}
export interface AttributeImportTextSource {
target?: TransferTarget;
}
export interface AttributeImportSource {
text?: AttributeImportTextSource;
delimiter?: string;
}
export interface MetadataImportOptions {
schema?: string;
source?: AttributeImportSource;
}
export interface PermissionsOptions {
import?: PermissionsImportOptions;
policy?: PermissionsPreservationPolicy;
failures?: PermissionsFailurePolicy;
}
export interface PermissionsImportOptions {
source?: AttributeImportSource;
}
export declare enum PermissionsPreservationPolicy {
None = "none",
AddOnly = "add",
ReconcileDifferences = "diff"
}
export declare enum PermissionsFailurePolicy {
FailOnExceptions = "exceptions",
FailOnDeny = "deny",
Fail = "all",
None = "none"
}
export interface TransferTarget {
item?: PlatformItem;
path?: string;
}
export interface TransferPath {
connection?: Connection;
impersonate_as?: Account;
target?: TransferTarget;
}
export declare enum ConflictResolutionPolicy {
Copy = "copy",
PreferLatest = "latest",
PreferSource = "source",
PreferDestination = "destination",
Failure = "failure"
}
export declare enum DeletePropagationPolicy {
IgnoreBoth = "ignore_both",
IgnoreSource = "ignore_source",
IgnoreDestination = "ignore_destination",
Mirror = "mirror"
}
export declare enum TransferType {
Synchronize = "sync",
Publish = "publish",
Move = "move",
Migrate = "migrate",
Copy = "copy",
Taxonomy = "taxonomy"
}
export declare enum RenditionSelectionMethod {
Rendition = "rendition",
Original = "original"
}
export interface TransferOptions {
transfer_type?: TransferType;
source?: TransferPath;
destination?: TransferPath;
conflict_resolution?: ConflictResolutionPolicy;
delete_propagation?: DeletePropagationPolicy;
metadata_import?: MetadataImportOptions;
permissions?: PermissionsOptions;
item_inspection_policy?: ItemInspectionPolicy;
item_inspection_policy_next?: ItemInspectionPolicy;
rendition?: RenditionSelectionMethod;
segment_truncate?: boolean;
encode_invalid_characters?: boolean;
}
export interface TransferItem extends IEntityIdentifier<number> {
parent_id?: number;
source?: TransferPlatformItem;
destination?: TransferPlatformItem;
audit_category?: AuditCategory;
retried?: number;
status?: string;
processing?: string[];
source_to_destination?: boolean;
transferred_on?: number;
root?: boolean;
type?: 'container' | 'item';
}
export interface TransferPlatformItem extends IEntityIdentifier<string> {
name?: string;
caption?: string;
path?: string;
ext?: string;
mime_type?: string;
file_type?: string;
bytes?: number;
version?: string;
hash?: string;
etag?: string;
created_on?: number;
modified_on?: number;
}
export interface TransferAuditEntry extends IEntityIdentifier<number> {
job_id?: string;
execution_id?: number;
target?: TransferItem;
from_source?: boolean;
to_source?: boolean;
from_destination?: boolean;
to_destination?: boolean;
bytes?: number;
version?: string;
hash?: string;
level?: string;
type?: string;
message?: string;
recorded_on?: number;
}
export interface TransferSecurityMapping extends IEntityIdentifier<string> {
source?: SecurityIdentifier;
destination?: SecurityIdentifier;
resolution?: string;
message?: string;
}
export declare enum AccessRights {
None = "none",
Read = "read",
Write = "write",
Append = "append",
Delete = "delete",
ReadPermissions = "read_permissions",
WritePermissions = "write_permissions",
ReadWrite = "read_write",
FullPermissions = "full_permissions",
FullControl = "full"
}
export declare enum AccessControlType {
Allow = "allow",
Deny = "deny"
}
export interface TransferPermission extends IEntityIdentifier<number> {
security_map?: TransferSecurityMapping;
target?: TransferItem;
rights?: AccessRights;
access?: AccessControlType;
audit_trail: string;
}