{"version":3,"file":"OpenBadgesTokenRepository.mjs","names":["OpenBadgesTokenRepository","storageService: StorageService<OpenBadgesTokenRecord>"],"sources":["../../src/repository/OpenBadgesTokenRepository.ts"],"sourcesContent":["import type { StorageService } from '@credo-ts/core'\nimport { injectable, inject, InjectionSymbols, EventEmitter, Repository } from '@credo-ts/core'\nimport { OpenBadgesTokenRecord } from './OpenBadgesTokenRecord'\n\n@injectable()\nexport class OpenBadgesTokenRepository extends Repository<OpenBadgesTokenRecord> {\n  public constructor(\n    @inject(InjectionSymbols.StorageService) storageService: StorageService<OpenBadgesTokenRecord>,\n    eventEmitter: EventEmitter\n  ) {\n    super(OpenBadgesTokenRecord, storageService, eventEmitter)\n  }\n\n  public async findByToken(agentContext: any, token: string) {\n    return this.findSingleByQuery(agentContext, { token })\n  }\n\n  public async findByPairId(agentContext: any, pairId: string) {\n    return this.findByQuery(agentContext, { pairId })\n  }\n\n  public async findValidAccessByClientHost(agentContext: any, clientId: string, host: string) {\n    const now = Date.now()\n    const items = await this.findByQuery(agentContext, { clientId, host, tokenType: 'access' as any })\n    return items.find((i) => i.expiresAt.getTime() > now)\n  }\n\n  public async findRefreshByClientHost(agentContext: any, clientId: string, host: string) {\n    const items = await this.findByQuery(agentContext, { clientId, host, tokenType: 'refresh' as any })\n    // return the most recently created one\n    return items.sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime())[0]\n  }\n}\n"],"mappings":";;;;;;;;;;;AAKO,sCAAMA,oCAAkC,WAAkC;CAC/E,AAAO,YACL,AAAyCC,gBACzC,cACA;AACA,QAAM,uBAAuB,gBAAgB,aAAa;;CAG5D,MAAa,YAAY,cAAmB,OAAe;AACzD,SAAO,KAAK,kBAAkB,cAAc,EAAE,OAAO,CAAC;;CAGxD,MAAa,aAAa,cAAmB,QAAgB;AAC3D,SAAO,KAAK,YAAY,cAAc,EAAE,QAAQ,CAAC;;CAGnD,MAAa,4BAA4B,cAAmB,UAAkB,MAAc;EAC1F,MAAM,MAAM,KAAK,KAAK;AAEtB,UADc,MAAM,KAAK,YAAY,cAAc;GAAE;GAAU;GAAM,WAAW;GAAiB,CAAC,EACrF,MAAM,MAAM,EAAE,UAAU,SAAS,GAAG,IAAI;;CAGvD,MAAa,wBAAwB,cAAmB,UAAkB,MAAc;AAGtF,UAFc,MAAM,KAAK,YAAY,cAAc;GAAE;GAAU;GAAM,WAAW;GAAkB,CAAC,EAEtF,MAAM,GAAG,MAAM,EAAE,UAAU,SAAS,GAAG,EAAE,UAAU,SAAS,CAAC,CAAC;;;;CA1B9E,YAAY;oBAGR,OAAO,iBAAiB,eAAe"}