@chevre/domain
Version:
Chevre Domain Library for Node.js
40 lines (39 loc) • 1.25 kB
TypeScript
import { Model, Schema, SchemaDefinition } from 'mongoose';
import * as factory from '../../../factory';
declare enum DataCatalogIdentifier {
confirmationNumber = "confirmationNumber",
transactionNumber = "transactionNumber",
orderNumber = "orderNumber",
serviceOutputIdentifier = "serviceOutputIdentifier"
}
interface IDataCatalog {
identifier: DataCatalogIdentifier;
typeOf: 'DataCatalog';
}
interface IInteractionCounter {
typeOf: 'InteractionCounter';
userInteractionCount: number;
}
interface IDataFeed {
typeOf: 'DataFeed';
includedInDataCatalog: IDataCatalog;
dateCreated: Date;
dateModified?: Date;
expires: Date;
/**
* カウント識別子
*/
identifier: string;
interactionStatistic: IInteractionCounter;
project: {
id: string;
typeOf: factory.organizationType.Project;
};
}
type IDocType = IDataFeed;
type IModel = Model<IDocType>;
type ISchemaDefinition = SchemaDefinition<IDocType>;
type ISchema = Schema<IDocType, IModel, {}, {}, {}, {}, ISchemaDefinition, IDocType>;
declare const modelName = "TransactionNumber";
declare function createSchema(): ISchema;
export { createSchema, IDocType, IModel, modelName, DataCatalogIdentifier };