當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript infrastructureCaches.service.InfrastructureCacheService類代碼示例

本文整理匯總了TypeScript中core/cache/infrastructureCaches.service.InfrastructureCacheService的典型用法代碼示例。如果您正苦於以下問題:TypeScript service.InfrastructureCacheService類的具體用法?TypeScript service.InfrastructureCacheService怎麽用?TypeScript service.InfrastructureCacheService使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了service.InfrastructureCacheService類的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: it

    it('should remove all items from the specified cache', () => {
      let cache: ICache = infrastructureCache.get('credentials');
      expect(cache).toBeUndefined();

      cacheInitializer.initialize().then(() => {
        cache = infrastructureCache.get('credentials');
        expect(cache).toBeDefined();
        expect(cache.keys().length).toBe(0);

        const key = 'myTestCacheKey';
        const value = 'myTestCacheValue';
        cache.put(key, value);

        expect(cache.keys().length).toBe(1);
        expect(cache.get(key)).toBe(value);

        cacheInitializer.refreshCache('credentials').then((result: any[]) => {
          expect(flatten(result)).toEqual(keys.account);
          cache = infrastructureCache.get('credentials');
          expect(cache.keys().length).toBe(0);
        });
        initialized = true;
      });
      $root.$digest();
      expect(initialized).toBeTruthy();
    });
開發者ID:jtk54,項目名稱:deck,代碼行數:26,代碼來源:cacheInitializer.service.spec.ts

示例2: getAllSecurityGroups

 public getAllSecurityGroups(): IPromise<ISecurityGroupsByAccountSourceData> {
   // Because these are cached in local storage, we unfortunately need to remove the moniker, as it triples the size
   // of the object being stored, which blows out our LS quota for a sufficiently large footprint
   const cache = this.infrastructureCaches.get('securityGroups');
   const cached = !!cache ? cache.get('allGroups') : null;
   if (cached) {
     return this.$q.resolve(cached);
   }
   return this.API.one('securityGroups').useCache().get()
     .then((groupsByAccount: ISecurityGroupsByAccountSourceData) => {
         Object.keys(groupsByAccount).forEach(account => {
           Object.keys(groupsByAccount[account]).forEach(provider => {
             Object.keys(groupsByAccount[account][provider]).forEach(region => {
               groupsByAccount[account][provider][region].forEach(group => {
                 delete group.moniker;
               })
             })
           })
         });
       if (cache) {
         cache.put('allGroups', groupsByAccount);
       }
       return groupsByAccount;
     });
 }
開發者ID:robfletcher,項目名稱:deck,代碼行數:25,代碼來源:securityGroupReader.service.ts

示例3: 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(() => []);
   }
 }
開發者ID:brujoand,項目名稱:deck,代碼行數:25,代碼來源:healthCheck.read.service.ts

示例4: deleteLoadBalancer

  public deleteLoadBalancer(command: ILoadBalancerDeleteCommand, application: Application): ng.IPromise<ITask> {
    command.type = 'deleteLoadBalancer';

    this.infrastructureCaches.clearCache('loadBalancers');

    return this.taskExecutor.executeTask({
      job: [command],
      application: application,
      description: `Delete load balancer: ${command.loadBalancerName}`
    });
  }
開發者ID:jcwest,項目名稱:deck,代碼行數:11,代碼來源:loadBalancer.write.service.ts

示例5: 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(() => []);
 }
開發者ID:brujoand,項目名稱:deck,代碼行數:12,代碼來源:certificate.reader.ts

示例6: upsertLoadBalancer

  public upsertLoadBalancer(command: ILoadBalancerUpsertCommand, application: Application, descriptor: string, params: any = {}): ng.IPromise<ITask> {
    Object.assign(command, params);
    command.type = 'upsertLoadBalancer';

    this.infrastructureCaches.clearCache('loadBalancers');

    return this.taskExecutor.executeTask({
      job: [command],
      application: application,
      description: `${descriptor} Load Balancer: ${command['name']}`,
    });
  }
開發者ID:jcwest,項目名稱:deck,代碼行數:12,代碼來源:loadBalancer.write.service.ts

示例7: deleteSecurityGroup

  public deleteSecurityGroup(securityGroup: ISecurityGroup,
                             application: Application,
                             params: ISecurityGroupJob): IPromise<ITask> {

    params.type = 'deleteSecurityGroup';
    params.securityGroupName = securityGroup.name;
    params.regions = [securityGroup.region];
    params.credentials = securityGroup.accountId;

    const operation: IPromise<ITask> = this.taskExecutor.executeTask({
      job: [params],
      application: application,
      description: `Delete Security Group: ${securityGroup.name}`
    });
    this.infrastructureCaches.clearCache('securityGroups');

    return operation;
  }
開發者ID:jcwest,項目名稱:deck,代碼行數:18,代碼來源:securityGroupWriter.service.ts

示例8: upsertSecurityGroup

  public upsertSecurityGroup(securityGroup: ISecurityGroup,
                             application: Application,
                             description: string,
                             params: any = {}): IPromise<ITask> {

    params.type = 'upsertSecurityGroup';
    params.credentials = securityGroup.credentials || securityGroup.accountName;
    const job: ISecurityGroupJob = Object.assign(securityGroup, params);

    const operation: IPromise<ITask> = this.taskExecutor.executeTask({
      job: [job],
      application: application,
      description: `${description} Security Group: ${securityGroup.name}`
    });

    this.infrastructureCaches.clearCache('securityGroups');

    return operation;
  }
開發者ID:jcwest,項目名稱:deck,代碼行數:19,代碼來源:securityGroupWriter.service.ts

示例9: expect

      cacheInitializer.initialize().then(() => {
        cache = infrastructureCache.get('credentials');
        expect(cache).toBeDefined();
        expect(cache.keys().length).toBe(0);

        const key = 'myTestCacheKey';
        const value = 'myTestCacheValue';
        cache.put(key, value);

        expect(cache.keys().length).toBe(1);
        expect(cache.get(key)).toBe(value);

        cacheInitializer.refreshCache('credentials').then((result: any[]) => {
          expect(flatten(result)).toEqual(keys.account);
          cache = infrastructureCache.get('credentials');
          expect(cache.keys().length).toBe(0);
        });
        initialized = true;
      });
開發者ID:jtk54,項目名稱:deck,代碼行數:19,代碼來源:cacheInitializer.service.spec.ts

示例10: listHealthChecks

 public listHealthChecks (type?: string): ng.IPromise<IGceHealthCheck[]> {
   if (type) {
     return this.listHealthChecks()
       .then((healthChecks: IGceHealthCheck[]) => {
         return healthChecks
           .filter((healthCheck) => healthCheck.healthCheckType === type);
       });
   } else {
     return this.API
       .all('search')
       .useCache(this.infrastructureCaches.get('healthChecks'))
       .getList({q: '', type: 'healthChecks'})
       .then((searchEndPointWrapper: any[]) => {
         let healthCheckWrappers = searchEndPointWrapper[0].results;
         return healthCheckWrappers.map((wrapper: any) => {
           wrapper.healthCheck = JSON.parse(wrapper.healthCheck);
           wrapper.healthCheck.account = wrapper.account;
           return wrapper.healthCheck as IGceHealthCheck;
         });
       });
   }
 }
開發者ID:jtk54,項目名稱:deck,代碼行數:22,代碼來源:healthCheck.read.service.ts


注:本文中的core/cache/infrastructureCaches.service.InfrastructureCacheService類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。