+
+ createCollectionSharingToken(uuid: string): Promise<ApiClientAuthorization> {
+ if (extractUuidObjectType(uuid) !== ResourceObjectType.COLLECTION) {
+ throw new Error(`UUID ${uuid} is not a collection`);
+ }
+ return this.create({
+ scopes: [
+ `GET /arvados/v1/collections/${uuid}`,
+ `GET /arvados/v1/collections/${uuid}/`,
+ `GET /arvados/v1/keep_services/accessible`,
+ ]
+ });
+ }
+
+ listCollectionSharingTokens(uuid: string): Promise<ListResults<ApiClientAuthorization>> {
+ if (extractUuidObjectType(uuid) !== ResourceObjectType.COLLECTION) {
+ throw new Error(`UUID ${uuid} is not a collection`);
+ }
+ return this.list({
+ filters: new FilterBuilder()
+ .addEqual("scopes", [
+ `GET /arvados/v1/collections/${uuid}`,
+ `GET /arvados/v1/collections/${uuid}/`,
+ "GET /arvados/v1/keep_services/accessible"
+ ]).getFilters()
+ });
+ }
+}
\ No newline at end of file