Add deserializer to extensionQuery
This commit is contained in:
parent
2c8d8beffd
commit
fb580520b9
1 changed files with 9 additions and 7 deletions
|
@ -1,6 +1,8 @@
|
|||
import { HttpClient, HttpClientResponse } from 'vso-node-api/HttpClient';
|
||||
import { PublishedExtension, ExtensionQueryFlags, FilterCriteria, SortOrderType, SortByType, ExtensionQueryFilterType } from 'vso-node-api/interfaces/GalleryInterfaces';
|
||||
import { PublishedExtension, ExtensionQueryFlags, FilterCriteria, SortOrderType,
|
||||
SortByType, ExtensionQueryFilterType, TypeInfo} from 'vso-node-api/interfaces/GalleryInterfaces';
|
||||
import { IHeaders } from 'vso-node-api/interfaces/common/VsoBaseInterfaces';
|
||||
import { ContractSerializer } from 'vso-node-api/Serialization';
|
||||
|
||||
export interface ExtensionQuery {
|
||||
pageNumber?: number;
|
||||
|
@ -12,10 +14,6 @@ export interface ExtensionQuery {
|
|||
assetTypes?: string[];
|
||||
}
|
||||
|
||||
function filterByExtensionId(extensionId) {
|
||||
return ({publisher: {publisherName}, extensionName}) => extensionId === `${publisherName}.${extensionName}`;
|
||||
}
|
||||
|
||||
export class PublicGalleryAPI {
|
||||
client: HttpClient;
|
||||
|
||||
|
@ -47,7 +45,9 @@ export class PublicGalleryAPI {
|
|||
.then(res => res.readBody())
|
||||
.then(data => JSON.parse(data))
|
||||
.then(({results: [result = {}] = []}) => result)
|
||||
.then(({extensions = []}) => <PublishedExtension[]>extensions);
|
||||
.then(({extensions = []}) =>
|
||||
ContractSerializer.deserialize(extensions, TypeInfo.PublishedExtension, false, false)
|
||||
);
|
||||
}
|
||||
|
||||
getExtension(extensionId: string, flags: ExtensionQueryFlags[] = []): Promise<PublishedExtension> {
|
||||
|
@ -55,7 +55,9 @@ export class PublicGalleryAPI {
|
|||
criteria: [{ filterType: ExtensionQueryFilterType.Name, value: extensionId }],
|
||||
flags,
|
||||
})
|
||||
.then(result => result.filter(filterByExtensionId(extensionId)))
|
||||
.then(result => result.filter(({publisher: {publisherName}, extensionName}) =>
|
||||
extensionId === `${publisherName}.${extensionName}`)
|
||||
)
|
||||
.then(([extension]) => extension);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue