schema.d.ts
2.76 KB
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
/**
* These are a collection of interfaces that represent the GoogleApis
* Discovery json formats.
*/
export interface Schemas {
discoveryVersion: string;
kind: string;
items: Schema[];
}
export interface Schema {
auth: {
oauth2: {
scopes: {
[index: string]: {
description: string;
};
};
};
};
basePath: string;
baseUrl: string;
batchPath: string;
description: string;
discoveryVersion: string;
discoveryRestUrl: string;
documentationLink: string;
etag: string;
icons: {
x16: string;
x32: string;
};
id: string;
kind: string;
methods: SchemaMethods;
name: string;
ownerDomain: string;
ownerName: string;
parameters: SchemaParameters;
protocol: string;
resources: SchemaResources;
revision: string;
rootUrl: string;
schemas: SchemaItems;
servicePath: string;
title: string;
version: string;
}
export interface SchemaResources {
[index: string]: SchemaResource;
}
export interface SchemaResource {
methods?: SchemaMethods;
resources?: SchemaResources;
}
export interface SchemaItems {
[index: string]: SchemaItem;
}
export interface SchemaItem {
description?: string;
default?: string;
id?: string;
properties?: {
[index: string]: SchemaItem;
};
additionalProperties?: {
[index: string]: SchemaItem;
};
items?: {
[index: string]: SchemaItem;
};
type?: SchemaType;
format?: ParameterFormat;
$ref?: string;
}
export interface SchemaParameters {
[index: string]: SchemaParameter;
}
export interface SchemaParameter {
default: string;
description: string;
location: string;
enum: string[];
enumDescription: string[];
type: SchemaType;
format: ParameterFormat;
required: boolean;
}
export interface SchemaMethods {
[index: string]: SchemaMethod;
}
export interface SchemaMethod {
description: string;
httpMethod: HttpMethod;
id: string;
parameterOrder?: string[];
parameters?: {
[index: string]: SchemaParameter;
};
path: string;
request: {
$ref: string;
};
response: {
$ref: string;
};
sampleUrl: string;
scopes: string[];
fragment: string;
mediaUpload: {
protocols: {
simple: {
path: string;
};
};
};
}
export interface FragmentResponse {
codeFragment: {
[index: string]: {
fragment: string;
};
};
}
export declare type ParameterFormat = 'int32';
export declare type HttpMethod = 'GET' | 'PATCH' | 'PUT';
export declare type SchemaType = 'object' | 'integer' | 'string' | 'array' | 'boolean';