@nhost/nhost-js 3.2.8 → 5.0.0-beta.2

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.
Files changed (120) hide show
  1. package/README.md +73 -37
  2. package/dist/nhost-js/auth.cjs.js +2 -0
  3. package/dist/nhost-js/auth.cjs.js.map +1 -0
  4. package/dist/nhost-js/auth.es.js +589 -0
  5. package/dist/nhost-js/auth.es.js.map +1 -0
  6. package/dist/nhost-js/fetch.cjs.js +2 -0
  7. package/dist/nhost-js/fetch.cjs.js.map +1 -0
  8. package/dist/nhost-js/fetch.es.js +10 -0
  9. package/dist/nhost-js/fetch.es.js.map +1 -0
  10. package/dist/nhost-js/functions.cjs.js +2 -0
  11. package/dist/nhost-js/functions.cjs.js.map +1 -0
  12. package/dist/nhost-js/functions.es.js +31 -0
  13. package/dist/nhost-js/functions.es.js.map +1 -0
  14. package/dist/nhost-js/graphql.cjs.js +2 -0
  15. package/dist/nhost-js/graphql.cjs.js.map +1 -0
  16. package/dist/nhost-js/graphql.es.js +35 -0
  17. package/dist/nhost-js/graphql.es.js.map +1 -0
  18. package/dist/nhost-js/storage.cjs.js +2 -0
  19. package/dist/nhost-js/storage.cjs.js.map +1 -0
  20. package/dist/nhost-js/storage.es.js +205 -0
  21. package/dist/nhost-js/storage.es.js.map +1 -0
  22. package/dist/nhost-js.cjs.js +2 -0
  23. package/dist/nhost-js.cjs.js.map +1 -0
  24. package/dist/nhost-js.es.js +497 -0
  25. package/dist/nhost-js.es.js.map +1 -0
  26. package/dist/nhost-js.umd.js +2 -0
  27. package/dist/nhost-js.umd.js.map +1 -0
  28. package/dist/src/auth/client.d.ts +430 -0
  29. package/dist/src/auth/client.d.ts.map +1 -0
  30. package/dist/src/auth/client.js +727 -0
  31. package/dist/src/auth/client.js.map +1 -0
  32. package/dist/src/auth/index.d.ts +11 -0
  33. package/dist/src/auth/index.d.ts.map +1 -0
  34. package/dist/src/auth/index.js +11 -0
  35. package/dist/src/auth/index.js.map +1 -0
  36. package/dist/src/auth/interface.d.ts +142 -0
  37. package/dist/src/auth/interface.d.ts.map +1 -0
  38. package/dist/src/auth/interface.js +2 -0
  39. package/dist/src/auth/interface.js.map +1 -0
  40. package/dist/src/fetch/index.d.ts +53 -0
  41. package/dist/src/fetch/index.d.ts.map +1 -0
  42. package/dist/src/fetch/index.js +40 -0
  43. package/dist/src/fetch/index.js.map +1 -0
  44. package/dist/src/functions/client.d.ts +47 -0
  45. package/dist/src/functions/client.d.ts.map +1 -0
  46. package/dist/src/functions/client.js +62 -0
  47. package/dist/src/functions/client.js.map +1 -0
  48. package/dist/src/functions/index.d.ts +10 -0
  49. package/dist/src/functions/index.d.ts.map +1 -0
  50. package/dist/src/functions/index.js +10 -0
  51. package/dist/src/functions/index.js.map +1 -0
  52. package/dist/src/graphql/client.d.ts +89 -0
  53. package/dist/src/graphql/client.d.ts.map +1 -0
  54. package/dist/src/graphql/client.js +49 -0
  55. package/dist/src/graphql/client.js.map +1 -0
  56. package/dist/src/graphql/index.d.ts +10 -0
  57. package/dist/src/graphql/index.d.ts.map +1 -0
  58. package/dist/src/graphql/index.js +10 -0
  59. package/dist/src/graphql/index.js.map +1 -0
  60. package/dist/src/index.d.ts +184 -0
  61. package/dist/src/index.d.ts.map +1 -0
  62. package/dist/src/index.js +251 -0
  63. package/dist/src/index.js.map +1 -0
  64. package/dist/src/middlewareAttachToken.d.ts +24 -0
  65. package/dist/src/middlewareAttachToken.d.ts.map +1 -0
  66. package/dist/src/middlewareAttachToken.js +60 -0
  67. package/dist/src/middlewareAttachToken.js.map +1 -0
  68. package/dist/src/middlewareRefreshSession.d.ts +43 -0
  69. package/dist/src/middlewareRefreshSession.d.ts.map +1 -0
  70. package/dist/src/middlewareRefreshSession.js +190 -0
  71. package/dist/src/middlewareRefreshSession.js.map +1 -0
  72. package/dist/src/middlewareResponseSession.d.ts +26 -0
  73. package/dist/src/middlewareResponseSession.d.ts.map +1 -0
  74. package/dist/src/middlewareResponseSession.js +83 -0
  75. package/dist/src/middlewareResponseSession.js.map +1 -0
  76. package/dist/src/sessionStorage.d.ts +123 -0
  77. package/dist/src/sessionStorage.d.ts.map +1 -0
  78. package/dist/src/sessionStorage.js +165 -0
  79. package/dist/src/sessionStorage.js.map +1 -0
  80. package/dist/src/storage/client.d.ts +184 -0
  81. package/dist/src/storage/client.d.ts.map +1 -0
  82. package/dist/src/storage/client.js +249 -0
  83. package/dist/src/storage/client.js.map +1 -0
  84. package/dist/src/storage/index.d.ts +11 -0
  85. package/dist/src/storage/index.d.ts.map +1 -0
  86. package/dist/src/storage/index.js +11 -0
  87. package/dist/src/storage/index.js.map +1 -0
  88. package/dist/src/storage/interface.d.ts +52 -0
  89. package/dist/src/storage/interface.d.ts.map +1 -0
  90. package/dist/src/storage/interface.js +2 -0
  91. package/dist/src/storage/interface.js.map +1 -0
  92. package/dist/tsconfig.tsbuildinfo +1 -0
  93. package/package.json +109 -63
  94. package/LICENSE +0 -21
  95. package/dist/clients/auth.d.ts +0 -8
  96. package/dist/clients/auth.d.ts.map +0 -1
  97. package/dist/clients/functions/index.d.ts +0 -107
  98. package/dist/clients/functions/index.d.ts.map +0 -1
  99. package/dist/clients/functions/types.d.ts +0 -28
  100. package/dist/clients/functions/types.d.ts.map +0 -1
  101. package/dist/clients/graphql.d.ts +0 -8
  102. package/dist/clients/graphql.d.ts.map +0 -1
  103. package/dist/clients/index.d.ts +0 -6
  104. package/dist/clients/index.d.ts.map +0 -1
  105. package/dist/clients/nhost.d.ts +0 -83
  106. package/dist/clients/nhost.d.ts.map +0 -1
  107. package/dist/clients/storage.d.ts +0 -8
  108. package/dist/clients/storage.d.ts.map +0 -1
  109. package/dist/index.cjs.js +0 -2
  110. package/dist/index.cjs.js.map +0 -1
  111. package/dist/index.d.ts +0 -6
  112. package/dist/index.d.ts.map +0 -1
  113. package/dist/index.esm.js +0 -344
  114. package/dist/index.esm.js.map +0 -1
  115. package/dist/utils/helpers.d.ts +0 -20
  116. package/dist/utils/helpers.d.ts.map +0 -1
  117. package/dist/utils/types.d.ts +0 -57
  118. package/dist/utils/types.d.ts.map +0 -1
  119. package/umd/nhost-js.umd.js +0 -22
  120. package/umd/nhost-js.umd.js.map +0 -1
