forked from microsoft/code-push
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrest-definitions.d.ts
155 lines (135 loc) · 4.07 KB
/
rest-definitions.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
declare module "rest-definitions" {
/**
* Annotations for properties on 'inout' interfaces:
* - generated: This property cannot be specified on any input requests (PUT/PATCH/POST).
* As a result, generated properties are always marked as optional.
* - key: This property is the identifier for an object, with certain uniqueness constraints.
*/
interface AccessKeyBase {
createdBy?: string;
/*legacy*/ description?: string;
/*key*/ friendlyName?: string;
/*generated key*/ name?: string;
}
/*out*/
export interface AccessKey extends AccessKeyBase {
/*generated*/ createdTime?: number;
expires: number;
/*generated*/ isSession?: boolean;
}
/*in*/
export interface AccessKeyRequest extends AccessKeyBase {
ttl?: number;
}
/*out*/
export interface DeploymentMetrics {
[packageLabelOrAppVersion: string]: UpdateMetrics
}
/*in*/
export interface DeploymentStatusReport {
appVersion: string;
clientUniqueId?: string;
deploymentKey: string;
previousDeploymentKey?: string;
previousLabelOrAppVersion?: string;
label?: string;
status?: string;
}
/*in*/
export interface DownloadReport {
clientUniqueId: string;
deploymentKey: string;
label: string;
}
/*inout*/
export interface PackageInfo {
appVersion?: string;
description?: string;
isDisabled?: boolean;
isMandatory?: boolean;
/*generated*/ label?: string;
/*generated*/ packageHash?: string;
rollout?: number;
}
/*out*/
export interface UpdateCheckResponse extends PackageInfo {
downloadURL?: string;
isAvailable: boolean;
packageSize?: number;
shouldRunBinaryVersion?: boolean;
updateAppVersion?: boolean;
}
/*out*/
export interface UpdateCheckCacheResponse {
originalPackage: UpdateCheckResponse;
rollout?: number;
rolloutPackage?: UpdateCheckResponse;
}
/*in*/
export interface UpdateCheckRequest {
appVersion: string;
clientUniqueId?: string;
deploymentKey: string;
isCompanion?: boolean;
label?: string;
packageHash?: string;
}
/*out*/
export interface UpdateMetrics {
active: number;
downloaded?: number;
failed?: number;
installed?: number;
}
/*out*/
export interface Account {
/*key*/ email: string;
name: string;
linkedProviders: string[];
}
/*out*/
export interface CollaboratorProperties {
isCurrentAccount?: boolean;
permission: string;
}
/*out*/
export interface CollaboratorMap {
[email: string]: CollaboratorProperties;
}
/*inout*/
export interface App {
/*generated*/ collaborators?: CollaboratorMap;
/*key*/ name: string;
/* generated */ deployments?: string[];
}
/*in*/
export interface AppCreationRequest extends App {
manuallyProvisionDeployments?: boolean;
}
/*inout*/
export interface Deployment {
/*generated key*/ key?: string;
/*key*/ name: string;
/*generated*/ package?: Package
}
/*out*/
export interface BlobInfo {
size: number;
url: string;
}
/*out*/
export interface PackageHashToBlobInfoMap {
[packageHash: string]: BlobInfo;
}
/*inout*/
export interface Package extends PackageInfo {
/*generated*/ blobUrl: string;
/*generated*/ diffPackageMap?: PackageHashToBlobInfoMap;
/*generated*/ originalLabel?: string; // Set on "Promote" and "Rollback"
/*generated*/ originalDeployment?: string; // Set on "Promote"
/*generated*/ releasedBy?: string; // Set by commitPackage
/*generated*/ releaseMethod?: string; // "Upload", "Promote" or "Rollback". Unknown if unspecified
/*generated*/ size: number;
/*generated*/ uploadTime: number;
}
}