@altostra/core
Version:
Core library for shared types and logic
21 lines (20 loc) • 965 B
TypeScript
import type { AnyTypeValidation, TypeValidation } from '@altostra/type-validations';
import type { IDomainEntity } from "../IDomainEntity";
import type { Name } from "../Name";
import type { OrganizationId } from "../Organization/OrganizationId";
import type { IntegrationId } from "./IntegrationId";
export interface Integration<TType extends string = string, TData = unknown> extends IDomainEntity {
id: IntegrationId;
name: Name;
type: TType;
organizationId: OrganizationId;
data: TData;
}
export declare const isIntegration: import("@altostra/type-validations").ObjectOfTypeValidation<{
name: Name;
id: IntegrationId;
organizationId: OrganizationId;
type: import("@altostra/common/CustomTypes/NonEmptyString").NonEmptyString;
data: any;
}>;
export declare function createIntegrationValidation<TType extends string, TData>(type: TType, dataValidation: AnyTypeValidation<TData>): TypeValidation<Integration<TType, TData>>;