@sphereon/ssi-sdk.contact-manager-rest-api 0.34.1-feature.SSISDK.17.bitstring.sl.2 → 0.34.1-next.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/contact-manager-api-server.ts","../src/api-functions.ts"],"sourcesContent":["export * from './types'\nexport * from './contact-manager-api-server'\nexport * from './api-functions'\n","import { agentContext } from '@sphereon/ssi-sdk.core'\nimport { TAgent } from '@veramo/core'\n\nimport express, { Express, Router } from 'express'\nimport { IContactManagerAPIEndpointOpts, IRequiredPlugins } from './types'\nimport {\n identityReadEndpoints,\n partiesReadEndpoint,\n partyDeleteEndpoint,\n partyReadEndpoint,\n partiesTypeReadEndpoint,\n partyWriteEndpoint,\n partyTypeReadEndpoint,\n identitiesReadEndpoint,\n} from './api-functions'\nimport { copyGlobalAuthToEndpoints, ExpressSupport } from '@sphereon/ssi-express-support'\n\nexport class ContactManagerApiServer {\n private readonly _express: Express\n private readonly _agent: TAgent<IRequiredPlugins>\n private readonly _opts?: IContactManagerAPIEndpointOpts\n private readonly _router: Router\n\n constructor(args: { agent: TAgent<IRequiredPlugins>; expressSupport: ExpressSupport; opts?: IContactManagerAPIEndpointOpts }) {\n const { agent, opts } = args\n this._agent = agent\n copyGlobalAuthToEndpoints({ opts, keys: ['partyRead', 'partyWrite', 'partyTypeRead', 'identityRead'] })\n if (opts?.endpointOpts?.globalAuth?.secureContactManagerEndpoints) {\n copyGlobalAuthToEndpoints({ opts, keys: ['partyRead', 'partyWrite', 'partyTypeRead', 'identityRead'] })\n }\n this._opts = opts\n this._express = args.expressSupport.express\n this._router = express.Router()\n const context = agentContext(agent)\n const features = opts?.enableFeatures ?? ['party_read', 'party_write', 'party_type_read', 'identity_read']\n console.log(`Contact Manager API enabled, with features: ${JSON.stringify(features)}}`)\n\n // endpoints\n if (features.includes('party_read')) {\n partiesReadEndpoint(this.router, context, this._opts?.endpointOpts?.partyRead)\n partyReadEndpoint(this.router, context, this._opts?.endpointOpts?.partyRead)\n }\n if (features.includes('party_write')) {\n partyWriteEndpoint(this.router, context, this._opts?.endpointOpts?.partyWrite)\n partyDeleteEndpoint(this.router, context, this._opts?.endpointOpts?.partyWrite)\n }\n if (features.includes('party_type_read')) {\n partiesTypeReadEndpoint(this.router, context, this._opts?.endpointOpts?.partyTypeRead)\n partyTypeReadEndpoint(this.router, context, this._opts?.endpointOpts?.partyTypeRead)\n }\n if (features.includes('identity_read')) {\n identitiesReadEndpoint(this.router, context, this._opts?.endpointOpts?.identityRead)\n identityReadEndpoints(this.router, context, this._opts?.endpointOpts?.identityRead)\n }\n this._express.use(opts?.endpointOpts?.basePath ?? '', this.router)\n }\n\n get express(): Express {\n return this._express\n }\n\n get router(): Router {\n return this._router\n }\n\n get agent(): TAgent<IRequiredPlugins> {\n return this._agent\n }\n get opts(): IContactManagerAPIEndpointOpts | undefined {\n return this._opts\n }\n}\n","import { checkAuth, sendErrorResponse, ISingleEndpointOpts } from '@sphereon/ssi-express-support'\nimport { Request, Response, Router } from 'express'\nimport { IRequiredContext } from './types'\nimport { AddContactArgs } from '@sphereon/ssi-sdk.contact-manager'\n\nexport function partiesReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partiesReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/parties'\n router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n // later we will add filter to this\n const parties = await context.agent.cmGetContacts()\n response.statusCode = 200\n return response.send(parties)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function partyReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partyReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/parties'\n router.get(`${path}/:partyId`, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n const partyId = request.params.partyId\n const party = await context.agent.cmGetContact({ contactId: partyId })\n response.statusCode = 200\n return response.send(party)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function partyWriteEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partyWriteEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/parties'\n router.post(path, async (request: Request, response: Response) => {\n try {\n const addParty = request.body\n const party = await context.agent.cmAddContact(addParty as AddContactArgs)\n response.statusCode = 201\n return response.send(party)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message, error)\n }\n })\n}\n\nexport function partyDeleteEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partyDeleteEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/parties'\n router.delete(`${path}/:partyId`, async (request, response) => {\n try {\n const partyId = request.params.partyId\n const result = await context.agent.cmRemoveContact({ contactId: partyId })\n response.statusCode = 200\n return response.send(result)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message, error)\n }\n })\n}\n\nexport function partiesTypeReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partiesTypeReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/party-types'\n router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n // later we will add filter to this\n const partyTypes = await context.agent.cmGetContactTypes()\n response.statusCode = 200\n return response.send(partyTypes)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function partyTypeReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partyTypeReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/party-types'\n router.get(`${path}/:partyTypeId`, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n const partyTypeId = request.params.partyTypeId\n const partyType = await context.agent.cmGetContactType({ contactTypeId: partyTypeId })\n response.statusCode = 200\n return response.send(partyType)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function identitiesReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"identitiesReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/identities'\n router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n // later we will add filter to this\n const identities = await context.agent.cmGetIdentities()\n response.statusCode = 200\n return response.send(identities)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function identityReadEndpoints(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"identityReadEndpoints\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/identities'\n router.get(`${path}/:identityId`, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n const identityId = request.params.identityId\n const identity = await context.agent.cmGetIdentity({ identityId })\n response.statusCode = 200\n return response.send(identity)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n"],"mappings":"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","names":["partiesReadEndpoint","router","context","opts","enabled","console","log","path","get","checkAuth","endpoint","request","response","parties","agent","cmGetContacts","statusCode","send","error","sendErrorResponse","message","partyReadEndpoint","partyId","params","party","cmGetContact","contactId","partyWriteEndpoint","post","addParty","body","cmAddContact","partyDeleteEndpoint","delete","result","cmRemoveContact","partiesTypeReadEndpoint","partyTypes","cmGetContactTypes","partyTypeReadEndpoint","partyTypeId","partyType","cmGetContactType","contactTypeId","identitiesReadEndpoint","identities","cmGetIdentities","identityReadEndpoints","identityId","identity","cmGetIdentity","import_ssi_express_support","ContactManagerApiServer","_express","_agent","_opts","_router","constructor","args","agent","opts","copyGlobalAuthToEndpoints","keys","endpointOpts","globalAuth","secureContactManagerEndpoints","expressSupport","express","Router","context","agentContext","features","enableFeatures","console","log","JSON","stringify","includes","partiesReadEndpoint","router","partyRead","partyReadEndpoint","partyWriteEndpoint","partyWrite","partyDeleteEndpoint","partiesTypeReadEndpoint","partyTypeRead","partyTypeReadEndpoint","identitiesReadEndpoint","identityRead","identityReadEndpoints","use","basePath"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/contact-manager-api-server.ts","../src/api-functions.ts"],"sourcesContent":["export * from './types'\nexport * from './contact-manager-api-server'\nexport * from './api-functions'\n","import { agentContext } from '@sphereon/ssi-sdk.core'\nimport { TAgent } from '@veramo/core'\n\nimport express, { Express, Router } from 'express'\nimport { IContactManagerAPIEndpointOpts, IRequiredPlugins } from './types'\nimport {\n identityReadEndpoints,\n partiesReadEndpoint,\n partyDeleteEndpoint,\n partyReadEndpoint,\n partiesTypeReadEndpoint,\n partyWriteEndpoint,\n partyTypeReadEndpoint,\n identitiesReadEndpoint,\n} from './api-functions'\nimport { copyGlobalAuthToEndpoints, ExpressSupport } from '@sphereon/ssi-express-support'\n\nexport class ContactManagerApiServer {\n private readonly _express: Express\n private readonly _agent: TAgent<IRequiredPlugins>\n private readonly _opts?: IContactManagerAPIEndpointOpts\n private readonly _router: Router\n\n constructor(args: { agent: TAgent<IRequiredPlugins>; expressSupport: ExpressSupport; opts?: IContactManagerAPIEndpointOpts }) {\n const { agent, opts } = args\n this._agent = agent\n copyGlobalAuthToEndpoints({ opts, keys: ['partyRead', 'partyWrite', 'partyTypeRead', 'identityRead'] })\n if (opts?.endpointOpts?.globalAuth?.secureContactManagerEndpoints) {\n copyGlobalAuthToEndpoints({ opts, keys: ['partyRead', 'partyWrite', 'partyTypeRead', 'identityRead'] })\n }\n this._opts = opts\n this._express = args.expressSupport.express\n this._router = express.Router()\n const context = agentContext(agent)\n const features = opts?.enableFeatures ?? ['party_read', 'party_write', 'party_type_read', 'identity_read']\n console.log(`Contact Manager API enabled, with features: ${JSON.stringify(features)}}`)\n\n // endpoints\n if (features.includes('party_read')) {\n partiesReadEndpoint(this.router, context, this._opts?.endpointOpts?.partyRead)\n partyReadEndpoint(this.router, context, this._opts?.endpointOpts?.partyRead)\n }\n if (features.includes('party_write')) {\n partyWriteEndpoint(this.router, context, this._opts?.endpointOpts?.partyWrite)\n partyDeleteEndpoint(this.router, context, this._opts?.endpointOpts?.partyWrite)\n }\n if (features.includes('party_type_read')) {\n partiesTypeReadEndpoint(this.router, context, this._opts?.endpointOpts?.partyTypeRead)\n partyTypeReadEndpoint(this.router, context, this._opts?.endpointOpts?.partyTypeRead)\n }\n if (features.includes('identity_read')) {\n identitiesReadEndpoint(this.router, context, this._opts?.endpointOpts?.identityRead)\n identityReadEndpoints(this.router, context, this._opts?.endpointOpts?.identityRead)\n }\n this._express.use(opts?.endpointOpts?.basePath ?? '', this.router)\n }\n\n get express(): Express {\n return this._express\n }\n\n get router(): Router {\n return this._router\n }\n\n get agent(): TAgent<IRequiredPlugins> {\n return this._agent\n }\n get opts(): IContactManagerAPIEndpointOpts | undefined {\n return this._opts\n }\n}\n","import { checkAuth, sendErrorResponse, ISingleEndpointOpts } from '@sphereon/ssi-express-support'\nimport { Request, Response, Router } from 'express'\nimport { IRequiredContext } from './types'\nimport { AddContactArgs } from '@sphereon/ssi-sdk.contact-manager'\n\nexport function partiesReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partiesReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/parties'\n router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n // later we will add filter to this\n const parties = await context.agent.cmGetContacts()\n response.statusCode = 200\n return response.send(parties)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function partyReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partyReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/parties'\n router.get(`${path}/:partyId`, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n const partyId = request.params.partyId\n const party = await context.agent.cmGetContact({ contactId: partyId })\n response.statusCode = 200\n return response.send(party)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function partyWriteEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partyWriteEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/parties'\n router.post(path, async (request: Request, response: Response) => {\n try {\n const addParty = request.body\n const party = await context.agent.cmAddContact(addParty as AddContactArgs)\n response.statusCode = 201\n return response.send(party)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message, error)\n }\n })\n}\n\nexport function partyDeleteEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partyDeleteEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/parties'\n router.delete(`${path}/:partyId`, async (request, response) => {\n try {\n const partyId = request.params.partyId\n const result = await context.agent.cmRemoveContact({ contactId: partyId })\n response.statusCode = 200\n return response.send(result)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message, error)\n }\n })\n}\n\nexport function partiesTypeReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partiesTypeReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/party-types'\n router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n // later we will add filter to this\n const partyTypes = await context.agent.cmGetContactTypes()\n response.statusCode = 200\n return response.send(partyTypes)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function partyTypeReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partyTypeReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/party-types'\n router.get(`${path}/:partyTypeId`, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n const partyTypeId = request.params.partyTypeId\n const partyType = await context.agent.cmGetContactType({ contactTypeId: partyTypeId })\n response.statusCode = 200\n return response.send(partyType)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function identitiesReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"identitiesReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/identities'\n router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n // later we will add filter to this\n const identities = await context.agent.cmGetIdentities()\n response.statusCode = 200\n return response.send(identities)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function identityReadEndpoints(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"identityReadEndpoints\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/identities'\n router.get(`${path}/:identityId`, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n const identityId = request.params.identityId\n const identity = await context.agent.cmGetIdentity({ identityId })\n response.statusCode = 200\n return response.send(identity)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n"],"mappings":"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","names":["partiesReadEndpoint","router","context","opts","enabled","console","log","path","get","checkAuth","endpoint","request","response","parties","agent","cmGetContacts","statusCode","send","error","sendErrorResponse","message","partyReadEndpoint","partyId","params","party","cmGetContact","contactId","partyWriteEndpoint","post","addParty","body","cmAddContact","partyDeleteEndpoint","delete","result","cmRemoveContact","partiesTypeReadEndpoint","partyTypes","cmGetContactTypes","partyTypeReadEndpoint","partyTypeId","partyType","cmGetContactType","contactTypeId","identitiesReadEndpoint","identities","cmGetIdentities","identityReadEndpoints","identityId","identity","cmGetIdentity","import_ssi_express_support","ContactManagerApiServer","_express","_agent","_opts","_router","args","agent","opts","copyGlobalAuthToEndpoints","keys","endpointOpts","globalAuth","secureContactManagerEndpoints","expressSupport","express","Router","context","agentContext","features","enableFeatures","console","log","JSON","stringify","includes","partiesReadEndpoint","router","partyRead","partyReadEndpoint","partyWriteEndpoint","partyWrite","partyDeleteEndpoint","partiesTypeReadEndpoint","partyTypeRead","partyTypeReadEndpoint","identitiesReadEndpoint","identityRead","identityReadEndpoints","use","basePath"]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/contact-manager-api-server.ts","../src/api-functions.ts"],"sourcesContent":["import { agentContext } from '@sphereon/ssi-sdk.core'\nimport { TAgent } from '@veramo/core'\n\nimport express, { Express, Router } from 'express'\nimport { IContactManagerAPIEndpointOpts, IRequiredPlugins } from './types'\nimport {\n identityReadEndpoints,\n partiesReadEndpoint,\n partyDeleteEndpoint,\n partyReadEndpoint,\n partiesTypeReadEndpoint,\n partyWriteEndpoint,\n partyTypeReadEndpoint,\n identitiesReadEndpoint,\n} from './api-functions'\nimport { copyGlobalAuthToEndpoints, ExpressSupport } from '@sphereon/ssi-express-support'\n\nexport class ContactManagerApiServer {\n private readonly _express: Express\n private readonly _agent: TAgent<IRequiredPlugins>\n private readonly _opts?: IContactManagerAPIEndpointOpts\n private readonly _router: Router\n\n constructor(args: { agent: TAgent<IRequiredPlugins>; expressSupport: ExpressSupport; opts?: IContactManagerAPIEndpointOpts }) {\n const { agent, opts } = args\n this._agent = agent\n copyGlobalAuthToEndpoints({ opts, keys: ['partyRead', 'partyWrite', 'partyTypeRead', 'identityRead'] })\n if (opts?.endpointOpts?.globalAuth?.secureContactManagerEndpoints) {\n copyGlobalAuthToEndpoints({ opts, keys: ['partyRead', 'partyWrite', 'partyTypeRead', 'identityRead'] })\n }\n this._opts = opts\n this._express = args.expressSupport.express\n this._router = express.Router()\n const context = agentContext(agent)\n const features = opts?.enableFeatures ?? ['party_read', 'party_write', 'party_type_read', 'identity_read']\n console.log(`Contact Manager API enabled, with features: ${JSON.stringify(features)}}`)\n\n // endpoints\n if (features.includes('party_read')) {\n partiesReadEndpoint(this.router, context, this._opts?.endpointOpts?.partyRead)\n partyReadEndpoint(this.router, context, this._opts?.endpointOpts?.partyRead)\n }\n if (features.includes('party_write')) {\n partyWriteEndpoint(this.router, context, this._opts?.endpointOpts?.partyWrite)\n partyDeleteEndpoint(this.router, context, this._opts?.endpointOpts?.partyWrite)\n }\n if (features.includes('party_type_read')) {\n partiesTypeReadEndpoint(this.router, context, this._opts?.endpointOpts?.partyTypeRead)\n partyTypeReadEndpoint(this.router, context, this._opts?.endpointOpts?.partyTypeRead)\n }\n if (features.includes('identity_read')) {\n identitiesReadEndpoint(this.router, context, this._opts?.endpointOpts?.identityRead)\n identityReadEndpoints(this.router, context, this._opts?.endpointOpts?.identityRead)\n }\n this._express.use(opts?.endpointOpts?.basePath ?? '', this.router)\n }\n\n get express(): Express {\n return this._express\n }\n\n get router(): Router {\n return this._router\n }\n\n get agent(): TAgent<IRequiredPlugins> {\n return this._agent\n }\n get opts(): IContactManagerAPIEndpointOpts | undefined {\n return this._opts\n }\n}\n","import { checkAuth, sendErrorResponse, ISingleEndpointOpts } from '@sphereon/ssi-express-support'\nimport { Request, Response, Router } from 'express'\nimport { IRequiredContext } from './types'\nimport { AddContactArgs } from '@sphereon/ssi-sdk.contact-manager'\n\nexport function partiesReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partiesReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/parties'\n router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n // later we will add filter to this\n const parties = await context.agent.cmGetContacts()\n response.statusCode = 200\n return response.send(parties)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function partyReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partyReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/parties'\n router.get(`${path}/:partyId`, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n const partyId = request.params.partyId\n const party = await context.agent.cmGetContact({ contactId: partyId })\n response.statusCode = 200\n return response.send(party)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function partyWriteEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partyWriteEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/parties'\n router.post(path, async (request: Request, response: Response) => {\n try {\n const addParty = request.body\n const party = await context.agent.cmAddContact(addParty as AddContactArgs)\n response.statusCode = 201\n return response.send(party)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message, error)\n }\n })\n}\n\nexport function partyDeleteEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partyDeleteEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/parties'\n router.delete(`${path}/:partyId`, async (request, response) => {\n try {\n const partyId = request.params.partyId\n const result = await context.agent.cmRemoveContact({ contactId: partyId })\n response.statusCode = 200\n return response.send(result)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message, error)\n }\n })\n}\n\nexport function partiesTypeReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partiesTypeReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/party-types'\n router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n // later we will add filter to this\n const partyTypes = await context.agent.cmGetContactTypes()\n response.statusCode = 200\n return response.send(partyTypes)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function partyTypeReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partyTypeReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/party-types'\n router.get(`${path}/:partyTypeId`, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n const partyTypeId = request.params.partyTypeId\n const partyType = await context.agent.cmGetContactType({ contactTypeId: partyTypeId })\n response.statusCode = 200\n return response.send(partyType)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function identitiesReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"identitiesReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/identities'\n router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n // later we will add filter to this\n const identities = await context.agent.cmGetIdentities()\n response.statusCode = 200\n return response.send(identities)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function identityReadEndpoints(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"identityReadEndpoints\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/identities'\n router.get(`${path}/:identityId`, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n const identityId = request.params.identityId\n const identity = await context.agent.cmGetIdentity({ identityId })\n response.statusCode = 200\n return response.send(identity)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n"],"mappings":";;;;AAAA,SAASA,oBAAoB;AAG7B,OAAOC,aAAkC;;;ACHzC,SAASC,WAAWC,yBAA8C;AAK3D,SAASC,oBAAoBC,QAAgBC,SAA2BC,MAA0B;AACvG,MAAIA,MAAMC,YAAY,OAAO;AAC3BC,YAAQC,IAAI,4CAA4C;AACxD;EACF;AACA,QAAMC,OAAOJ,MAAMI,QAAQ;AAC3BN,SAAOO,IAAID,MAAME,UAAUN,MAAMO,QAAAA,GAAW,OAAOC,SAAkBC,aAAAA;AACnE,QAAI;AAEF,YAAMC,UAAU,MAAMX,QAAQY,MAAMC,cAAa;AACjDH,eAASI,aAAa;AACtB,aAAOJ,SAASK,KAAKJ,OAAAA;IACvB,SAASK,OAAO;AACd,aAAOC,kBAAkBP,UAAU,KAAKM,MAAME,SAAmBF,KAAAA;IACnE;EACF,CAAA;AACF;AAhBgBlB;AAkBT,SAASqB,kBAAkBpB,QAAgBC,SAA2BC,MAA0B;AACrG,MAAIA,MAAMC,YAAY,OAAO;AAC3BC,YAAQC,IAAI,0CAA0C;AACtD;EACF;AACA,QAAMC,OAAOJ,MAAMI,QAAQ;AAC3BN,SAAOO,IAAI,GAAGD,IAAAA,aAAiBE,UAAUN,MAAMO,QAAAA,GAAW,OAAOC,SAAkBC,aAAAA;AACjF,QAAI;AACF,YAAMU,UAAUX,QAAQY,OAAOD;AAC/B,YAAME,QAAQ,MAAMtB,QAAQY,MAAMW,aAAa;QAAEC,WAAWJ;MAAQ,CAAA;AACpEV,eAASI,aAAa;AACtB,aAAOJ,SAASK,KAAKO,KAAAA;IACvB,SAASN,OAAO;AACd,aAAOC,kBAAkBP,UAAU,KAAKM,MAAME,SAAmBF,KAAAA;IACnE;EACF,CAAA;AACF;AAhBgBG;AAkBT,SAASM,mBAAmB1B,QAAgBC,SAA2BC,MAA0B;AACtG,MAAIA,MAAMC,YAAY,OAAO;AAC3BC,YAAQC,IAAI,2CAA2C;AACvD;EACF;AACA,QAAMC,OAAOJ,MAAMI,QAAQ;AAC3BN,SAAO2B,KAAKrB,MAAM,OAAOI,SAAkBC,aAAAA;AACzC,QAAI;AACF,YAAMiB,WAAWlB,QAAQmB;AACzB,YAAMN,QAAQ,MAAMtB,QAAQY,MAAMiB,aAAaF,QAAAA;AAC/CjB,eAASI,aAAa;AACtB,aAAOJ,SAASK,KAAKO,KAAAA;IACvB,SAASN,OAAO;AACd,aAAOC,kBAAkBP,UAAU,KAAKM,MAAME,SAASF,KAAAA;IACzD;EACF,CAAA;AACF;AAhBgBS;AAkBT,SAASK,oBAAoB/B,QAAgBC,SAA2BC,MAA0B;AACvG,MAAIA,MAAMC,YAAY,OAAO;AAC3BC,YAAQC,IAAI,4CAA4C;AACxD;EACF;AACA,QAAMC,OAAOJ,MAAMI,QAAQ;AAC3BN,SAAOgC,OAAO,GAAG1B,IAAAA,aAAiB,OAAOI,SAASC,aAAAA;AAChD,QAAI;AACF,YAAMU,UAAUX,QAAQY,OAAOD;AAC/B,YAAMY,SAAS,MAAMhC,QAAQY,MAAMqB,gBAAgB;QAAET,WAAWJ;MAAQ,CAAA;AACxEV,eAASI,aAAa;AACtB,aAAOJ,SAASK,KAAKiB,MAAAA;IACvB,SAAShB,OAAO;AACd,aAAOC,kBAAkBP,UAAU,KAAKM,MAAME,SAASF,KAAAA;IACzD;EACF,CAAA;AACF;AAhBgBc;AAkBT,SAASI,wBAAwBnC,QAAgBC,SAA2BC,MAA0B;AAC3G,MAAIA,MAAMC,YAAY,OAAO;AAC3BC,YAAQC,IAAI,gDAAgD;AAC5D;EACF;AACA,QAAMC,OAAOJ,MAAMI,QAAQ;AAC3BN,SAAOO,IAAID,MAAME,UAAUN,MAAMO,QAAAA,GAAW,OAAOC,SAAkBC,aAAAA;AACnE,QAAI;AAEF,YAAMyB,aAAa,MAAMnC,QAAQY,MAAMwB,kBAAiB;AACxD1B,eAASI,aAAa;AACtB,aAAOJ,SAASK,KAAKoB,UAAAA;IACvB,SAASnB,OAAO;AACd,aAAOC,kBAAkBP,UAAU,KAAKM,MAAME,SAAmBF,KAAAA;IACnE;EACF,CAAA;AACF;AAhBgBkB;AAkBT,SAASG,sBAAsBtC,QAAgBC,SAA2BC,MAA0B;AACzG,MAAIA,MAAMC,YAAY,OAAO;AAC3BC,YAAQC,IAAI,8CAA8C;AAC1D;EACF;AACA,QAAMC,OAAOJ,MAAMI,QAAQ;AAC3BN,SAAOO,IAAI,GAAGD,IAAAA,iBAAqBE,UAAUN,MAAMO,QAAAA,GAAW,OAAOC,SAAkBC,aAAAA;AACrF,QAAI;AACF,YAAM4B,cAAc7B,QAAQY,OAAOiB;AACnC,YAAMC,YAAY,MAAMvC,QAAQY,MAAM4B,iBAAiB;QAAEC,eAAeH;MAAY,CAAA;AACpF5B,eAASI,aAAa;AACtB,aAAOJ,SAASK,KAAKwB,SAAAA;IACvB,SAASvB,OAAO;AACd,aAAOC,kBAAkBP,UAAU,KAAKM,MAAME,SAAmBF,KAAAA;IACnE;EACF,CAAA;AACF;AAhBgBqB;AAkBT,SAASK,uBAAuB3C,QAAgBC,SAA2BC,MAA0B;AAC1G,MAAIA,MAAMC,YAAY,OAAO;AAC3BC,YAAQC,IAAI,+CAA+C;AAC3D;EACF;AACA,QAAMC,OAAOJ,MAAMI,QAAQ;AAC3BN,SAAOO,IAAID,MAAME,UAAUN,MAAMO,QAAAA,GAAW,OAAOC,SAAkBC,aAAAA;AACnE,QAAI;AAEF,YAAMiC,aAAa,MAAM3C,QAAQY,MAAMgC,gBAAe;AACtDlC,eAASI,aAAa;AACtB,aAAOJ,SAASK,KAAK4B,UAAAA;IACvB,SAAS3B,OAAO;AACd,aAAOC,kBAAkBP,UAAU,KAAKM,MAAME,SAAmBF,KAAAA;IACnE;EACF,CAAA;AACF;AAhBgB0B;AAkBT,SAASG,sBAAsB9C,QAAgBC,SAA2BC,MAA0B;AACzG,MAAIA,MAAMC,YAAY,OAAO;AAC3BC,YAAQC,IAAI,8CAA8C;AAC1D;EACF;AACA,QAAMC,OAAOJ,MAAMI,QAAQ;AAC3BN,SAAOO,IAAI,GAAGD,IAAAA,gBAAoBE,UAAUN,MAAMO,QAAAA,GAAW,OAAOC,SAAkBC,aAAAA;AACpF,QAAI;AACF,YAAMoC,aAAarC,QAAQY,OAAOyB;AAClC,YAAMC,WAAW,MAAM/C,QAAQY,MAAMoC,cAAc;QAAEF;MAAW,CAAA;AAChEpC,eAASI,aAAa;AACtB,aAAOJ,SAASK,KAAKgC,QAAAA;IACvB,SAAS/B,OAAO;AACd,aAAOC,kBAAkBP,UAAU,KAAKM,MAAME,SAAmBF,KAAAA;IACnE;EACF,CAAA;AACF;AAhBgB6B;;;ADpHhB,SAASI,iCAAiD;AAEnD,IAAMC,0BAAN,MAAMA;EAjBb,OAiBaA;;;EACMC;EACAC;EACAC;EACAC;EAEjBC,YAAYC,MAAkH;AAC5H,UAAM,EAAEC,OAAOC,KAAI,IAAKF;AACxB,SAAKJ,SAASK;AACdE,8BAA0B;MAAED;MAAME,MAAM;QAAC;QAAa;QAAc;QAAiB;;IAAgB,CAAA;AACrG,QAAIF,MAAMG,cAAcC,YAAYC,+BAA+B;AACjEJ,gCAA0B;QAAED;QAAME,MAAM;UAAC;UAAa;UAAc;UAAiB;;MAAgB,CAAA;IACvG;AACA,SAAKP,QAAQK;AACb,SAAKP,WAAWK,KAAKQ,eAAeC;AACpC,SAAKX,UAAUW,QAAQC,OAAM;AAC7B,UAAMC,UAAUC,aAAaX,KAAAA;AAC7B,UAAMY,WAAWX,MAAMY,kBAAkB;MAAC;MAAc;MAAe;MAAmB;;AAC1FC,YAAQC,IAAI,+CAA+CC,KAAKC,UAAUL,QAAAA,CAAAA,GAAY;AAGtF,QAAIA,SAASM,SAAS,YAAA,GAAe;AACnCC,0BAAoB,KAAKC,QAAQV,SAAS,KAAKd,OAAOQ,cAAciB,SAAAA;AACpEC,wBAAkB,KAAKF,QAAQV,SAAS,KAAKd,OAAOQ,cAAciB,SAAAA;IACpE;AACA,QAAIT,SAASM,SAAS,aAAA,GAAgB;AACpCK,yBAAmB,KAAKH,QAAQV,SAAS,KAAKd,OAAOQ,cAAcoB,UAAAA;AACnEC,0BAAoB,KAAKL,QAAQV,SAAS,KAAKd,OAAOQ,cAAcoB,UAAAA;IACtE;AACA,QAAIZ,SAASM,SAAS,iBAAA,GAAoB;AACxCQ,8BAAwB,KAAKN,QAAQV,SAAS,KAAKd,OAAOQ,cAAcuB,aAAAA;AACxEC,4BAAsB,KAAKR,QAAQV,SAAS,KAAKd,OAAOQ,cAAcuB,aAAAA;IACxE;AACA,QAAIf,SAASM,SAAS,eAAA,GAAkB;AACtCW,6BAAuB,KAAKT,QAAQV,SAAS,KAAKd,OAAOQ,cAAc0B,YAAAA;AACvEC,4BAAsB,KAAKX,QAAQV,SAAS,KAAKd,OAAOQ,cAAc0B,YAAAA;IACxE;AACA,SAAKpC,SAASsC,IAAI/B,MAAMG,cAAc6B,YAAY,IAAI,KAAKb,MAAM;EACnE;EAEA,IAAIZ,UAAmB;AACrB,WAAO,KAAKd;EACd;EAEA,IAAI0B,SAAiB;AACnB,WAAO,KAAKvB;EACd;EAEA,IAAIG,QAAkC;AACpC,WAAO,KAAKL;EACd;EACA,IAAIM,OAAmD;AACrD,WAAO,KAAKL;EACd;AACF;","names":["agentContext","express","checkAuth","sendErrorResponse","partiesReadEndpoint","router","context","opts","enabled","console","log","path","get","checkAuth","endpoint","request","response","parties","agent","cmGetContacts","statusCode","send","error","sendErrorResponse","message","partyReadEndpoint","partyId","params","party","cmGetContact","contactId","partyWriteEndpoint","post","addParty","body","cmAddContact","partyDeleteEndpoint","delete","result","cmRemoveContact","partiesTypeReadEndpoint","partyTypes","cmGetContactTypes","partyTypeReadEndpoint","partyTypeId","partyType","cmGetContactType","contactTypeId","identitiesReadEndpoint","identities","cmGetIdentities","identityReadEndpoints","identityId","identity","cmGetIdentity","copyGlobalAuthToEndpoints","ContactManagerApiServer","_express","_agent","_opts","_router","constructor","args","agent","opts","copyGlobalAuthToEndpoints","keys","endpointOpts","globalAuth","secureContactManagerEndpoints","expressSupport","express","Router","context","agentContext","features","enableFeatures","console","log","JSON","stringify","includes","partiesReadEndpoint","router","partyRead","partyReadEndpoint","partyWriteEndpoint","partyWrite","partyDeleteEndpoint","partiesTypeReadEndpoint","partyTypeRead","partyTypeReadEndpoint","identitiesReadEndpoint","identityRead","identityReadEndpoints","use","basePath"]}
1
+ {"version":3,"sources":["../src/contact-manager-api-server.ts","../src/api-functions.ts"],"sourcesContent":["import { agentContext } from '@sphereon/ssi-sdk.core'\nimport { TAgent } from '@veramo/core'\n\nimport express, { Express, Router } from 'express'\nimport { IContactManagerAPIEndpointOpts, IRequiredPlugins } from './types'\nimport {\n identityReadEndpoints,\n partiesReadEndpoint,\n partyDeleteEndpoint,\n partyReadEndpoint,\n partiesTypeReadEndpoint,\n partyWriteEndpoint,\n partyTypeReadEndpoint,\n identitiesReadEndpoint,\n} from './api-functions'\nimport { copyGlobalAuthToEndpoints, ExpressSupport } from '@sphereon/ssi-express-support'\n\nexport class ContactManagerApiServer {\n private readonly _express: Express\n private readonly _agent: TAgent<IRequiredPlugins>\n private readonly _opts?: IContactManagerAPIEndpointOpts\n private readonly _router: Router\n\n constructor(args: { agent: TAgent<IRequiredPlugins>; expressSupport: ExpressSupport; opts?: IContactManagerAPIEndpointOpts }) {\n const { agent, opts } = args\n this._agent = agent\n copyGlobalAuthToEndpoints({ opts, keys: ['partyRead', 'partyWrite', 'partyTypeRead', 'identityRead'] })\n if (opts?.endpointOpts?.globalAuth?.secureContactManagerEndpoints) {\n copyGlobalAuthToEndpoints({ opts, keys: ['partyRead', 'partyWrite', 'partyTypeRead', 'identityRead'] })\n }\n this._opts = opts\n this._express = args.expressSupport.express\n this._router = express.Router()\n const context = agentContext(agent)\n const features = opts?.enableFeatures ?? ['party_read', 'party_write', 'party_type_read', 'identity_read']\n console.log(`Contact Manager API enabled, with features: ${JSON.stringify(features)}}`)\n\n // endpoints\n if (features.includes('party_read')) {\n partiesReadEndpoint(this.router, context, this._opts?.endpointOpts?.partyRead)\n partyReadEndpoint(this.router, context, this._opts?.endpointOpts?.partyRead)\n }\n if (features.includes('party_write')) {\n partyWriteEndpoint(this.router, context, this._opts?.endpointOpts?.partyWrite)\n partyDeleteEndpoint(this.router, context, this._opts?.endpointOpts?.partyWrite)\n }\n if (features.includes('party_type_read')) {\n partiesTypeReadEndpoint(this.router, context, this._opts?.endpointOpts?.partyTypeRead)\n partyTypeReadEndpoint(this.router, context, this._opts?.endpointOpts?.partyTypeRead)\n }\n if (features.includes('identity_read')) {\n identitiesReadEndpoint(this.router, context, this._opts?.endpointOpts?.identityRead)\n identityReadEndpoints(this.router, context, this._opts?.endpointOpts?.identityRead)\n }\n this._express.use(opts?.endpointOpts?.basePath ?? '', this.router)\n }\n\n get express(): Express {\n return this._express\n }\n\n get router(): Router {\n return this._router\n }\n\n get agent(): TAgent<IRequiredPlugins> {\n return this._agent\n }\n get opts(): IContactManagerAPIEndpointOpts | undefined {\n return this._opts\n }\n}\n","import { checkAuth, sendErrorResponse, ISingleEndpointOpts } from '@sphereon/ssi-express-support'\nimport { Request, Response, Router } from 'express'\nimport { IRequiredContext } from './types'\nimport { AddContactArgs } from '@sphereon/ssi-sdk.contact-manager'\n\nexport function partiesReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partiesReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/parties'\n router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n // later we will add filter to this\n const parties = await context.agent.cmGetContacts()\n response.statusCode = 200\n return response.send(parties)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function partyReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partyReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/parties'\n router.get(`${path}/:partyId`, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n const partyId = request.params.partyId\n const party = await context.agent.cmGetContact({ contactId: partyId })\n response.statusCode = 200\n return response.send(party)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function partyWriteEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partyWriteEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/parties'\n router.post(path, async (request: Request, response: Response) => {\n try {\n const addParty = request.body\n const party = await context.agent.cmAddContact(addParty as AddContactArgs)\n response.statusCode = 201\n return response.send(party)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message, error)\n }\n })\n}\n\nexport function partyDeleteEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partyDeleteEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/parties'\n router.delete(`${path}/:partyId`, async (request, response) => {\n try {\n const partyId = request.params.partyId\n const result = await context.agent.cmRemoveContact({ contactId: partyId })\n response.statusCode = 200\n return response.send(result)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message, error)\n }\n })\n}\n\nexport function partiesTypeReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partiesTypeReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/party-types'\n router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n // later we will add filter to this\n const partyTypes = await context.agent.cmGetContactTypes()\n response.statusCode = 200\n return response.send(partyTypes)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function partyTypeReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"partyTypeReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/party-types'\n router.get(`${path}/:partyTypeId`, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n const partyTypeId = request.params.partyTypeId\n const partyType = await context.agent.cmGetContactType({ contactTypeId: partyTypeId })\n response.statusCode = 200\n return response.send(partyType)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function identitiesReadEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"identitiesReadEndpoint\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/identities'\n router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n // later we will add filter to this\n const identities = await context.agent.cmGetIdentities()\n response.statusCode = 200\n return response.send(identities)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n\nexport function identityReadEndpoints(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {\n if (opts?.enabled === false) {\n console.log(`\"identityReadEndpoints\" Endpoint is disabled`)\n return\n }\n const path = opts?.path ?? '/identities'\n router.get(`${path}/:identityId`, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {\n try {\n const identityId = request.params.identityId\n const identity = await context.agent.cmGetIdentity({ identityId })\n response.statusCode = 200\n return response.send(identity)\n } catch (error) {\n return sendErrorResponse(response, 500, error.message as string, error)\n }\n })\n}\n"],"mappings":"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","names":["agentContext","express","checkAuth","sendErrorResponse","partiesReadEndpoint","router","context","opts","enabled","console","log","path","get","checkAuth","endpoint","request","response","parties","agent","cmGetContacts","statusCode","send","error","sendErrorResponse","message","partyReadEndpoint","partyId","params","party","cmGetContact","contactId","partyWriteEndpoint","post","addParty","body","cmAddContact","partyDeleteEndpoint","delete","result","cmRemoveContact","partiesTypeReadEndpoint","partyTypes","cmGetContactTypes","partyTypeReadEndpoint","partyTypeId","partyType","cmGetContactType","contactTypeId","identitiesReadEndpoint","identities","cmGetIdentities","identityReadEndpoints","identityId","identity","cmGetIdentity","copyGlobalAuthToEndpoints","ContactManagerApiServer","_express","_agent","_opts","_router","args","agent","opts","copyGlobalAuthToEndpoints","keys","endpointOpts","globalAuth","secureContactManagerEndpoints","expressSupport","express","Router","context","agentContext","features","enableFeatures","console","log","JSON","stringify","includes","partiesReadEndpoint","router","partyRead","partyReadEndpoint","partyWriteEndpoint","partyWrite","partyDeleteEndpoint","partiesTypeReadEndpoint","partyTypeRead","partyTypeReadEndpoint","identitiesReadEndpoint","identityRead","identityReadEndpoints","use","basePath"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.contact-manager-rest-api",
3
- "version": "0.34.1-feature.SSISDK.17.bitstring.sl.2+0a0992f6",
3
+ "version": "0.34.1-next.5+34a84d73",
4
4
  "source": "src/index.ts",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -23,14 +23,14 @@
23
23
  "start:dev": "ts-node __tests__/RestAPI.ts"
24
24
  },
25
25
  "dependencies": {
26
- "@sphereon/ssi-express-support": "0.34.1-feature.SSISDK.17.bitstring.sl.2+0a0992f6",
27
- "@sphereon/ssi-sdk-ext.key-manager": "0.29.0",
28
- "@sphereon/ssi-sdk-ext.key-utils": "0.29.0",
29
- "@sphereon/ssi-sdk.contact-manager": "0.34.1-feature.SSISDK.17.bitstring.sl.2+0a0992f6",
30
- "@sphereon/ssi-sdk.core": "0.34.1-feature.SSISDK.17.bitstring.sl.2+0a0992f6",
31
- "@sphereon/ssi-sdk.data-store": "0.34.1-feature.SSISDK.17.bitstring.sl.2+0a0992f6",
32
- "@sphereon/ssi-sdk.kv-store-temp": "0.34.1-feature.SSISDK.17.bitstring.sl.2+0a0992f6",
33
- "@sphereon/ssi-types": "0.34.1-feature.SSISDK.17.bitstring.sl.2+0a0992f6",
26
+ "@sphereon/ssi-express-support": "0.34.1-next.5+34a84d73",
27
+ "@sphereon/ssi-sdk-ext.key-manager": "0.29.1-next.3",
28
+ "@sphereon/ssi-sdk-ext.key-utils": "0.29.1-next.3",
29
+ "@sphereon/ssi-sdk.contact-manager": "0.34.1-next.5+34a84d73",
30
+ "@sphereon/ssi-sdk.core": "0.34.1-next.5+34a84d73",
31
+ "@sphereon/ssi-sdk.data-store": "0.34.1-next.5+34a84d73",
32
+ "@sphereon/ssi-sdk.kv-store-temp": "0.34.1-next.5+34a84d73",
33
+ "@sphereon/ssi-types": "0.34.1-next.5+34a84d73",
34
34
  "@veramo/core": "4.2.0",
35
35
  "body-parser": "^1.20.2",
36
36
  "casbin": "^5.30.0",
@@ -45,7 +45,7 @@
45
45
  },
46
46
  "devDependencies": {
47
47
  "@decentralized-identity/ion-sdk": "^0.6.0",
48
- "@sphereon/ssi-sdk.agent-config": "0.34.1-feature.SSISDK.17.bitstring.sl.2+0a0992f6",
48
+ "@sphereon/ssi-sdk.agent-config": "0.34.1-next.5+34a84d73",
49
49
  "@types/body-parser": "^1.19.5",
50
50
  "@types/cookie-parser": "^1.4.7",
51
51
  "@types/cors": "^2.8.17",
@@ -92,5 +92,5 @@
92
92
  "REST",
93
93
  "API"
94
94
  ],
95
- "gitHead": "0a0992f6323610a12e82716b1d80a2eedf4b4669"
95
+ "gitHead": "34a84d731d3c2185e5b392d48dea9574d2674781"
96
96
  }