nestjs-express-cassandra
Version:
Express-cassandra module for Nest framework
43 lines (42 loc) • 1.31 kB
TypeScript
import { ClientOptions as DriverOptions } from 'cassandra-driver';
interface ClientOptions extends DriverOptions {
contactPoints: string[];
localDataCenter: string;
keyspace: string;
}
/**
* Replication Strategy
* @see https://docs.datastax.com/en/archived/cassandra/3.0/cassandra/architecture/archDataDistributeReplication.html
*/
declare type ReplicationStrategyType = 'SimpleStrategy' | 'NetworkTopologyStrategy';
/**
* Migration Strategy
* @see https://github.com/masumsoft/express-cassandra/blob/master/docs/usage.md#explanations-for-the-options-used-to-initialize
*/
declare type MigrationStrategyType = 'alter' | 'drop' | 'safe';
/**
* User-Defined Types (UDTs)
* https://cassandra.apache.org/doc/latest/cassandra/cql/types.html#udts
*/
declare type UdtDefinition = Record<string, string>;
/**
* ExpressCassandra ORM options
*/
interface OrmOptions {
defaultReplicationStrategy?: {
class: ReplicationStrategyType;
replication_factor: number;
};
migration?: MigrationStrategyType;
createKeyspace?: boolean;
disableTTYConfirmation?: boolean;
udts?: Record<string, UdtDefinition>;
}
/**
* ExpressCassandra client options
*/
export interface ExpressCassandraOptions {
clientOptions: ClientOptions;
ormOptions?: OrmOptions;
}
export {};