@explo-tech/fido-api 0.0.7 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.tool-versions ADDED
@@ -0,0 +1 @@
1
+ nodejs 16.17.1
package/index.ts CHANGED
@@ -7,8 +7,11 @@ export { OpenAPI } from './core/OpenAPI';
7
7
  export type { OpenAPIConfig } from './core/OpenAPI';
8
8
 
9
9
  export type { BooleanPropertyValue } from './models/BooleanPropertyValue';
10
+ export type { BulkViewsRequest } from './models/BulkViewsRequest';
11
+ export type { BulkViewsResponse } from './models/BulkViewsResponse';
10
12
  export type { ClientError } from './models/ClientError';
11
- export type { ComputedViewRunRequest } from './models/ComputedViewRunRequest';
13
+ export type { Computation } from './models/Computation';
14
+ export type { ComputedView } from './models/ComputedView';
12
15
  export type { DataPage } from './models/DataPage';
13
16
  export type { DataRecord } from './models/DataRecord';
14
17
  export type { DataRequestParameters } from './models/DataRequestParameters';
@@ -18,38 +21,51 @@ export type { DataSource } from './models/DataSource';
18
21
  export type { DataSourceConfiguration } from './models/DataSourceConfiguration';
19
22
  export type { DataSourceRequest } from './models/DataSourceRequest';
20
23
  export type { DataSourceResponse } from './models/DataSourceResponse';
21
- export type { DataSourceTablePreviewRequest } from './models/DataSourceTablePreviewRequest';
22
24
  export type { DatePropertyValue } from './models/DatePropertyValue';
23
25
  export type { DateTimePropertyValue } from './models/DateTimePropertyValue';
24
26
  export type { DecimalPropertyValue } from './models/DecimalPropertyValue';
25
27
  export type { DoublePropertyValue } from './models/DoublePropertyValue';
26
28
  export type { Duration } from './models/Duration';
27
- export type { Instant } from './models/Instant';
29
+ export type { Filter } from './models/Filter';
28
30
  export type { IntegerPropertyValue } from './models/IntegerPropertyValue';
29
31
  export type { LocalDate } from './models/LocalDate';
32
+ export type { MySql } from './models/MySql';
33
+ export type { MySqlAuthentication } from './models/MySqlAuthentication';
30
34
  export type { Namespace } from './models/Namespace';
31
35
  export type { NamespaceRequest } from './models/NamespaceRequest';
32
36
  export type { NamespaceResponse } from './models/NamespaceResponse';
33
37
  export type { NamespaceResponseMetadata } from './models/NamespaceResponseMetadata';
38
+ export type { OffsetDateTime } from './models/OffsetDateTime';
34
39
  export type { PagingConfiguration } from './models/PagingConfiguration';
40
+ export type { PasswordAuthentication } from './models/PasswordAuthentication';
35
41
  export type { Postgres } from './models/Postgres';
36
42
  export type { PostgresAuthentication } from './models/PostgresAuthentication';
37
- export type { PostgresPasswordAuthentication } from './models/PostgresPasswordAuthentication';
43
+ export type { Property } from './models/Property';
38
44
  export type { PropertySchema } from './models/PropertySchema';
39
45
  export { PropertyType } from './models/PropertyType';
40
46
  export type { PropertyValue } from './models/PropertyValue';
41
47
  export type { PublicTunnel } from './models/PublicTunnel';
42
48
  export type { QueryExecutionResponse } from './models/QueryExecutionResponse';
49
+ export type { QueryPreviewRequest } from './models/QueryPreviewRequest';
43
50
  export type { RequestTelemetry } from './models/RequestTelemetry';
51
+ export type { Sort } from './models/Sort';
52
+ export { SortDirection } from './models/SortDirection';
44
53
  export type { SSHAuthentication } from './models/SSHAuthentication';
45
54
  export type { SSHTunnel } from './models/SSHTunnel';
46
55
  export type { StringPropertyValue } from './models/StringPropertyValue';
56
+ export type { TablePreviewRequest } from './models/TablePreviewRequest';
57
+ export type { TableView } from './models/TableView';
47
58
  export type { TenantPrivateKeyAuthentication } from './models/TenantPrivateKeyAuthentication';
48
59
  export type { Tunnel } from './models/Tunnel';
49
60
  export type { UUID } from './models/UUID';
50
61
  export type { VendorPrivateKeyAuthentication } from './models/VendorPrivateKeyAuthentication';
