mirror of
https://github.com/jcreek/LivingDexTracker.git
synced 2026-07-12 18:43:45 +00:00
feat(#6): Add classes for database
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import mongoose, { Schema, Document } from 'mongoose';
|
||||
|
||||
export interface PokedexEntry extends Document {
|
||||
order: number;
|
||||
boxPlacement: { box: number; row: number; column: number };
|
||||
pokedexNumber: number;
|
||||
pokemon: string;
|
||||
form: string;
|
||||
generation: number;
|
||||
originGame: string;
|
||||
alternativeOrigin: string;
|
||||
howToObtain: string;
|
||||
}
|
||||
|
||||
const pokedexEntrySchema = new Schema<PokedexEntry>({
|
||||
order: Number,
|
||||
boxPlacement: {
|
||||
box: Number,
|
||||
row: Number,
|
||||
column: Number
|
||||
},
|
||||
pokedexNumber: Number,
|
||||
pokemon: String,
|
||||
form: String,
|
||||
generation: Number,
|
||||
originGame: String,
|
||||
alternativeOrigin: String,
|
||||
howToObtain: String
|
||||
});
|
||||
|
||||
export default mongoose.model<PokedexEntry>('PokedexEntry', pokedexEntrySchema);
|
||||
@@ -0,0 +1,13 @@
|
||||
import mongoose, { Schema, Document } from 'mongoose';
|
||||
|
||||
export interface User extends Document {
|
||||
username: string;
|
||||
// Add other user-related fields as needed
|
||||
}
|
||||
|
||||
const userSchema = new Schema<User>({
|
||||
username: String
|
||||
// Add other user-related fields as needed
|
||||
});
|
||||
|
||||
export default mongoose.model<User>('User', userSchema);
|
||||
@@ -0,0 +1,19 @@
|
||||
import mongoose, { Schema, Document } from 'mongoose';
|
||||
|
||||
export interface UserCatchEntry extends Document {
|
||||
userId: mongoose.Types.ObjectId; // Reference to the user
|
||||
pokedexEntryId: mongoose.Types.ObjectId; // Reference to the pokedex entry
|
||||
haveToEvolve: boolean;
|
||||
caught: boolean;
|
||||
inHome: boolean;
|
||||
}
|
||||
|
||||
const userCatchEntrySchema = new Schema<UserCatchEntry>({
|
||||
userId: { type: mongoose.Types.ObjectId, ref: 'User' },
|
||||
pokedexEntryId: { type: mongoose.Types.ObjectId, ref: 'PokedexEntry' },
|
||||
haveToEvolve: Boolean,
|
||||
caught: Boolean,
|
||||
inHome: Boolean
|
||||
});
|
||||
|
||||
export default mongoose.model<UserCatchEntry>('UserCatchEntry', userCatchEntrySchema);
|
||||
Reference in New Issue
Block a user