Files
litlyx/shared/schema/metrics/VisitSchema.ts
2024-07-26 16:18:20 +02:00

44 lines
972 B
TypeScript

import { model, Schema } from 'mongoose';
export type TVisit = {
project_id: Schema.Types.ObjectId,
browser: string,
os: string,
continent: string,
country: string,
session: string,
flowHash: string,
device: string,
website: string,
page: string,
referrer: string,
created_at: Date
}
const VisitSchema = new Schema<TVisit>({
project_id: { type: Schema.Types.ObjectId, index: true },
browser: { type: String, required: true },
os: { type: String, required: true },
continent: { type: String },
country: { type: String },
session: { type: String },
flowHash: { type: String },
device: { type: String },
website: { type: String, required: true },
page: { type: String, required: true },
referrer: { type: String, required: true },
created_at: { type: Date, default: () => Date.now(), index: true },
})
export const VisitModel = model<TVisit>('visits', VisitSchema);