62
+ export type { View } from './models/View';
63
+ export type { ViewRequest } from './models/ViewRequest';
64
+ export type { ViewResponse } from './models/ViewResponse';
65
+ export type { ViewRunRequest } from './models/ViewRunRequest';
51
66
 
52
67
  export { DatasourceResourceService } from './services/DatasourceResourceService';
53
68
  export { HealthResourceService } from './services/HealthResourceService';
54
69
  export { NamespaceResourceService } from './services/NamespaceResourceService';
55
70
  export { QueryResourceService } from './services/QueryResourceService';
71
+ export { ViewResourceService } from './services/ViewResourceService';
@@ -0,0 +1,8 @@
1
+ /* istanbul ignore file */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ export type BulkViewsRequest = {
6
+ viewIds: Array<string>;
7
+ };
8
+
@@ -0,0 +1,10 @@
1
+ /* istanbul ignore file */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import type { View } from './View';
6
+
7
+ export type BulkViewsResponse = {
8
+ views: Array<View>;
9
+ };
10
+
@@ -0,0 +1,14 @@
1
+ /* istanbul ignore file */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import type { Filter } from './Filter';
6
+ import type { Property } from './Property';
7
+ import type { Sort } from './Sort';
8
+
9
+ export type Computation = {
10
+ properties: Array<Property>;
11
+ filter: Filter | null;
12
+ sorts: Array<Sort>;
13
+ };
14
+
@@ -0,0 +1,16 @@
1
+ /* istanbul ignore file */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import type { PropertySchema } from './PropertySchema';
6
+ import type { UUID } from './UUID';
7
+
8
+ export type ComputedView = {
9
+ name: string;
10
+ description: string;
11
+ columnDefinitions: Array<PropertySchema>;
12
+ id: UUID | null;
13
+ namespaceId: UUID | null;
14
+ query: string;
15
+ };
16
+
@@ -2,10 +2,11 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
+ import type { MySql } from './MySql';
5
6
  import type { Postgres } from './Postgres';
6
7
  import type { Tunnel } from './Tunnel';
7
8
 
