@artinet/metadata-validator
Version:
a tool to validate metadata
128 lines (127 loc) • 3.15 kB
TypeScript
/**
* This file was automatically generated by json-schema-to-typescript.
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
* and run json-schema-to-typescript to regenerate this file.
*/
/**
* JSON Schema for Artinet Registrations
*/
export interface RegistrationSchema {
/**
* Version of the registration schema
*/
schemaVersion: string;
/**
* Human-readable name of the service
*/
serviceName: string;
/**
* Brief description of the service's functionality
*/
description: string;
/**
* Version of the service (semantic versioning)
*/
version: string;
/**
* List of functionalities or features provided by the service
*
* @maxItems 5
*/
capabilities: [] | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string];
communication: {
endpoints: {
url: string;
type?: string;
authentication?: boolean;
description?: string;
/**
* Additional endpoint-specific metadata
*/
metadata?: {
[]: unknown;
};
/**
* List of protocols supported by the endpoint
*/
protocols?: string[];
additionalProperties?: unknown;
[]: unknown;
}[];
/**
* Custom communication configurations
*/
custom?: {
[]: unknown;
};
[]: unknown;
};
/**
* List of tags for the service
*/
tags?: string[];
license?: string;
registrationDate?: string;
/**
* Additional service-specific metadata
*/
metadata?: {
[]: unknown;
};
/**
* Optional billing information for the service
*/
billing?: {
/**
* Ethereum address for billing purposes
*/
walletAddress?: string;
/**
* Network identifier for the wallet address
*/
network?: string;
/**
* Preferred payment currency
*/
currency?: string;
/**
* Accepted payment methods
*/
paymentMethods?: ("ETH" | "ERC20" | "FIAT" | "OTHER")[];
/**
* Additional billing-specific information
*/
customBillingInfo?: {
[]: unknown;
};
[]: unknown;
};
publicKey?: {
kty?: "RSA";
/**
* RSA modulus
*/
n: string;
/**
* RSA public exponent
*/
e: string;
[]: unknown;
} | {
kty?: "EC";
/**
* Curve type for EC keys
*/
crv: "P-256" | "P-384" | "P-521" | "secp256k1";
/**
* X coordinate for EC keys
*/
x: string;
/**
* Y coordinate for EC keys
*/
y: string;
[]: unknown;
};
[]: unknown;
}