@@ -0,0 +1,184 @@
1
+ import type { ChainFunction } from "../fetch";
2
+ import type { Client } from "./interface";
3
+ /**
4
+ * Contains version information about the storage service.
5
+ */
6
+ export interface VersionInformation {
7
+ /** The version number of the storage service build. */
8
+ buildVersion?: string;
9
+ }
10
+ /**
11
+ * Basic information about a file in storage.
12
+ */
13
+ export interface FileSummary {
14
+ /** Unique identifier for the file. */
15
+ id?: string;
16
+ /** Name of the file including extension. */
17
+ name?: string;
18
+ /** ID of the bucket containing the file. */
19
+ bucketId?: string;
20
+ /** Whether the file has been successfully uploaded. */
21
+ isUploaded?: boolean;
22
+ }
23
+ /**
24
+ * Custom metadata associated with the file.
25
+ */
26
+ export type FileMetadataMetadata = {
27
+ [key: string]: unknown;
28
+ };
29
+ /**
30
+ * Comprehensive metadata information about a file in storage.
31
+ */
32
+ export interface FileMetadata {
33
+ /** Unique identifier for the file. */
34
+ id?: string;
35
+ /** Name of the file including extension. */
36
+ name?: string;
37
+ /** Size of the file in bytes. */
38
+ size?: number;
39
+ /** ID of the bucket containing the file. */
40
+ bucketId?: string;
41
+ /** Entity tag for cache validation. */
42
+ etag?: string;
43
+ /** Timestamp when the file was created. */
44
+ createdAt?: string;
45
+ /** Timestamp when the file was last updated. */
46
+ updatedAt?: string;
47
+ /** Whether the file has been successfully uploaded. */
48
+ isUploaded?: boolean;
49
+ /** MIME type of the file. */
50
+ mimeType?: string;
51
+ /** ID of the user who uploaded the file. */
52
+ uploadedByUserId?: string;
53
+ /** Custom metadata associated with the file. */
54
+ metadata?: FileMetadataMetadata;
55
+ }
56
+ /**
57
+ * Custom metadata to associate with the file.
58
+ */
59
+ export type UploadFileMetadataMetadata = {
60
+ [key: string]: unknown;
61
+ };
62
+ /**
63
+ * Metadata provided when uploading a new file.
64
+ */
65
+ export interface UploadFileMetadata {
66
+ /** Optional custom ID for the file. If not provided, a UUID will be generated. */
67
+ id?: string;
68
+ /** Name to assign to the file. If not provided, the original filename will be used. */
69
+ name?: string;
70
+ /** Custom metadata to associate with the file. */
71
+ metadata?: UploadFileMetadataMetadata;
72
+ }
73
+ /**
74
+ * Updated custom metadata to associate with the file.
75
+ */
76
+ export type UpdateFileMetadataMetadata = {
77
+ [key: string]: unknown;
78
+ };
79
+ /**
80
+ * Metadata that can be updated for an existing file.
81
+ */
82
+ export interface UpdateFileMetadata {
83
+ /** New name to assign to the file. */
84
+ name?: string;
85
+ /** Updated custom metadata to associate with the file. */
86
+ metadata?: UpdateFileMetadataMetadata;
87
+ }
88
+ /**
89
+ * Contains a presigned URL for direct file operations.
90
+ */
91
+ export interface PresignedURLResponse {
92
+ /** The presigned URL for file operations. */
93
+ url?: string;
94
+ /** The time in seconds until the URL expires. */
95
+ expiration?: number;
96
+ }
97
+ /**
98
+ * Error details.
99
+ */
100
+ export type ErrorError = {
101
+ /** Human-readable error message. */
102
+ message: string;
103
+ };
104
+ /**
105
+ * Error information returned by the API.
106
+ */
107
+ export interface Error {
108
+ /** Error details. */
109
+ error?: ErrorError;
110
+ }
111
+ export type GetOpenAPISpec200 = {
112
+ [key: string]: unknown;
113
+ };
114
+ export type UploadFilesBody = {
115
+ /** Target bucket identifier where files will be stored. */
116
+ "bucket-id"?: string;
117
+ /** Optional custom metadata for each uploaded file. Must match the order of the file[] array. */
118
+ "metadata[]"?: UploadFileMetadata[];
119
+ /** Array of files to upload. */
120
+ "file[]"?: Blob[];
121
+ };
122
+ export type UploadFiles201 = {
123
+ /** List of successfully processed files with their metadata. */
124
+ processedFiles?: FileMetadata[];
125
+ };
126
+ export type GetFileMetadataHeadersParams = {
127
+ /**
128
+ * Image quality (1-100). Only applies to JPEG, WebP and PNG files
129
+ */
130
+ q?: number;
131
+ /**
132
+ * Maximum height to resize image to while maintaining aspect ratio. Only applies to image files
133
+ */
134
+ h?: number;
135
+ /**
136
+ * Maximum width to resize image to while maintaining aspect ratio. Only applies to image files
137
+ */
138
+ w?: number;
139
+ /**
140
+ * Blur the image using this sigma value. Only applies to image files
141
+ */
142
+ b?: number;
143
+ /**
144
+ * Output format for image files. Use 'auto' for content negotiation based on Accept header
145
+ */
146
+ f?: GetFileMetadataHeadersF;
147
+ };
148
+ export type GetFileMetadataHeadersF = "auto" | "same" | "jpeg" | "webp" | "png" | "avif";
149
+ export type GetFileParams = {
150
+ /**
151
+ * Image quality (1-100). Only applies to JPEG, WebP and PNG files
152
+ */
153
+ q?: number;
154
+ /**
155
+ * Maximum height to resize image to while maintaining aspect ratio. Only applies to image files
156
+ */
157
+ h?: number;
158
+ /**
159
+ * Maximum width to resize image to while maintaining aspect ratio. Only applies to image files
160
+ */
161
+ w?: number;
162
+ /**
163
+ * Blur the image using this sigma value. Only applies to image files
164
+ */
165
+ b?: number;
166
+ /**
167
+ * Output format for image files. Use 'auto' for content negotiation based on Accept header
168
+ */
169
+ f?: GetFileF;
170
+ };
171
+ export type GetFileF = "auto" | "same" | "jpeg" | "webp" | "png" | "avif";
172
+ export type ReplaceFileBody = {
173
+ /** Optional metadata to update for the file */
174
+ metadata?: UpdateFileMetadata;
175
+ /** New file content to replace the existing file */
176
+ file?: Blob;
177
+ };
178
+ export type FetchResponse<T> = {
179
+ body: T;
180
+ status: number;
181
+ headers: Headers;
182
+ };
183
+ export declare const createAPIClient: (baseURL: string, chainFunctions?: ChainFunction[]) => Client;
184
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/storage/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,249 @@
1
+ /**
2
+ * Generated by orval v7.9.0 🍺
3
+ * Do not edit manually.
4
+ * Nhost Storage API
5
+ * Nhost Storage API - A service for managing and serving files with powerful access control capabilities
6
+ * OpenAPI spec version: 1.0.0
7
+ */
8
+ import { createEnhancedFetch } from "../fetch";
9
+ export const createAPIClient = (baseURL, chainFunctions = []) => {
10
+ let fetch = createEnhancedFetch(chainFunctions);
11
+ const pushChainFunction = (chainFunction) => {
12
+ chainFunctions.push(chainFunction);
13
+ fetch = createEnhancedFetch(chainFunctions);
14
+ };
15
+ /**
16
+ * Returns the OpenAPI schema definition for this API, allowing clients to understand the available endpoints and models.
17
+ * @summary Get OpenAPI specification
18
+ */
19
+ const getOpenAPISpec = async (options) => {
20
+ const res = await fetch(getGetOpenAPISpecUrl(), {
21
+ ...options,
22
+ method: "GET",
23
+ });
24
+ const body = [204, 205, 304, 412].includes(res.status)
25
+ ? null
26
+ : await res.text();
27
+ const payload = body ? JSON.parse(body) : {};
28
+ const response = {
29
+ body: payload,
30
+ status: res.status,
31
+ headers: res.headers,
32
+ };
33
+ if (!res.ok) {
34
+ throw response;
35
+ }
36
+ return response;
37
+ };
38
+ const getGetOpenAPISpecUrl = () => {
39
+ return baseURL + `/openapi.yaml`;
40
+ };
41
+ /**
42
+ * Retrieves build and version information about the storage service. Useful for monitoring and debugging.
43
+ * @summary Get service version information
44
+ */
45
+ const getVersion = async (options) => {
46
+ const res = await fetch(getGetVersionUrl(), {
47
+ ...options,
48
+ method: "GET",
49
+ });
50
+ const body = [204, 205, 304, 412].includes(res.status)
51
+ ? null
52
+ : await res.text();
53
+ const payload = body ? JSON.parse(body) : {};
54
+ const response = {
55
+ body: payload,
56
+ status: res.status,
57
+ headers: res.headers,
58
+ };
59
+ if (!res.ok) {
60
+ throw response;
61
+ }
62
+ return response;
63
+ };
64
+ const getGetVersionUrl = () => {
65
+ return baseURL + `/version`;
66
+ };
67
+ /**
68
+ * Upload one or more files to a specified bucket. Supports batch uploading with optional custom metadata for each file. If uploading multiple files, either provide metadata for all files or none.
69
+ * @summary Upload files
70
+ */
71
+ const uploadFiles = async (uploadFilesBody, options) => {
72
+ const formData = new FormData();
73
+ if (uploadFilesBody["bucket-id"] !== undefined) {
74
+ formData.append(`bucket-id`, uploadFilesBody["bucket-id"]);
75
+ }
76
+ if (uploadFilesBody["metadata[]"] !== undefined) {
77
+ uploadFilesBody["metadata[]"].forEach((value) => formData.append(`metadata[]`, JSON.stringify(value)));
78
+ }
79
+ if (uploadFilesBody["file[]"] !== undefined) {
80
+ uploadFilesBody["file[]"].forEach((value) => formData.append(`file[]`, value));
81
+ }
82
+ const res = await fetch(getUploadFilesUrl(), {
83
+ ...options,
84
+ method: "POST",
85
+ body: formData,
86
+ });
87
+ const body = [204, 205, 304, 412].includes(res.status)
88
+ ? null
89
+ : await res.text();
90
+ const payload = body ? JSON.parse(body) : {};
91
+ const response = {
92
+ body: payload,
93
+ status: res.status,
94
+ headers: res.headers,
95
+ };
96
+ if (!res.ok) {
97
+ throw response;
98
+ }
99
+ return response;
100
+ };
101
+ const getUploadFilesUrl = () => {
102
+ return baseURL + `/files/`;
103
+ };
104
+ /**
105
+ * Retrieve file metadata headers without downloading the file content. Supports conditional requests and provides caching information.
106
+ * @summary Check file information
107
+ */
108
+ const getFileMetadataHeaders = async (id, params, options) => {
109
+ const res = await fetch(getGetFileMetadataHeadersUrl(id, params), {
110
+ ...options,
111
+ method: "HEAD",
112
+ });
113
+ const body = [204, 205, 304, 412].includes(res.status)
114
+ ? null
115
+ : await res.text();
116
+ const payload = body ? JSON.parse(body) : {};
117
+ const response = {
118
+ body: payload,
119
+ status: res.status,
120
+ headers: res.headers,
121
+ };
122
+ if (!res.ok) {
123
+ throw response;
124
+ }
125
+ return response;
126
+ };
127
+ const getGetFileMetadataHeadersUrl = (id, params) => {
128
+ const normalizedParams = new URLSearchParams();
129
+ Object.entries(params || {}).forEach(([key, value]) => {
130
+ if (value !== undefined) {
131
+ normalizedParams.append(key, value === null ? "null" : value.toString());
132
+ }
133
+ });
134
+ const stringifiedParams = normalizedParams.toString();
135
+ return stringifiedParams.length > 0
136
+ ? baseURL + `/files/${id}?${stringifiedParams}`
137
+ : baseURL + `/files/${id}`;
138
+ };
139
+ /**
140
+ * Retrieve and download the complete file content. Supports conditional requests, image transformations, and range requests for partial downloads.
141
+ * @summary Download file
142
+ */
143
+ const getFile = async (id, params, options) => {
144
+ const res = await fetch(getGetFileUrl(id, params), {
145
+ ...options,
146
+ method: "GET",
147
+ });
148
+ const payload = await res.blob();
149
+ const response = {
150
+ body: payload,
151
+ status: res.status,
152
+ headers: res.headers,
153
+ };
154
+ if (!res.ok) {
155
+ throw response;
156
+ }
157
+ return response;
158
+ };
159
+ const getGetFileUrl = (id, params) => {
160
+ const normalizedParams = new URLSearchParams();
161
+ Object.entries(params || {}).forEach(([key, value]) => {
162
+ if (value !== undefined) {
163
+ normalizedParams.append(key, value === null ? "null" : value.toString());
164
+ }
165
+ });
166
+ const stringifiedParams = normalizedParams.toString();
167
+ return stringifiedParams.length > 0
168
+ ? baseURL + `/files/${id}?${stringifiedParams}`
169
+ : baseURL + `/files/${id}`;
170
+ };
171
+ /**
172
+ * Replace an existing file with new content while preserving the file ID. The operation follows these steps:
173
+ 1. The isUploaded flag is set to false to mark the file as being updated
174
+ 2. The file content is replaced in the storage backend
175
+ 3. File metadata is updated (size, mime-type, isUploaded, etc.)
176
+
177
+ Each step is atomic, but if a step fails, previous steps will not be automatically rolled back.
178
+
179
+ * @summary Replace file
180
+ */
181
+ const replaceFile = async (id, replaceFileBody, options) => {
182
+ const formData = new FormData();
183
+ if (replaceFileBody.metadata !== undefined) {
184
+ formData.append(`metadata`, JSON.stringify(replaceFileBody.metadata));
185
+ }
186
+ if (replaceFileBody.file !== undefined) {
187
+ formData.append(`file`, replaceFileBody.file);
188
+ }
189
+ const res = await fetch(getReplaceFileUrl(id), {
190
+ ...options,
191
+ method: "PUT",
192
+ body: formData,
193
+ });
194
+ const body = [204, 205, 304, 412].includes(res.status)
195
+ ? null
196
+ : await res.text();
197
+ const payload = body ? JSON.parse(body) : {};
198
+ const response = {
199
+ body: payload,
200
+ status: res.status,
201
+ headers: res.headers,
202
+ };
203
+ if (!res.ok) {
204
+ throw response;
205
+ }
206
+ return response;
207
+ };
208
+ const getReplaceFileUrl = (id) => {
209
+ return baseURL + `/files/${id}`;
210
+ };
211
+ /**
212
+ * Permanently delete a file from storage. This removes both the file content and its associated metadata.
213
+ * @summary Delete file
214
+ */
215
+ const deleteFile = async (id, options) => {
216
+ const res = await fetch(getDeleteFileUrl(id), {
217
+ ...options,
218
+ method: "DELETE",
219
+ });
220
+ const body = [204, 205, 304, 412].includes(res.status)
221
+ ? null
222
+ : await res.text();
223
+ const payload = body ? JSON.parse(body) : {};
224
+ const response = {
225
+ body: payload,
226
+ status: res.status,
227
+ headers: res.headers,
228
+ };
229
+ if (!res.ok) {
230
+ throw response;
231
+ }
232
+ return response;
233
+ };
234
+ const getDeleteFileUrl = (id) => {
235
+ return baseURL + `/files/${id}`;
236
+ };
237
+ return {
238
+ getOpenAPISpec,
239
+ getVersion,
240
+ uploadFiles,
241
+ getFileMetadataHeaders,
242
+ getFile,
243
+ replaceFile,
244
+ deleteFile,
245
+ pushChainFunction,
246
+ baseURL,
247
+ };
248
+ };
249
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/storage/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAyM/C,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,OAAe,EACf,iBAAkC,EAAE,EAC5B,EAAE;IACV,IAAI,KAAK,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAEhD,MAAM,iBAAiB,GAAG,CAAC,aAA4B,EAAE,EAAE;QACzD,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnC,KAAK,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,cAAc,GAAG,KAAK,EAC1B,OAAqB,EACsB,EAAE;QAC7C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,oBAAoB,EAAE,EAAE;YAC9C,GAAG,OAAO;YACV,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YACpD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAsB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhE,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;SACe,CAAC;QAEtC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,QAAQ,CAAC;QACjB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,OAAO,OAAO,GAAG,eAAe,CAAC;IACnC,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,UAAU,GAAG,KAAK,EACtB,OAAqB,EACuB,EAAE;QAC9C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE,EAAE;YAC1C,GAAG,OAAO;YACV,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YACpD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAuB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEjE,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;SACgB,CAAC;QAEvC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,QAAQ,CAAC;QACjB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,OAAO,OAAO,GAAG,UAAU,CAAC;IAC9B,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,WAAW,GAAG,KAAK,EACvB,eAAgC,EAChC,OAAqB,EACmB,EAAE;QAC1C,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,eAAe,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;YAC/C,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,eAAe,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;YAChD,eAAe,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC9C,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;QACJ,CAAC;QACD,IAAI,eAAe,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;YAC5C,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1C,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CACjC,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,iBAAiB,EAAE,EAAE;YAC3C,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YACpD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAmB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE7D,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;SACY,CAAC;QAEnC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,QAAQ,CAAC;QACjB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC7B,OAAO,OAAO,GAAG,SAAS,CAAC;IAC7B,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,sBAAsB,GAAG,KAAK,EAClC,EAAU,EACV,MAAqC,EACrC,OAAqB,EACS,EAAE;QAChC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,4BAA4B,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE;YAChE,GAAG,OAAO;YACV,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YACpD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAS,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnD,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;SACE,CAAC;QAEzB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,QAAQ,CAAC;QACjB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,4BAA4B,GAAG,CACnC,EAAU,EACV,MAAqC,EACrC,EAAE;QACF,MAAM,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;QAE/C,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,gBAAgB,CAAC,MAAM,CACrB,GAAG,EACH,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAC3C,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QAEtD,OAAO,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACjC,CAAC,CAAC,OAAO,GAAG,UAAU,EAAE,IAAI,iBAAiB,EAAE;YAC/C,CAAC,CAAC,OAAO,GAAG,UAAU,EAAE,EAAE,CAAC;IAC/B,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,OAAO,GAAG,KAAK,EACnB,EAAU,EACV,MAAsB,EACtB,OAAqB,EACS,EAAE;QAChC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE;YACjD,GAAG,OAAO;YACV,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QAEH,MAAM,OAAO,GAAS,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAEvC,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;SACE,CAAC;QAEzB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,QAAQ,CAAC;QACjB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,EAAU,EAAE,MAAsB,EAAE,EAAE;QAC3D,MAAM,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;QAE/C,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,gBAAgB,CAAC,MAAM,CACrB,GAAG,EACH,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAC3C,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QAEtD,OAAO,iBAAiB,CAAC,MAAM,GAAG,CAAC;YACjC,CAAC,CAAC,OAAO,GAAG,UAAU,EAAE,IAAI,iBAAiB,EAAE;YAC/C,CAAC,CAAC,OAAO,GAAG,UAAU,EAAE,EAAE,CAAC;IAC/B,CAAC,CAAC;IAEF;;;;;;;;;KASC;IACD,MAAM,WAAW,GAAG,KAAK,EACvB,EAAU,EACV,eAAgC,EAChC,OAAqB,EACiB,EAAE;QACxC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,eAAe,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3C,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,eAAe,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACvC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE;YAC7C,GAAG,OAAO;YACV,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YACpD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAiB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3D,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;SACU,CAAC;QAEjC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,QAAQ,CAAC;QACjB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAE,EAAE;QACvC,OAAO,OAAO,GAAG,UAAU,EAAE,EAAE,CAAC;IAClC,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,UAAU,GAAG,KAAK,EACtB,EAAU,EACV,OAAqB,EACS,EAAE;QAChC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE;YAC5C,GAAG,OAAO;YACV,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YACpD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACrB,MAAM,OAAO,GAAS,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnD,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;SACE,CAAC;QAEzB,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,QAAQ,CAAC;QACjB,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAE,EAAE;QACtC,OAAO,OAAO,GAAG,UAAU,EAAE,EAAE,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO;QACL,cAAc;QACd,UAAU;QACV,WAAW;QACX,sBAAsB;QACtB,OAAO;QACP,WAAW;QACX,UAAU;QACV,iBAAiB;QACjB,OAAO;KACR,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * This is the main module to interact with Nhost's Storage service.
3
+ * Typically you would use this modula via the main [Nhost client](main#createclient)
4
+ * but you can also use it directly if you have a specific use case.
5
+ *
6
+ * @module storage
7
+ * @packageDocumentation
8
+ */
9
+ export * from "./client";
10
+ export * from "./interface";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * This is the main module to interact with Nhost's Storage service.
3
+ * Typically you would use this modula via the main [Nhost client](main#createclient)
4
+ * but you can also use it directly if you have a specific use case.
5
+ *
6
+ * @module storage
7
+ * @packageDocumentation
8
+ */
9
+ export * from "./client";
10
+ export * from "./interface";
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,52 @@
1
+ import type { ChainFunction } from "../fetch";
2
+ import type { FetchResponse, GetOpenAPISpec200, VersionInformation, UploadFilesBody, UploadFiles201, GetFileMetadataHeadersParams, GetFileParams, ReplaceFileBody, FileMetadata } from "./client";
3
+ /**
4
+ * Storage client interface providing methods for file operations
5
+ */
6
+ export interface Client {
7
+ /**
8
+ * Base URL for the storage service
9
+ */
10
+ baseURL: string;
11
+ /**
12
+ * Add a middleware function to the request chain
13
+ * @param chainFunction - Middleware function to add
14
+ */
15
+ pushChainFunction: (chainFunction: ChainFunction) => void;
16
+ /**
17
+ * Returns the OpenAPI schema definition for this API
18
+ * @summary Get OpenAPI specification
19
+ */
20
+ getOpenAPISpec: (options?: RequestInit) => Promise<FetchResponse<GetOpenAPISpec200>>;
21
+ /**
22
+ * Retrieves build and version information about the storage service
23
+ * @summary Get service version information
24
+ */
25
+ getVersion: (options?: RequestInit) => Promise<FetchResponse<VersionInformation>>;
26
+ /**
27
+ * Upload one or more files to storage
28
+ * @summary Upload files
29
+ */
30
+ uploadFiles: (uploadFilesBody: UploadFilesBody, options?: RequestInit) => Promise<FetchResponse<UploadFiles201>>;
31
+ /**
32
+ * Retrieve file metadata using HTTP HEAD method
33
+ * @summary Get file metadata (HEAD)
34
+ */
35
+ getFileMetadataHeaders: (id: string, params?: GetFileMetadataHeadersParams, options?: RequestInit) => Promise<FetchResponse<void>>;
36
+ /**
37
+ * Download a file
38
+ * @summary Get file
39
+ */
40
+ getFile: (id: string, params?: GetFileParams, options?: RequestInit) => Promise<FetchResponse<Blob>>;
41
+ /**
42
+ * Replace an existing file
43
+ * @summary Replace file
44
+ */
45
+ replaceFile: (id: string, replaceFileBody: ReplaceFileBody, options?: RequestInit) => Promise<FetchResponse<FileMetadata>>;
46
+ /**
47
+ * Delete a file
48
+ * @summary Delete file
49
+ */
50
+ deleteFile: (id: string, options?: RequestInit) => Promise<FetchResponse<void>>;
51
+ }
52
+ //# sourceMappingURL=interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/storage/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,4BAA4B,EAC5B,aAAa,EACb,eAAe,EACf,YAAY,EACb,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,iBAAiB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IAE1D;;;OAGG;IACH,cAAc,EAAE,CACd,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAE/C;;;OAGG;IACH,UAAU,EAAE,CACV,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEhD;;;OAGG;IACH,WAAW,EAAE,CACX,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;IAE5C;;;OAGG;IACH,sBAAsB,EAAE,CACtB,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,4BAA4B,EACrC,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAElC;;;OAGG;IACH,OAAO,EAAE,CACP,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,aAAa,EACtB,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAElC;;;OAGG;IACH,WAAW,EAAE,CACX,EAAE,EAAE,MAAM,EACV,eAAe,EAAE,eAAe,EAChC,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;IAE1C;;;OAGG;IACH,UAAU,EAAE,CACV,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,WAAW,KAClB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;CACnC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.js","sourceRoot":"","sources":["../../../src/storage/interface.ts"],"names":[],"mappings":""}