8
- export type DataSourceConfiguration = (Postgres | {
9
+ export type DataSourceConfiguration = (Postgres | MySql | {
9
10
  tunnel: Tunnel;
10
11
  });
11
12
 
@@ -2,9 +2,9 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- import type { Instant } from './Instant';
5
+ import type { OffsetDateTime } from './OffsetDateTime';
6
6
 
7
7
  export type DateTimePropertyValue = {
8
- value: Instant;
8
+ value: OffsetDateTime;
9
9
  };
10
10
 
@@ -2,4 +2,4 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- export type Duration = string;
5
+ export type Duration = Duration;
@@ -0,0 +1,5 @@
1
+ /* istanbul ignore file */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ export type Filter = Record<string, any>;
@@ -0,0 +1,15 @@
1
+ /* istanbul ignore file */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import type { MySqlAuthentication } from './MySqlAuthentication';
6
+ import type { Tunnel } from './Tunnel';
7
+
8
+ export type MySql = {
9
+ tunnel: Tunnel;
10
+ authentication: MySqlAuthentication;
11
+ database: string;
12
+ host: string;
13
+ port?: number;
14
+ };
15
+
@@ -0,0 +1,8 @@
1
+ /* istanbul ignore file */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import type { PasswordAuthentication } from './PasswordAuthentication';
6
+
7
+ export type MySqlAuthentication = PasswordAuthentication;
8
+
@@ -2,4 +2,4 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- export type Instant = string;
5
+ export type OffsetDateTime = string;
@@ -2,7 +2,7 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- export type PostgresPasswordAuthentication = {
5
+ export type PasswordAuthentication = {
6
6
  username: string;
7
7
  password: string;
8
8
  };
@@ -2,7 +2,7 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- import type { PostgresPasswordAuthentication } from './PostgresPasswordAuthentication';
5
+ import type { PasswordAuthentication } from './PasswordAuthentication';
6
6
 
7
- export type PostgresAuthentication = PostgresPasswordAuthentication;
7
+ export type PostgresAuthentication = PasswordAuthentication;
8
8
 
@@ -0,0 +1,8 @@
1
+ /* istanbul ignore file */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ export type Property = {
6
+ propertyId: string;
7
+ };
8
+
@@ -9,6 +9,7 @@ export enum PropertyType {
9
9
  DECIMAL = 'DECIMAL',
10
10
  DOUBLE = 'DOUBLE',
11
11
  INTEGER = 'INTEGER',
12
+ LONG = 'LONG',
12
13
  STRING = 'STRING',
13
14
  UNSUPPORTED = 'UNSUPPORTED',
14
15
  }
@@ -2,12 +2,14 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
+ import type { Computation } from './Computation';
5
6
  import type { DataRequestParameters } from './DataRequestParameters';
6
7
 
7
- export type ComputedViewRunRequest = {
8
+ export type QueryPreviewRequest = {
8
9
  query: string;
9
10
  tableIdentifier: string;
10
11
  dataRequestParameters: DataRequestParameters;
11
12
  queryContext: Record<string, any>;
13
+ computation: Computation | null;
12
14
  };
13
15
 
package/models/Sort.ts ADDED
@@ -0,0 +1,11 @@
1
+ /* istanbul ignore file */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import type { SortDirection } from './SortDirection';
6
+
7
+ export type Sort = {
8
+ sortDirection: SortDirection;
9
+ propertyId: string;
10
+ };
11
+
@@ -0,0 +1,8 @@
1
+ /* istanbul ignore file */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ export enum SortDirection {
6
+ ASCENDING = 'ASCENDING',
7
+ DESCENDING = 'DESCENDING',
8
+ }
@@ -4,7 +4,7 @@
4
4
 
5
5
  import type { DataRequestParameters } from './DataRequestParameters';
6
6
 
7
- export type DataSourceTablePreviewRequest = {
7
+ export type TablePreviewRequest = {
8
8
  tableIdentifier: string;
9
9
  dataRequestParameters: DataRequestParameters;
10
10
  };
@@ -0,0 +1,16 @@
1
+ /* istanbul ignore file */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import type { PropertySchema } from './PropertySchema';
6
+ import type { UUID } from './UUID';
7
+
8
+ export type TableView = {
9
+ name: string;
10
+ description: string;
11
+ columnDefinitions: Array<PropertySchema>;
12
+ id: UUID | null;
13
+ namespaceId: UUID | null;
14
+ tableName: string;
15
+ };
16
+
package/models/UUID.ts CHANGED
@@ -2,4 +2,4 @@
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
4
 
5
- export type UUID = string;
5
+ export type UUID = UUID;
package/models/View.ts ADDED
@@ -0,0 +1,17 @@
1
+ /* istanbul ignore file */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import type { ComputedView } from './ComputedView';
6
+ import type { PropertySchema } from './PropertySchema';
7
+ import type { TableView } from './TableView';
8
+ import type { UUID } from './UUID';
9
+
10
+ export type View = (TableView | ComputedView | {
11
+ name: string;
12
+ description: string;
13
+ columnDefinitions: Array<PropertySchema>;
14
+ id: UUID | null;
15
+ namespaceId: UUID | null;
16
+ });
17
+
@@ -0,0 +1,10 @@
1
+ /* istanbul ignore file */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import type { View } from './View';
6
+
7
+ export type ViewRequest = {
8
+ view: View;
9
+ };
10
+
@@ -0,0 +1,10 @@
1
+ /* istanbul ignore file */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import type { View } from './View';
6
+
7
+ export type ViewResponse = {
8
+ view: View;
9
+ };
10
+
@@ -0,0 +1,13 @@
1
+ /* istanbul ignore file */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+
5
+ import type { Computation } from './Computation';
6
+ import type { DataRequestParameters } from './DataRequestParameters';
7
+
8
+ export type ViewRunRequest = {
9
+ dataRequestParameters: DataRequestParameters;
10
+ queryContext: Record<string, any>;
11
+ computation: Computation | null;
12
+ };
13
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@explo-tech/fido-api",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "description": "Fido api",
5
5
  "homepage": "https://github.com/trust-kaz/fido",
6
6
  "license": "MIT",
@@ -1,10 +1,11 @@
1
1
  /* istanbul ignore file */
2
2
  /* tslint:disable */
3
3
  /* eslint-disable */
4
- import type { ComputedViewRunRequest } from '../models/ComputedViewRunRequest';
5
- import type { DataSourceTablePreviewRequest } from '../models/DataSourceTablePreviewRequest';
6
4
  import type { QueryExecutionResponse } from '../models/QueryExecutionResponse';
5
+ import type { QueryPreviewRequest } from '../models/QueryPreviewRequest';
6
+ import type { TablePreviewRequest } from '../models/TablePreviewRequest';
7
7
  import type { UUID } from '../models/UUID';
8
+ import type { ViewRunRequest } from '../models/ViewRunRequest';
8
9
 
9
10
  import type { CancelablePromise } from '../core/CancelablePromise';
10
11
  import { OpenAPI } from '../core/OpenAPI';
@@ -12,6 +13,31 @@ import { request as __request } from '../core/request';
12
13
 
13
14
  export class QueryResourceService {
14
15
 
16
+ /**
17
+ * Runs a provided query against the provided data source
18
+ * @param dataSourceId
19
+ * @param namespaceId
20
+ * @param requestBody
21
+ * @returns QueryExecutionResponse A DataPage of the provided query
22
+ * @throws ApiError
23
+ */
24
+ public static getQueryPreview(
25
+ dataSourceId: UUID,
26
+ namespaceId: UUID,
27
+ requestBody?: QueryPreviewRequest,
28
+ ): CancelablePromise<QueryExecutionResponse> {
29
+ return __request(OpenAPI, {
30
+ method: 'POST',
31
+ url: '/v1/namespaces/{namespaceId}/data-sources/{dataSourceId}/preview',
32
+ path: {
33
+ 'dataSourceId': dataSourceId,
34
+ 'namespaceId': namespaceId,
35
+ },
36
+ body: requestBody,
37
+ mediaType: 'application/json',
38
+ });
39
+ }
40
+
15
41
  /**
16
42
  * Gets a preview of a specified table in a Data Source
17
43
  * @param dataSourceId
@@ -20,14 +46,14 @@ export class QueryResourceService {
20
46
  * @returns QueryExecutionResponse A DataPage of the resulting Data Source's data
21
47
  * @throws ApiError
22
48
  */
23
- public static getDatasourceTablePreview(
49
+ public static getTablePreview(
24
50
  dataSourceId: UUID,
25
51
  namespaceId: UUID,
26
- requestBody?: DataSourceTablePreviewRequest,
52
+ requestBody?: TablePreviewRequest,
27
53
  ): CancelablePromise<QueryExecutionResponse> {
28
54
  return __request(OpenAPI, {
29
55
  method: 'POST',
30
- url: '/v1/namespaces/{namespaceId}/data-sources/{dataSourceId}/_preview',
56
+ url: '/v1/namespaces/{namespaceId}/data-sources/{dataSourceId}/preview-table',
31
57
  path: {
32
58
  'dataSourceId': dataSourceId,
33
59
  'namespaceId': namespaceId,
@@ -38,24 +64,27 @@ export class QueryResourceService {
38
64
  }
39
65
 
40
66
  /**
41
- * Runs a provided query against the provided data source
67
+ * Runs the requested view against the provided data source
42
68
  * @param dataSourceId
43
69
  * @param namespaceId
70
+ * @param viewId
44
71
  * @param requestBody
45
72
  * @returns QueryExecutionResponse A DataPage of the provided query
46
73
  * @throws ApiError
47
74
  */
48
- public static runComputedView(
75
+ public static runView(
49
76
  dataSourceId: UUID,
50
77
  namespaceId: UUID,
51
- requestBody?: ComputedViewRunRequest,
78
+ viewId: UUID,
79
+ requestBody?: ViewRunRequest,
52
80
  ): CancelablePromise<QueryExecutionResponse> {
53
81
  return __request(OpenAPI, {
54
82
  method: 'POST',
55
- url: '/v1/namespaces/{namespaceId}/data-sources/{dataSourceId}/_run',
83
+ url: '/v1/namespaces/{namespaceId}/data-sources/{dataSourceId}/views/{viewId}/run',
56
84
  path: {
57
85
  'dataSourceId': dataSourceId,
58
86
  'namespaceId': namespaceId,
87
+ 'viewId': viewId,
59
88
  },
60
89
  body: requestBody,
61
90
  mediaType: 'application/json',
@@ -0,0 +1,156 @@
1
+ /* istanbul ignore file */
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ import type { BulkViewsRequest } from '../models/BulkViewsRequest';
5
+ import type { UUID } from '../models/UUID';
6
+ import type { View } from '../models/View';
7
+ import type { ViewRequest } from '../models/ViewRequest';
8
+ import type { ViewResponse } from '../models/ViewResponse';
9
+
10
+ import type { CancelablePromise } from '../core/CancelablePromise';
11
+ import { OpenAPI } from '../core/OpenAPI';
12
+ import { request as __request } from '../core/request';
13
+
14
+ export class ViewResourceService {
15
+
16
+ /**
17
+ * Deletes a view
18
+ * @param namespaceId
19
+ * @param requestBody
20
+ * @returns any The requested views
21
+ * @throws ApiError
22
+ */
23
+ public static getViews(
24
+ namespaceId: UUID,
25
+ requestBody?: BulkViewsRequest,
26
+ ): CancelablePromise<{
27
+ views: Array<View>;
28
+ }> {
29
+ return __request(OpenAPI, {
30
+ method: 'POST',
31
+ url: '/v1/namespaces/{namespaceId}/views/bulk-get',
32
+ path: {
33
+ 'namespaceId': namespaceId,
34
+ },
35
+ body: requestBody,
36
+ mediaType: 'application/json',
37
+ });
38
+ }
39
+
40
+ /**
41
+ * Clones the request set of views
42
+ * @param namespaceId
43
+ * @param requestBody
44
+ * @returns any The cloned views
45
+ * @throws ApiError
46
+ */
47
+ public static cloneViews(
48
+ namespaceId: UUID,
49
+ requestBody?: BulkViewsRequest,
50
+ ): CancelablePromise<{
51
+ views: Array<View>;
52
+ }> {
53
+ return __request(OpenAPI, {
54
+ method: 'POST',
55
+ url: '/v1/namespaces/{namespaceId}/views/clone',
56
+ path: {
57
+ 'namespaceId': namespaceId,
58
+ },
59
+ body: requestBody,
60
+ mediaType: 'application/json',
61
+ });
62
+ }
63
+
64
+ /**
65
+ * Gets a view
66
+ * @param id
67
+ * @param namespaceId
68
+ * @returns ViewResponse The requested view
69
+ * @throws ApiError
70
+ */
71
+ public static getView(
72
+ id: UUID,
73
+ namespaceId: UUID,
74
+ ): CancelablePromise<ViewResponse> {
75
+ return __request(OpenAPI, {
76
+ method: 'GET',
77
+ url: '/v1/namespaces/{namespaceId}/views/{id}',
78
+ path: {
79
+ 'id': id,
80
+ 'namespaceId': namespaceId,
81
+ },
82
+ });
83
+ }
84
+
85
+ /**
86
+ * Updates a view's metadata
87
+ * @param id
88
+ * @param namespaceId
89
+ * @param requestBody
90
+ * @returns ViewResponse The updated view
91
+ * @throws ApiError
92
+ */
93
+ public static updateView(
94
+ id: UUID,
95
+ namespaceId: UUID,
96
+ requestBody?: ViewRequest,
97
+ ): CancelablePromise<ViewResponse> {
98
+ return __request(OpenAPI, {
99
+ method: 'PUT',
100
+ url: '/v1/namespaces/{namespaceId}/views/{id}',
101
+ path: {
102
+ 'id': id,
103
+ 'namespaceId': namespaceId,
104
+ },
105
+ body: requestBody,
106
+ mediaType: 'application/json',
107
+ });
108
+ }
109
+
110
+ /**
111
+ * Creates a view
112
+ * @param id
113
+ * @param namespaceId
114
+ * @param requestBody
115
+ * @returns ViewResponse The requested view
116
+ * @throws ApiError
117
+ */
118
+ public static createView(
119
+ id: UUID,
120
+ namespaceId: UUID,
121
+ requestBody?: ViewRequest,
122
+ ): CancelablePromise<ViewResponse> {
123
+ return __request(OpenAPI, {
124
+ method: 'POST',
125
+ url: '/v1/namespaces/{namespaceId}/views/{id}',
126
+ path: {
127
+ 'id': id,
128
+ 'namespaceId': namespaceId,
129
+ },
130
+ body: requestBody,
131
+ mediaType: 'application/json',
132
+ });
133
+ }
134
+
135
+ /**
136
+ * Deletes a view
137
+ * @param id
138
+ * @param namespaceId
139
+ * @returns any 200 if the view was deleted properly
140
+ * @throws ApiError
141
+ */
142
+ public static deleteView(
143
+ id: UUID,
144
+ namespaceId: UUID,
145
+ ): CancelablePromise<Record<string, any>> {
146
+ return __request(OpenAPI, {
147
+ method: 'DELETE',
148
+ url: '/v1/namespaces/{namespaceId}/views/{id}',
149
+ path: {
150
+ 'id': id,
151
+ 'namespaceId': namespaceId,
152
+ },
153
+ });
154
+ }
155
+
156
+ }