11import type { SquareCloudBlob } from ".." ;
22import { SquareCloudBlobError } from "../structures/error" ;
3+ import type { CreateObjectResponse , CreateObjectType } from "../types/create" ;
34import type { ListObjectsResponse } from "../types/list" ;
4- import type { PutObjectResponse , PutObjectType } from "../types/put" ;
55import { getMimeTypeFromExtension } from "../utils/mimetype" ;
66import { parsePathLike } from "../utils/pathlike" ;
7+ import { assertCreateObjectResponse } from "../validation/assertions/create" ;
78import { assertListObjectsResponse } from "../validation/assertions/list" ;
8- import { assertPutObjectResponse } from "../validation/assertions/put" ;
9- import { putObjectPayloadSchema } from "../validation/schemas/put" ;
9+ import { createObjectPayloadSchema } from "../validation/schemas/create" ;
1010
11- export class BlobObjectsManager {
11+ export class ObjectsManager {
1212 constructor ( private readonly client : SquareCloudBlob ) { }
1313
1414 /**
@@ -21,7 +21,7 @@ export class BlobObjectsManager {
2121 */
2222 async list ( ) {
2323 const { response } =
24- await this . client . api . request < ListObjectsResponse > ( "list " ) ;
24+ await this . client . api . request < ListObjectsResponse > ( "objects " ) ;
2525
2626 return assertListObjectsResponse ( response ) ?. objects ;
2727 }
@@ -33,11 +33,11 @@ export class BlobObjectsManager {
3333 *
3434 * @example
3535 * ```js
36- * await blob.objects.put ({ file: "path/to/file.jpeg", name: "my_image" });
36+ * await blob.objects.create ({ file: "path/to/file.jpeg", name: "my_image" });
3737 * ```
3838 */
39- async put ( object : PutObjectType ) {
40- const payload = putObjectPayloadSchema . parse ( object ) ;
39+ async create ( object : CreateObjectType ) {
40+ const payload = createObjectPayloadSchema . parse ( object ) ;
4141 const file = await parsePathLike ( payload . file ) ;
4242 const mimeType =
4343 typeof object . file === "string"
@@ -47,16 +47,16 @@ export class BlobObjectsManager {
4747 const formData = new FormData ( ) ;
4848 formData . append ( "file" , new Blob ( [ file ] , { type : mimeType } ) ) ;
4949
50- const { response } = await this . client . api . request < PutObjectResponse > (
51- "put " ,
50+ const { response } = await this . client . api . request < CreateObjectResponse > (
51+ "objects " ,
5252 {
53- method : "PUT " ,
53+ method : "POST " ,
5454 body : formData ,
5555 params : payload . params ,
5656 } ,
5757 ) ;
5858
59- return assertPutObjectResponse ( response ) ;
59+ return assertCreateObjectResponse ( response ) ;
6060 }
6161
6262 /**
@@ -72,12 +72,12 @@ export class BlobObjectsManager {
7272 async delete ( ...objects : string [ ] | string [ ] [ ] ) {
7373 const ids = objects . flat ( ) ;
7474
75- const response = await this . client . api . request ( "delete " , {
75+ const { status } = await this . client . api . request ( "objects " , {
7676 method : "DELETE" ,
7777 body : { objects : ids } ,
7878 } ) ;
7979
80- return response . status === "success" ;
80+ return status === "success" ;
8181 }
8282
8383 /**
0 commit comments