@twin.org/federated-catalogue-service 0.0.1-next.10

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.
Files changed (45) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +21 -0
  3. package/dist/cjs/index.cjs +2122 -0
  4. package/dist/esm/index.mjs +2104 -0
  5. package/dist/types/entities/dataResourceEntry.d.ts +59 -0
  6. package/dist/types/entities/dataSpaceConnectorEntry.d.ts +66 -0
  7. package/dist/types/entities/participantEntry.d.ts +42 -0
  8. package/dist/types/entities/serviceOfferingEntry.d.ts +55 -0
  9. package/dist/types/federatedCatalogueRoutes.d.ts +113 -0
  10. package/dist/types/federatedCatalogueService.d.ts +142 -0
  11. package/dist/types/index.d.ts +10 -0
  12. package/dist/types/models/IFederatedCatalogueServiceConfig.d.ts +15 -0
  13. package/dist/types/models/IFederatedCatalogueServiceConstructorOptions.d.ts +38 -0
  14. package/dist/types/restEntryPoints.d.ts +2 -0
  15. package/dist/types/schema.d.ts +4 -0
  16. package/dist/types/verification/complianceCredentialVerificationService.d.ts +32 -0
  17. package/docs/changelog.md +143 -0
  18. package/docs/examples.md +1 -0
  19. package/docs/open-api/spec.json +3434 -0
  20. package/docs/reference/classes/DataResourceEntry.md +118 -0
  21. package/docs/reference/classes/DataSpaceConnectorEntry.md +133 -0
  22. package/docs/reference/classes/FederatedCatalogueService.md +389 -0
  23. package/docs/reference/classes/ParticipantEntry.md +85 -0
  24. package/docs/reference/classes/ServiceOfferingEntry.md +109 -0
  25. package/docs/reference/functions/complianceCredentialPresentation.md +37 -0
  26. package/docs/reference/functions/dataResourceCredentialPresentation.md +37 -0
  27. package/docs/reference/functions/dataResourceGet.md +31 -0
  28. package/docs/reference/functions/dataResourceList.md +31 -0
  29. package/docs/reference/functions/dataSpaceConnectorCredentialPresentation.md +37 -0
  30. package/docs/reference/functions/dataSpaceConnectorGet.md +31 -0
  31. package/docs/reference/functions/dataSpaceConnectorList.md +31 -0
  32. package/docs/reference/functions/generateRestRoutesFederatedCatalogue.md +25 -0
  33. package/docs/reference/functions/initSchema.md +9 -0
  34. package/docs/reference/functions/participantGet.md +31 -0
  35. package/docs/reference/functions/participantList.md +31 -0
  36. package/docs/reference/functions/serviceOfferingCredentialPresentation.md +37 -0
  37. package/docs/reference/functions/serviceOfferingGet.md +31 -0
  38. package/docs/reference/functions/serviceOfferingList.md +31 -0
  39. package/docs/reference/index.md +36 -0
  40. package/docs/reference/interfaces/IFederatedCatalogueServiceConfig.md +21 -0
  41. package/docs/reference/interfaces/IFederatedCatalogueServiceConstructorOptions.md +83 -0
  42. package/docs/reference/variables/restEntryPoints.md +3 -0
  43. package/docs/reference/variables/tagsFederatedCatalogue.md +5 -0
  44. package/locales/en.json +21 -0
  45. package/package.json +52 -0
