本文整理汇总了TypeScript中core/search/search.service.SearchService.search方法的典型用法代码示例。如果您正苦于以下问题:TypeScript service.SearchService.search方法的具体用法?TypeScript service.SearchService.search怎么用?TypeScript service.SearchService.search使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类core/search/search.service.SearchService
的用法示例。
在下文中一共展示了service.SearchService.search方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: listHealthChecks
public listHealthChecks (type?: string): ng.IPromise<IGceHealthCheck[]> {
if (type) {
return this.listHealthChecks().then(healthChecks => healthChecks.filter(healthCheck => healthCheck.healthCheckType === type));
} else {
return this.searchService
.search({q: '', type: 'healthChecks'}, this.infrastructureCaches.get('healthChecks'))
.then((searchResults: ISearchResults<IHealthCheckSearchResults>) => {
if (searchResults && searchResults.results) {
const healthChecks = searchResults.results.filter(result => result.provider === 'gce')
.map(result => {
const healthCheck = JSON.parse(result.healthCheck) as IGceHealthCheck;
healthCheck.account = result.account;
return healthCheck;
});
return uniqWith(healthChecks, (checkA: IGceHealthCheck, checkB: IGceHealthCheck) => {
return checkA.name === checkB.name && checkA.healthCheckType === checkB.healthCheckType &&
checkA.account === checkB.account;
});
} else {
return [];
}
})
.catch(() => []);
}
}
示例2: listCertificates
public listCertificates(): IPromise<IGceCertificate[]> {
return this.searchService
.search<IGceCertificate>({q: '', type: 'sslCertificates'}, this.infrastructureCaches.get('certificates'))
.then((searchResults: ISearchResults<IGceCertificate>) => {
if (searchResults && searchResults.results) {
return searchResults.results.filter(certificate => certificate.provider === 'gce');
} else {
return [];
}
})
.catch(() => []);
}
示例3: loadSecurityGroupsByApplicationName
public loadSecurityGroupsByApplicationName(applicationName: string): IPromise<ISecurityGroup[]> {
return SearchService.search<ISecurityGroupSearchResult>({
q: applicationName,
type: 'securityGroups',
pageSize: 1000,
}).then((searchResults: ISearchResults<ISecurityGroupSearchResult>) => {
let result: ISecurityGroup[] = [];
if (!searchResults || !searchResults.results) {
this.$log.warn('WARNING: Gate firewall endpoint appears to be down.');
} else {
result = filter(searchResults.results, { application: applicationName });
}
return result;
});
}
示例4: listAddresses
public listAddresses(region?: string): IPromise<IGceAddress[]> {
if (region) {
return this.listAddresses(null /* region */).then(addresses => addresses.filter(address => address.region === region));
} else {
return this.searchService
.search<IAddressSearchResults>({q: '', type: 'addresses'}, this.infrastructureCaches.get('addresses'))
.then((searchResults: ISearchResults<IAddressSearchResults>) => {
if (searchResults && searchResults.results) {
return searchResults.results
.filter(result => result.provider === 'gce')
.map(result => {
const address = JSON.parse(result.address) as IGceAddress;
address.account = result.account;
address.region = result.region;
return address;
});
} else {
return [];
}
})
.catch(() => []);
}
}