Folder: models/
this folder is one drawer in the backend filing cabinet.
content.model.ts
Path: src/models/content.model.ts
Header from code: content.model.ts
Simple CMS-style pages: announcements and exam-info articles shown in
crowd-video-timestamp.model.ts
Path: src/models/crowd-video-timestamp.model.ts
Header from code: crowd-video-timestamp.model.ts
Community-submitted time markers on videos (“there’s a question here”)
device-token.model.ts
Path: src/models/device-token.model.ts
Header from code: device-token.model.ts
Stores Firebase Cloud Messaging (FCM) tokens per user device so push
localized-text.schema.ts
Path: src/models/localized-text.schema.ts
Header from code: localized-text.schema.ts
A reusable embedded sub-schema for text that can appear in English (en)
marketing-deal.model.ts
Path: src/models/marketing-deal.model.ts
Header from code: marketing-deal.model.ts
A commercial deal with a sponsor: amounts, status, and optional **coupon
marketing-sponsor.model.ts
Path: src/models/marketing-sponsor.model.ts
Header from code: marketing-sponsor.model.ts
CRM record for a sponsor (YouTuber/creator) we run marketing deals with.
mock-test.model.ts
Path: src/models/mock-test.model.ts
Header from code: mock-test.model.ts
Timed mock exams built from existing Question documents, with per-
notification-daily-rollup.model.ts
Path: src/models/notification-daily-rollup.model.ts
Header from code: notification-daily-rollup.model.ts
Pre-aggregated daily metrics for push notifications (sent, opened, by
notification-log.model.ts
Path: src/models/notification-log.model.ts
Header from code: notification-log.model.ts
Audit log of every push notification we attempt: template, variables,
notification-preference.model.ts
Path: src/models/notification-preference.model.ts
Header from code: notification-preference.model.ts
Per-user push notification settings in India Standard Time (IST): when
playlist.model.ts
Path: src/models/playlist.model.ts
Header from code: playlist.model.ts
Curated playlists of catalog videos — usually admin-built study paths
question.model.ts
Path: src/models/question.model.ts
Header from code: question.model.ts
Multiple-choice questions tied to a moment in a YouTube video
refresh-token.model.ts
Path: src/models/refresh-token.model.ts
Header from code: refresh-token.model.ts
Stores long-lived refresh tokens so clients can get new access tokens without
user-library-channel.model.ts
Path: src/models/user-library-channel.model.ts
Header from code: user-library-channel.model.ts
Per-user subscribed/saved YouTube channels with cached channel metadata.
user-library-video.model.ts
Path: src/models/user-library-video.model.ts
Header from code: user-library-video.model.ts
Per-user saved videos in their library (bookmark list). Denormalized
user-playlist.model.ts
Path: src/models/user-playlist.model.ts
Header from code: user-playlist.model.ts
User-created playlists of YouTube videos (by youtubeVideoId strings),
user.model.ts
Path: src/models/user.model.ts
Header from code: user.model.ts
The Mongoose model for app users — people who sign in with Google and use
video-timestamp.model.ts
Path: src/models/video-timestamp.model.ts
Header from code: video-timestamp.model.ts
A marker on a video timeline (e.g. “question at 10:33”) — either added
video.model.ts
Path: src/models/video.model.ts
Header from code: video.model.ts
Canonical catalog of YouTube videos the product knows about — metadata