@@ -0,0 +1,59 @@
1
+ import type { IOdrlPolicy } from "@twin.org/standards-w3c-odrl";
2
+ /**
3
+ * Data Resource Entry.
4
+ */
5
+ export declare class DataResourceEntry {
6
+ /**
7
+ * The Id.
8
+ */
9
+ id: string;
10
+ /**
11
+ * The trusted issuer of the compliance credential
12
+ */
13
+ issuer: string;
14
+ /**
15
+ * The name.
16
+ */
17
+ name: string;
18
+ /**
19
+ * The description.
20
+ */
21
+ description?: string;
22
+ /**
23
+ * The Id of the producer of the data described by this Data Resource.
24
+ */
25
+ producedBy: string;
26
+ /**
27
+ * The copyright owner
28
+ */
29
+ copyrightOwnedBy: string;
30
+ /**
31
+ * The license
32
+ */
33
+ license: string;
34
+ /**
35
+ * The data exchange component used to expose the Data Resource.
36
+ * Only a URL pointing to the resource is stored
37
+ */
38
+ exposedThrough: string;
39
+ /**
40
+ * The Data Resource policy
41
+ */
42
+ resourcePolicy: IOdrlPolicy[];
43
+ /**
44
+ * Valid from
45
+ */
46
+ validFrom: string;
47
+ /**
48
+ * Valid to
49
+ */
50
+ validUntil: string;
51
+ /**
52
+ * Date created
53
+ */
54
+ dateCreated: string;
55
+ /**
56
+ * Evidences
57
+ */
58
+ evidence: string[];
59
+ }
@@ -0,0 +1,66 @@
1
+ import type { IEndpoint } from "@twin.org/standards-gaia-x";
2
+ /**
3
+ * Data Space Connector Entry.
4
+ */
5
+ export declare class DataSpaceConnectorEntry {
6
+ /**
7
+ * The Id.
8
+ */
9
+ id: string;
10
+ /**
11
+ * The trusted issuer of the compliance credential.
12
+ */
13
+ issuer: string;
14
+ /**
15
+ * The name.
16
+ */
17
+ name?: string;
18
+ /**
19
+ * The description.
20
+ */
21
+ description?: string;
22
+ /**
23
+ * The identity of the Data Space Connector
24
+ */
25
+ identity: string;
26
+ /**
27
+ * Who maintains the Data Space Connector
28
+ */
29
+ maintainer: string;
30
+ /**
31
+ * The default endpoint
32
+ */
33
+ defaultEndpoint: IEndpoint;
34
+ /**
35
+ * The activity push endpoint
36
+ */
37
+ pushActivityEndpoint: IEndpoint;
38
+ /**
39
+ * The activity subscribe endpoint
40
+ */
41
+ subscriptionActivityEndpoint?: IEndpoint;
42
+ /**
43
+ * The pull data endpoint
44
+ */
45
+ pullDataEndpoint: IEndpoint;
46
+ /**
47
+ * The pull data endpoint
48
+ */
49
+ offeredResource: string[];
50
+ /**
51
+ * Valid from
52
+ */
53
+ validFrom: string;
54
+ /**
55
+ * Valid to
56
+ */
57
+ validUntil: string;
58
+ /**
59
+ * Date created
60
+ */
61
+ dateCreated: string;
62
+ /**
63
+ * Evidences
64
+ */
65
+ evidence: string[];
66
+ }
@@ -0,0 +1,42 @@
1
+ import type { IAddress, IRegistrationNumber } from "@twin.org/standards-gaia-x";
2
+ /**
3
+ * Participant entry.
4
+ */
5
+ export declare class ParticipantEntry {
6
+ /**
7
+ * The participant Id.
8
+ */
9
+ id: string;
10
+ /**
11
+ * The trusted issuer of the compliance credential
12
+ */
13
+ issuer: string;
14
+ /**
15
+ * The legal registration number.
16
+ */
17
+ registrationNumber: IRegistrationNumber;
18
+ /**
19
+ * The legal name.
20
+ */
21
+ legalName: string;
22
+ /**
23
+ * Address
24
+ */
25
+ legalAddress: IAddress;
26
+ /**
27
+ * Valid from
28
+ */
29
+ validFrom: string;
30
+ /**
31
+ * Valid to
32
+ */
33
+ validUntil: string;
34
+ /**
35
+ * Date created
36
+ */
37
+ dateCreated: string;
38
+ /**
39
+ * Evidences
40
+ */
41
+ evidence: string[];
42
+ }
@@ -0,0 +1,55 @@
1
+ import type { IEndpoint } from "@twin.org/standards-gaia-x";
2
+ import type { IOdrlPolicy } from "@twin.org/standards-w3c-odrl";
3
+ /**
4
+ * Service Offering Entry.
5
+ */
6
+ export declare class ServiceOfferingEntry {
7
+ /**
8
+ * The service Id.
9
+ */
10
+ id: string;
11
+ /**
12
+ * The trusted issuer of the compliance credential associated with
13
+ */
14
+ issuer: string;
15
+ /**
16
+ * The service name.
17
+ */
18
+ name: string;
19
+ /**
20
+ * The service description.
21
+ */
22
+ description?: string;
23
+ /**
24
+ * The provider Id
25
+ */
26
+ providedBy: string;
27
+ /**
28
+ * The REST endpoint
29
+ */
30
+ endpoint: IEndpoint;
31
+ /**
32
+ * The policy
33
+ */
34
+ servicePolicy: IOdrlPolicy[];
35
+ /**
36
+ * Resources aggregated
37
+ */
38
+ aggregationOfResources?: string[];
39
+ /**
40
+ * Valid from
41
+ */
42
+ validFrom: string;
43
+ /**
44
+ * Valid to
45
+ */
46
+ validUntil: string;
47
+ /**
48
+ * Date created
49
+ */
50
+ dateCreated: string;
51
+ /**
52
+ * Evidences
53
+ */
54
+ evidence: string[];
55
+ }
@@ -0,0 +1,113 @@
1
+ import type { ICreatedResponse, IHttpRequestContext, INotFoundResponse, IRestRoute, ITag } from "@twin.org/api-models";
2
+ import { type ICatalogueEntryGetRequest, type ICompliancePresentationRequest, type IDataResourceGetResponse, type IDataResourceListRequest, type IDataResourceListResponse, type IDataSpaceConnectorGetResponse, type IDataSpaceConnectorListRequest, type IDataSpaceConnectorListResponse, type IParticipantGetResponse, type IParticipantListRequest, type IParticipantListResponse, type IServiceOfferingGetResponse, type IServiceOfferingListRequest, type IServiceOfferingListResponse } from "@twin.org/federated-catalogue-models";
3
+ /**
4
+ * The tag to associate with the routes.
5
+ */
6
+ export declare const tagsFederatedCatalogue: ITag[];
7
+ /**
8
+ * The REST routes for Federated Catalogue.
9
+ * @param baseRouteName Prefix to prepend to the paths.
10
+ * @param factoryServiceName The name of the service to use in the routes store in the ServiceFactory.
11
+ * @returns The generated routes.
12
+ */
13
+ export declare function generateRestRoutesFederatedCatalogue(baseRouteName: string, factoryServiceName: string): IRestRoute[];
14
+ /**
15
+ * Register a new participant.
16
+ * @param baseRouteName The base route name.
17
+ * @param httpRequestContext The request context for the API.
18
+ * @param factoryServiceName The name of the service to use in the routes.
19
+ * @param request The request.
20
+ * @returns The response object with additional http response properties.
21
+ */
22
+ export declare function complianceCredentialPresentation(baseRouteName: string, httpRequestContext: IHttpRequestContext, factoryServiceName: string, request: ICompliancePresentationRequest): Promise<ICreatedResponse>;
23
+ /**
24
+ * Get a list of the participant entries.
25
+ * @param httpRequestContext The request context for the API.
26
+ * @param factoryServiceName The name of the service to use in the routes.
27
+ * @param request The request.
28
+ * @returns The response object with additional http response properties.
29
+ */
30
+ export declare function participantList(httpRequestContext: IHttpRequestContext, factoryServiceName: string, request: IParticipantListRequest): Promise<IParticipantListResponse>;
31
+ /**
32
+ * Get a Participant entry.
33
+ * @param httpRequestContext The request context for the API.
34
+ * @param factoryServiceName The name of the service to use in the routes.
35
+ * @param request The request.
36
+ * @returns The response object with additional http response properties.
37
+ */
38
+ export declare function participantGet(httpRequestContext: IHttpRequestContext, factoryServiceName: string, request: ICatalogueEntryGetRequest): Promise<IParticipantGetResponse | INotFoundResponse>;
39
+ /**
40
+ * Register a new service offering.
41
+ * @param baseRouteName The base route used.
42
+ * @param httpRequestContext The request context for the API.
43
+ * @param factoryServiceName The name of the service to use in the routes.
44
+ * @param request The request.
45
+ * @returns The response object with additional http response properties.
46
+ */
47
+ export declare function serviceOfferingCredentialPresentation(baseRouteName: string, httpRequestContext: IHttpRequestContext, factoryServiceName: string, request: ICompliancePresentationRequest): Promise<ICreatedResponse>;
48
+ /**
49
+ * Get a list of the service offering entries.
50
+ * @param httpRequestContext The request context for the API.
51
+ * @param factoryServiceName The name of the service to use in the routes.
52
+ * @param request The request.
53
+ * @returns The response object with additional http response properties.
54
+ */
55
+ export declare function serviceOfferingList(httpRequestContext: IHttpRequestContext, factoryServiceName: string, request: IServiceOfferingListRequest): Promise<IServiceOfferingListResponse>;
56
+ /**
57
+ * Get a Service Offering entry.
58
+ * @param httpRequestContext The request context for the API.
59
+ * @param factoryServiceName The name of the service to use in the routes.
60
+ * @param request The request.
61
+ * @returns The response object with additional http response properties.
62
+ */
63
+ export declare function serviceOfferingGet(httpRequestContext: IHttpRequestContext, factoryServiceName: string, request: ICatalogueEntryGetRequest): Promise<IServiceOfferingGetResponse | INotFoundResponse>;
64
+ /**
65
+ * Register a new data resource.
66
+ * @param baseRouteName The base route name.
67
+ * @param httpRequestContext The request context for the API.
68
+ * @param factoryServiceName The name of the service to use in the routes.
69
+ * @param request The request.
70
+ * @returns The response object with additional http response properties.
71
+ */
72
+ export declare function dataResourceCredentialPresentation(baseRouteName: string, httpRequestContext: IHttpRequestContext, factoryServiceName: string, request: ICompliancePresentationRequest): Promise<ICreatedResponse>;
73
+ /**
74
+ * Get a list of the data resource entries.
75
+ * @param httpRequestContext The request context for the API.
76
+ * @param factoryServiceName The name of the service to use in the routes.
77
+ * @param request The request.
78
+ * @returns The response object with additional http response properties.
79
+ */
80
+ export declare function dataResourceList(httpRequestContext: IHttpRequestContext, factoryServiceName: string, request: IDataResourceListRequest): Promise<IDataResourceListResponse>;
81
+ /**
82
+ * Get a Data Resource entry.
83
+ * @param httpRequestContext The request context for the API.
84
+ * @param factoryServiceName The name of the service to use in the routes.
85
+ * @param request The request.
86
+ * @returns The response object with additional http response properties.
87
+ */
88
+ export declare function dataResourceGet(httpRequestContext: IHttpRequestContext, factoryServiceName: string, request: ICatalogueEntryGetRequest): Promise<IDataResourceGetResponse | INotFoundResponse>;
89
+ /**
90
+ * Register a new data space connector.
91
+ * @param baseRouteName the base route name.
92
+ * @param httpRequestContext The request context for the API.
93
+ * @param factoryServiceName The name of the service to use in the routes.
94
+ * @param request The request.
95
+ * @returns The response object with additional http response properties.
96
+ */
97
+ export declare function dataSpaceConnectorCredentialPresentation(baseRouteName: string, httpRequestContext: IHttpRequestContext, factoryServiceName: string, request: ICompliancePresentationRequest): Promise<ICreatedResponse>;
98
+ /**
99
+ * Get a list of the data space connector entries.
100
+ * @param httpRequestContext The request context for the API.
101
+ * @param factoryServiceName The name of the service to use in the routes.
102
+ * @param request The request.
103
+ * @returns The response object with additional http response properties.
104
+ */
105
+ export declare function dataSpaceConnectorList(httpRequestContext: IHttpRequestContext, factoryServiceName: string, request: IDataSpaceConnectorListRequest): Promise<IDataSpaceConnectorListResponse>;
106
+ /**
107
+ * Get a Data Space Connector entry.
108
+ * @param httpRequestContext The request context for the API.
109
+ * @param factoryServiceName The name of the service to use in the routes.
110
+ * @param request The request.
111
+ * @returns The response object with additional http response properties.
112
+ */
113
+ export declare function dataSpaceConnectorGet(httpRequestContext: IHttpRequestContext, factoryServiceName: string, request: ICatalogueEntryGetRequest): Promise<IDataSpaceConnectorGetResponse | INotFoundResponse>;
@@ -0,0 +1,142 @@
1
+ import { type FederatedCatalogueEntryType, type ICatalogueEntry, type IDataResourceList, type IDataSpaceConnectorList, type IFederatedCatalogueComponent, type IParticipantList, type IServiceOfferingList } from "@twin.org/federated-catalogue-models";
2
+ import type { IFederatedCatalogueServiceConstructorOptions } from "./models/IFederatedCatalogueServiceConstructorOptions";
3
+ /**
4
+ * Service for performing logging operations to a connector.
5
+ */
6
+ export declare class FederatedCatalogueService implements IFederatedCatalogueComponent {
7
+ /**
8
+ * The namespace for the service.
9
+ */
10
+ static readonly NAMESPACE: string;
11
+ /**
12
+ * Runtime name for the class.
13
+ */
14
+ readonly CLASS_NAME: string;
15
+ /**
16
+ * Create a new instance of FederatedCatalogue service.
17
+ * @param options The options for the connector.
18
+ */
19
+ constructor(options: IFederatedCatalogueServiceConstructorOptions);
20
+ /**
21
+ * Registers a Participant's compliance Credential.
22
+ * @param credentialJwt The credential (wrapped into a presentation) as JWT.
23
+ * @returns The Id of the Participant (DID usually).
24
+ */
25
+ registerComplianceCredential(credentialJwt: string): Promise<string>;
26
+ /**
27
+ * Query the federated catalogue.
28
+ * @param id The identity of the participant.
29
+ * @param legalRegistrationNumber The legal registration number.
30
+ * @param lrnType The legal registration number type (EORI, VATID, GLEIF, KENYA_PIN, etc.)
31
+ * @param cursor The cursor to request the next page of entities.
32
+ * @param pageSize The maximum number of entities in a page.
33
+ * @returns All the entities for the storage matching the conditions,
34
+ * and a cursor which can be used to request more entities.
35
+ * @throws NotImplementedError if the implementation does not support retrieval.
36
+ */
37
+ queryParticipants(id?: string, legalRegistrationNumber?: string, lrnType?: string, cursor?: string, pageSize?: number): Promise<IParticipantList>;
38
+ /**
39
+ * Returns a Federated Catalogue entry.
40
+ * @param entryType The type of entry.
41
+ * @param entryId The entry's id.
42
+ * @returns Catalogue Entry
43
+ * @throws NotFoundError if not found.
44
+ */
45
+ getEntry(entryType: FederatedCatalogueEntryType, entryId: string): Promise<ICatalogueEntry>;
46
+ /**
47
+ * Registers a compliance Credential concerning a Data Space Connector.
48
+ * @param credentialJwt The credential (wrapped into a presentation) as JWT.
49
+ * @returns The identifier of the Data Space Connector registered.
50
+ */
51
+ registerDataSpaceConnectorCredential(credentialJwt: string): Promise<string>;
52
+ /**
53
+ * Registers a data resource Credential concerning a Data Space Connector.
54
+ * @param credentialJwt The credential (wrapped into a presentation) as JWT.
55
+ * @returns The list of Data Resources created.
56
+ */
57
+ registerDataResourceCredential(credentialJwt: string): Promise<string[]>;
58
+ /**
59
+ * Query the federated catalogue.
60
+ * @param id The identity of the participant.
61
+ * @param maintainer The DS Connector maintainer.
62
+ * @param cursor The cursor to request the next page of entities.
63
+ * @param pageSize The maximum number of entities in a page.
64
+ * @returns All the entities for the storage matching the conditions,
65
+ * and a cursor which can be used to request more entities.
66
+ * @throws NotImplementedError if the implementation does not support retrieval.
67
+ */
68
+ queryDataSpaceConnectors(id?: string, maintainer?: string, cursor?: string, pageSize?: number): Promise<IDataSpaceConnectorList>;
69
+ /**
70
+ * Registers a Service Offering Credential.
71
+ * @param credentialJwt The credential (wrapped into a presentation) as JWT.
72
+ * @returns Nothing.
73
+ */
74
+ registerServiceOfferingCredential(credentialJwt: string): Promise<string[]>;
75
+ /**
76
+ * Query the federated catalogue.
77
+ * @param id Service Id.
78
+ * @param providedBy The identity of the participant.
79
+ * @param cursor The cursor to request the next page of entities.
80
+ * @param pageSize The maximum number of entities in a page.
81
+ * @returns All the entities for the storage matching the conditions,
82
+ * and a cursor which can be used to request more entities.
83
+ * @throws NotImplementedError if the implementation does not support retrieval.
84
+ */
85
+ queryServiceOfferings(id?: string, providedBy?: string, cursor?: string, pageSize?: number): Promise<IServiceOfferingList>;
86
+ /**
87
+ * Query the federated catalogue.
88
+ * @param id The identity of the DataResource.
89
+ * @param producedBy The identity of the participant.
90
+ * @param cursor The cursor to request the next page of entities.
91
+ * @param pageSize The maximum number of entities in a page.
92
+ * @returns All the entities for the storage matching the conditions,
93
+ * and a cursor which can be used to request more entities.
94
+ * @throws NotImplementedError if the implementation does not support retrieval.
95
+ */
96
+ queryDataResources(id?: string, producedBy?: string, cursor?: string, pageSize?: number): Promise<IDataResourceList>;
97
+ /**
98
+ * Decodes the JWT.
99
+ * @param jwt JWT.
100
+ * @returns Decoded.
101
+ */
102
+ private decodeJwt;
103
+ /**
104
+ * Returns the trusted Issuer id.
105
+ * @param complianceCredential The compliance credential.
106
+ * @returns The trusted issuer.
107
+ */
108
+ private getTrustedIssuerId;
109
+ /**
110
+ * Extracts participant entry from the credentials.
111
+ * @param complianceCredential Compliance credential
112
+ * @param participantCredential The Participant credential extracted.
113
+ * @returns Participant Entry to be saved on the Database.
114
+ */
115
+ private extractParticipantEntry;
116
+ /**
117
+ * Extracts Data Space Connector description entry from the credentials.
118
+ * @param complianceCredential Compliance Credential.
119
+ * @param dataSpaceConnectorCredential Evidence Credential.
120
+ * @returns Service Description Entry to be saved on the Database.
121
+ */
122
+ private extractDataSpaceConnectorEntry;
123
+ /**
124
+ * Extracts service offering entry from the credentials.
125
+ * @param complianceCredential The Compliance Credential.
126
+ * @param serviceOfferingCredential Service Offering credential (evidence).
127
+ * @returns Service Offering Entry to be saved on the Database.
128
+ */
129
+ private extractServiceOfferingEntry;
130
+ /**
131
+ * Extracts data resource entry from the credentials.
132
+ * @param complianceCredential The Compliance Credential.
133
+ * @param dataResourceCredential Data Resource credential.
134
+ * @returns DataResource Entry to be saved on the Database.
135
+ */
136
+ private extractDataResourceEntry;
137
+ /**
138
+ * Checks whether the Participant exists.
139
+ * @param participantId The Participant identifier
140
+ */
141
+ private checkParticipantExists;
142
+ }
@@ -0,0 +1,10 @@
1
+ export * from "./federatedCatalogueRoutes";
2
+ export * from "./federatedCatalogueService";
3
+ export * from "./restEntryPoints";
4
+ export * from "./models/IFederatedCatalogueServiceConstructorOptions";
5
+ export * from "./models/IFederatedCatalogueServiceConfig";
6
+ export * from "./schema";
7
+ export * from "./entities/dataResourceEntry";
8
+ export * from "./entities/serviceOfferingEntry";
9
+ export * from "./entities/participantEntry";
10
+ export * from "./entities/dataSpaceConnectorEntry";
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Federated Catalogue service configuration
3
+ */
4
+ export interface IFederatedCatalogueServiceConfig {
5
+ /**
6
+ * The number of ms that sub-resources can live in the fetch cache.
7
+ * 0 means they can live forever.
8
+ * undefined means they are never cached.
9
+ */
10
+ subResourceCacheTtlMs?: number;
11
+ /**
12
+ * Clearing House approver list
13
+ */
14
+ clearingHouseApproverList: string[];
15
+ }
@@ -0,0 +1,38 @@
1
+ import type { IFederatedCatalogueServiceConfig } from "./IFederatedCatalogueServiceConfig";
2
+ /**
3
+ * Federated Catalogue service options
4
+ */
5
+ export interface IFederatedCatalogueServiceConstructorOptions {
6
+ /**
7
+ * The identity resolver component used.
8
+ */
9
+ identityResolverComponentType?: string;
10
+ /**
11
+ * Logging connector type
12
+ */
13
+ loggingConnectorType?: string;
14
+ /**
15
+ * The configuration of the Federated Catalogue service.
16
+ */
17
+ config: IFederatedCatalogueServiceConfig;
18
+ /**
19
+ * The entity storage for participants.
20
+ * @default participant-entry
21
+ */
22
+ participantEntityStorageType?: string;
23
+ /**
24
+ * The entity storage for data resources.
25
+ * @default data-resource-entry
26
+ */
27
+ dataResourceEntityStorageType?: string;
28
+ /**
29
+ * The entity storage for service offerings.
30
+ * @default service-offering-entry
31
+ */
32
+ serviceOfferingEntityStorageType?: string;
33
+ /**
34
+ * The entity storage for data space connectors.
35
+ * @default data-space-connector-entry
36
+ */
37
+ dataSpaceConnectorStorageType?: string;
38
+ }
@@ -0,0 +1,2 @@
1
+ import type { IRestRouteEntryPoint } from "@twin.org/api-models";
2
+ export declare const restEntryPoints: IRestRouteEntryPoint[];
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Inits schemas.
3
+ */
4
+ export declare function initSchema(): void;
@@ -0,0 +1,32 @@
1
+ import { type IComplianceCredential, type IComplianceVerificationResult } from "@twin.org/federated-catalogue-models";
2
+ import { type IIdentityResolverComponent } from "@twin.org/identity-models";
3
+ import type { ILoggingConnector } from "@twin.org/logging-models";
4
+ /**
5
+ * Compliance Credential Verification Service.
6
+ */
7
+ export declare class ComplianceCredentialVerificationService {
8
+ /**
9
+ * Class name
10
+ */
11
+ CLASS_NAME: string;
12
+ /**
13
+ * Constructor.
14
+ * @param clearingHouseApproverList The list of clearing house identities approved.
15
+ * @param resolver The resolver used for DID.
16
+ * @param subResourceCacheTtlMs The time to live (in ms) of sub-resource objects in the cache. undefined means no cache. 0 means live in cache forever.
17
+ * @param logger The Logger Component.
18
+ */
19
+ constructor(clearingHouseApproverList: string[], resolver: IIdentityResolverComponent, subResourceCacheTtlMs?: number, logger?: ILoggingConnector);
20
+ /**
21
+ * Verifies a Compliance Credential.
22
+ * @param credential The Credential to be verified
23
+ * @returns The Verification Result.
24
+ */
25
+ verify(credential: IComplianceCredential): Promise<IComplianceVerificationResult>;
26
+ /**
27
+ * Verifies the evidence supplied as part of a Compliance Credential.
28
+ * @param evidence The compliance evidence
29
+ * @returns The verification result with the original credentials that served as evidence
30
+ */
31
+ private verifyEvidence;
32
+ }