Files
recipe-manager/server/db/newPopulate.ts
2022-11-26 18:26:32 -06:00

142 lines
3.4 KiB
TypeScript

import pool from ".";
import { IIngredient, IRecipe, IUser } from "../schemas";
import { User } from "../models/user";
import { Recipe } from "../models/recipe";
import { Collection } from "../models/collection";
import { Ingredient } from "../models/ingredient";
import AuthService from "../auth";
import now from "../util/now";
const auth = new AuthService();
const user = new User();
const collection = new Collection();
const ingredient = new Ingredient();
export default async function populate() {
// register new users; initialize default collection
const usr1: IUser = {
firstname: "Mikayla",
lastname: "Dobson",
handle: "innocuoussymmetry",
password: "coolpassword",
email: "mikayla@mikayla.com",
active: true,
isadmin: true
}
const usr2: IUser = {
firstname: "Emily",
lastname: "Dobson",
handle: "emjdobson",
password: "coolpassword",
email: "emily@emily.com",
active: true,
isadmin: false
}
const usr3: IUser = {
firstname: "Montanna",
lastname: "Dobson",
handle: "delayedlemon",
password: "coolpassword",
email: "montanna@montanna.com",
active: true,
isadmin: false
}
const usr4: IUser = {
firstname: 'someother',
lastname: 'person',
handle: 'someperson',
password: 'coolpassword',
email: 'someperson@email.com',
active: false,
isadmin: false
}
for (let usr of [usr1, usr2, usr3, usr4]) {
await auth.register(usr);
}
/*
// recipes onto new user profiles; insert into new default collections
const rec1: IRecipe = {
name: "Pad Thai",
preptime: '1 hour',
authoruserid: 1
}
const rec2: IRecipe = {
name: "Bo ssam",
preptime: '8 hours',
authoruserid: 3
}
const rec3: IRecipe = {
name: "Banana bread",
preptime: '90 minutes',
authoruserid: 2
}
const rec4: IRecipe = {
name: "garlic confit",
preptime: "2 hours",
authoruserid: 3
}
for (let rec of [rec1, rec2, rec3, rec4]) {
await recipe.post(rec.authoruserid as string, rec);
}
*/
// set up a couple of friendships
// await user.addFriendship(1, 2);
// await user.addFriendship(1, 3);
// await user.addFriendship(2, 3);
// await user.updateFriendship(1, 2, {
// active: true,
// pending: false
// });
// await user.updateFriendship(2, 3, {
// active: true,
// pending: false
// })
// // request and validate subscriptions
// const usr1default = await collection.getUserDefault(1);
// await collection.postSubscription(usr1default.id, 2);
// const usr3default = await collection.getUserDefault(3);
// await collection.postSubscription(usr3default.id, 1);
// add some ingredients
const ing1: IIngredient = {
name: "cucumber",
description: "vegetal",
datecreated: now,
createdbyid: 1
}
const ing2: IIngredient = {
name: "tofu",
description: "soy protein",
datecreated: now,
createdbyid: 1
}
const ing3: IIngredient = {
name: 'garlic',
description: "lifeblood",
datecreated: now,
createdbyid: 3
}
for (let ing of [ing1, ing2, ing3]) {
await ingredient.post(ing);
}
}