import mongoose, {Schema} from 'mongoose'; import * as crypto from "crypto"; export interface IShortenedLink { shortenedId: string originalUrl: string clientId: number clicks: number created: Date } const ShortenedSchema = new Schema({ shortenedId: { type: String, default: () => crypto.randomBytes(3).toString('hex') }, originalUrl: { type: String, required: true }, clientId: { type: Number, required: true }, clicks: { type: Number, default: 0 }, created: { type: Date, default: Date.now } }); export const ShortenedLink = mongoose.model('shortened_links', ShortenedSchema);