{"version":3,"file":"GenericRecordService.mjs","names":[],"sources":["../../../../src/modules/generic-records/services/GenericRecordService.ts"],"sourcesContent":["import type { AgentContext } from '../../../agent'\nimport { CredoError } from '../../../error'\nimport { injectable } from '../../../plugins'\nimport type { Query, QueryOptions } from '../../../storage/StorageService'\nimport type { SaveGenericRecordOption } from '../repository/GenericRecord'\nimport { GenericRecord } from '../repository/GenericRecord'\nimport { GenericRecordsRepository } from '../repository/GenericRecordsRepository'\n\n@injectable()\nexport class GenericRecordService {\n  private genericRecordsRepository: GenericRecordsRepository\n\n  public constructor(genericRecordsRepository: GenericRecordsRepository) {\n    this.genericRecordsRepository = genericRecordsRepository\n  }\n\n  public async save(agentContext: AgentContext, { content, tags, id }: SaveGenericRecordOption) {\n    const genericRecord = new GenericRecord({\n      id,\n      content,\n      tags,\n    })\n\n    try {\n      await this.genericRecordsRepository.save(agentContext, genericRecord)\n      return genericRecord\n    } catch (error) {\n      throw new CredoError(`Unable to store the genericRecord record with id ${genericRecord.id}. Message: ${error}`)\n    }\n  }\n\n  public async delete(agentContext: AgentContext, record: GenericRecord): Promise<void> {\n    try {\n      await this.genericRecordsRepository.delete(agentContext, record)\n    } catch (error) {\n      throw new CredoError(`Unable to delete the genericRecord record with id ${record.id}. Message: ${error}`)\n    }\n  }\n\n  public async deleteById(agentContext: AgentContext, id: string): Promise<void> {\n    await this.genericRecordsRepository.deleteById(agentContext, id)\n  }\n\n  public async update(agentContext: AgentContext, record: GenericRecord): Promise<void> {\n    try {\n      await this.genericRecordsRepository.update(agentContext, record)\n    } catch (error) {\n      throw new CredoError(`Unable to update the genericRecord record with id ${record.id}. Message: ${error}`, {\n        cause: error,\n      })\n    }\n  }\n\n  public async findAllByQuery(agentContext: AgentContext, query: Query<GenericRecord>, queryOptions?: QueryOptions) {\n    return this.genericRecordsRepository.findByQuery(agentContext, query, queryOptions)\n  }\n\n  public async findById(agentContext: AgentContext, id: string): Promise<GenericRecord | null> {\n    return this.genericRecordsRepository.findById(agentContext, id)\n  }\n\n  public async getAll(agentContext: AgentContext) {\n    return this.genericRecordsRepository.getAll(agentContext)\n  }\n}\n"],"mappings":";;;;;;;;;;;;AASO,iCAAM,qBAAqB;CAGhC,AAAO,YAAY,0BAAoD;AACrE,OAAK,2BAA2B;;CAGlC,MAAa,KAAK,cAA4B,EAAE,SAAS,MAAM,MAA+B;EAC5F,MAAM,gBAAgB,IAAI,cAAc;GACtC;GACA;GACA;GACD,CAAC;AAEF,MAAI;AACF,SAAM,KAAK,yBAAyB,KAAK,cAAc,cAAc;AACrE,UAAO;WACA,OAAO;AACd,SAAM,IAAI,WAAW,oDAAoD,cAAc,GAAG,aAAa,QAAQ;;;CAInH,MAAa,OAAO,cAA4B,QAAsC;AACpF,MAAI;AACF,SAAM,KAAK,yBAAyB,OAAO,cAAc,OAAO;WACzD,OAAO;AACd,SAAM,IAAI,WAAW,qDAAqD,OAAO,GAAG,aAAa,QAAQ;;;CAI7G,MAAa,WAAW,cAA4B,IAA2B;AAC7E,QAAM,KAAK,yBAAyB,WAAW,cAAc,GAAG;;CAGlE,MAAa,OAAO,cAA4B,QAAsC;AACpF,MAAI;AACF,SAAM,KAAK,yBAAyB,OAAO,cAAc,OAAO;WACzD,OAAO;AACd,SAAM,IAAI,WAAW,qDAAqD,OAAO,GAAG,aAAa,SAAS,EACxG,OAAO,OACR,CAAC;;;CAIN,MAAa,eAAe,cAA4B,OAA6B,cAA6B;AAChH,SAAO,KAAK,yBAAyB,YAAY,cAAc,OAAO,aAAa;;CAGrF,MAAa,SAAS,cAA4B,IAA2C;AAC3F,SAAO,KAAK,yBAAyB,SAAS,cAAc,GAAG;;CAGjE,MAAa,OAAO,cAA4B;AAC9C,SAAO,KAAK,yBAAyB,OAAO,aAAa;;;mCAtD5D,YAAY"}