A social knowledge tool for researchers built on ATProto
at development 1.0 kB view raw
1import { BaseClient } from './BaseClient'; 2import { 3 CreateCollectionRequest, 4 CreateCollectionResponse, 5 UpdateCollectionRequest, 6 UpdateCollectionResponse, 7 DeleteCollectionRequest, 8 DeleteCollectionResponse, 9} from '../types'; 10 11export class CollectionClient extends BaseClient { 12 async createCollection( 13 request: CreateCollectionRequest, 14 ): Promise<CreateCollectionResponse> { 15 return this.request<CreateCollectionResponse>( 16 'POST', 17 '/api/collections', 18 request, 19 ); 20 } 21 22 async updateCollection( 23 request: UpdateCollectionRequest, 24 ): Promise<UpdateCollectionResponse> { 25 const { collectionId, ...updateData } = request; 26 return this.request<UpdateCollectionResponse>( 27 'PUT', 28 `/api/collections/${collectionId}`, 29 updateData, 30 ); 31 } 32 33 async deleteCollection( 34 request: DeleteCollectionRequest, 35 ): Promise<DeleteCollectionResponse> { 36 return this.request<DeleteCollectionResponse>( 37 'DELETE', 38 `/api/collections/${request.collectionId}`, 39 ); 40 } 41}