V1 with working cmdline interface for easy of using GIT
This commit is contained in:
+225
@@ -0,0 +1,225 @@
|
||||
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
||||
|
||||
import { APIResource } from '../../../resource';
|
||||
import { isRequestOptions } from '../../../core';
|
||||
import * as Core from '../../../core';
|
||||
import * as ContentAPI from './content';
|
||||
import { Content } from './content';
|
||||
import { CursorPage, type CursorPageParams } from '../../../pagination';
|
||||
|
||||
export class Files extends APIResource {
|
||||
content: ContentAPI.Content = new ContentAPI.Content(this._client);
|
||||
|
||||
/**
|
||||
* Create a Container File
|
||||
*
|
||||
* You can send either a multipart/form-data request with the raw file content, or
|
||||
* a JSON request with a file ID.
|
||||
*/
|
||||
create(
|
||||
containerId: string,
|
||||
body: FileCreateParams,
|
||||
options?: Core.RequestOptions,
|
||||
): Core.APIPromise<FileCreateResponse> {
|
||||
return this._client.post(
|
||||
`/containers/${containerId}/files`,
|
||||
Core.multipartFormRequestOptions({ body, ...options }),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve Container File
|
||||
*/
|
||||
retrieve(
|
||||
containerId: string,
|
||||
fileId: string,
|
||||
options?: Core.RequestOptions,
|
||||
): Core.APIPromise<FileRetrieveResponse> {
|
||||
return this._client.get(`/containers/${containerId}/files/${fileId}`, options);
|
||||
}
|
||||
|
||||
/**
|
||||
* List Container files
|
||||
*/
|
||||
list(
|
||||
containerId: string,
|
||||
query?: FileListParams,
|
||||
options?: Core.RequestOptions,
|
||||
): Core.PagePromise<FileListResponsesPage, FileListResponse>;
|
||||
list(
|
||||
containerId: string,
|
||||
options?: Core.RequestOptions,
|
||||
): Core.PagePromise<FileListResponsesPage, FileListResponse>;
|
||||
list(
|
||||
containerId: string,
|
||||
query: FileListParams | Core.RequestOptions = {},
|
||||
options?: Core.RequestOptions,
|
||||
): Core.PagePromise<FileListResponsesPage, FileListResponse> {
|
||||
if (isRequestOptions(query)) {
|
||||
return this.list(containerId, {}, query);
|
||||
}
|
||||
return this._client.getAPIList(`/containers/${containerId}/files`, FileListResponsesPage, {
|
||||
query,
|
||||
...options,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete Container File
|
||||
*/
|
||||
del(containerId: string, fileId: string, options?: Core.RequestOptions): Core.APIPromise<void> {
|
||||
return this._client.delete(`/containers/${containerId}/files/${fileId}`, {
|
||||
...options,
|
||||
headers: { Accept: '*/*', ...options?.headers },
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export class FileListResponsesPage extends CursorPage<FileListResponse> {}
|
||||
|
||||
export interface FileCreateResponse {
|
||||
/**
|
||||
* Unique identifier for the file.
|
||||
*/
|
||||
id: string;
|
||||
|
||||
/**
|
||||
* Size of the file in bytes.
|
||||
*/
|
||||
bytes: number;
|
||||
|
||||
/**
|
||||
* The container this file belongs to.
|
||||
*/
|
||||
container_id: string;
|
||||
|
||||
/**
|
||||
* Unix timestamp (in seconds) when the file was created.
|
||||
*/
|
||||
created_at: number;
|
||||
|
||||
/**
|
||||
* The type of this object (`container.file`).
|
||||
*/
|
||||
object: 'container.file';
|
||||
|
||||
/**
|
||||
* Path of the file in the container.
|
||||
*/
|
||||
path: string;
|
||||
|
||||
/**
|
||||
* Source of the file (e.g., `user`, `assistant`).
|
||||
*/
|
||||
source: string;
|
||||
}
|
||||
|
||||
export interface FileRetrieveResponse {
|
||||
/**
|
||||
* Unique identifier for the file.
|
||||
*/
|
||||
id: string;
|
||||
|
||||
/**
|
||||
* Size of the file in bytes.
|
||||
*/
|
||||
bytes: number;
|
||||
|
||||
/**
|
||||
* The container this file belongs to.
|
||||
*/
|
||||
container_id: string;
|
||||
|
||||
/**
|
||||
* Unix timestamp (in seconds) when the file was created.
|
||||
*/
|
||||
created_at: number;
|
||||
|
||||
/**
|
||||
* The type of this object (`container.file`).
|
||||
*/
|
||||
object: 'container.file';
|
||||
|
||||
/**
|
||||
* Path of the file in the container.
|
||||
*/
|
||||
path: string;
|
||||
|
||||
/**
|
||||
* Source of the file (e.g., `user`, `assistant`).
|
||||
*/
|
||||
source: string;
|
||||
}
|
||||
|
||||
export interface FileListResponse {
|
||||
/**
|
||||
* Unique identifier for the file.
|
||||
*/
|
||||
id: string;
|
||||
|
||||
/**
|
||||
* Size of the file in bytes.
|
||||
*/
|
||||
bytes: number;
|
||||
|
||||
/**
|
||||
* The container this file belongs to.
|
||||
*/
|
||||
container_id: string;
|
||||
|
||||
/**
|
||||
* Unix timestamp (in seconds) when the file was created.
|
||||
*/
|
||||
created_at: number;
|
||||
|
||||
/**
|
||||
* The type of this object (`container.file`).
|
||||
*/
|
||||
object: 'container.file';
|
||||
|
||||
/**
|
||||
* Path of the file in the container.
|
||||
*/
|
||||
path: string;
|
||||
|
||||
/**
|
||||
* Source of the file (e.g., `user`, `assistant`).
|
||||
*/
|
||||
source: string;
|
||||
}
|
||||
|
||||
export interface FileCreateParams {
|
||||
/**
|
||||
* The File object (not file name) to be uploaded.
|
||||
*/
|
||||
file?: Core.Uploadable;
|
||||
|
||||
/**
|
||||
* Name of the file to create.
|
||||
*/
|
||||
file_id?: string;
|
||||
}
|
||||
|
||||
export interface FileListParams extends CursorPageParams {
|
||||
/**
|
||||
* Sort order by the `created_at` timestamp of the objects. `asc` for ascending
|
||||
* order and `desc` for descending order.
|
||||
*/
|
||||
order?: 'asc' | 'desc';
|
||||
}
|
||||
|
||||
Files.FileListResponsesPage = FileListResponsesPage;
|
||||
Files.Content = Content;
|
||||
|
||||
export declare namespace Files {
|
||||
export {
|
||||
type FileCreateResponse as FileCreateResponse,
|
||||
type FileRetrieveResponse as FileRetrieveResponse,
|
||||
type FileListResponse as FileListResponse,
|
||||
FileListResponsesPage as FileListResponsesPage,
|
||||
type FileCreateParams as FileCreateParams,
|
||||
type FileListParams as FileListParams,
|
||||
};
|
||||
|
||||
export { Content as Content };
|
||||
}
|
||||
Reference in New Issue
Block a user