From 40a3b85fad990c641ec61aac5705180140a03ce7 Mon Sep 17 00:00:00 2001 From: Logan Van Hook <55011072+lgv-0@users.noreply.github.com> Date: Mon, 20 Apr 2020 16:29:56 -0400 Subject: [PATCH] Entities Seeding (#106) * Update entities for voting and statistics * Initialize migrations, setup seeding (Canon & Cohort) * Add default parent account * Seed 4 default children * Add vote counter to child * Add comments * Remove unused imports * Setup story seeding * Illustration seeding, fix null contraints * Add readability seeds to avoid py crash * Warning comment, possibly #96? --- src/database/entity/Child.ts | 32 ++-- src/database/entity/Cohort.ts | 5 +- src/database/entity/Illustrations.ts | 9 +- src/database/entity/Matches.ts | 2 +- src/database/entity/Stories.ts | 9 +- .../migration/1587051617754-MainMigration.ts | 116 +++++++++++++++ src/database/seeds/seeds.ts | 137 ++++++++++++++++++ 7 files changed, 279 insertions(+), 31 deletions(-) create mode 100644 src/database/migration/1587051617754-MainMigration.ts create mode 100644 src/database/seeds/seeds.ts diff --git a/src/database/entity/Child.ts b/src/database/entity/Child.ts index 5a854e6a..ac17d0a8 100644 --- a/src/database/entity/Child.ts +++ b/src/database/entity/Child.ts @@ -30,28 +30,28 @@ class Child { @Column((type) => Progress) progress: Progress; - @ManyToOne( - (type) => Parent, - (parent) => parent.children - ) + @Column({ nullable: true }) + total_points: number; + + @Column({ nullable: true }) + wins: number; + + @Column({ nullable: true }) + losses: number; + + @Column({ nullable: true }) + votes: number; + + @ManyToOne((type) => Parent, (parent) => parent.children) parent: Parent; - @ManyToOne( - (type) => Cohort, - (cohort) => cohort.children - ) + @ManyToOne((type) => Cohort, (cohort) => cohort.children) cohort: Cohort; - @OneToMany( - (type) => Illustrations, - (illustrations) => illustrations.child - ) + @OneToMany((type) => Illustrations, (illustrations) => illustrations.child) illustrations: Illustrations[]; - @OneToMany( - (type) => Stories, - (stories) => stories.child - ) + @OneToMany((type) => Stories, (stories) => stories.child) stories: Stories[]; } diff --git a/src/database/entity/Cohort.ts b/src/database/entity/Cohort.ts index 902a8bb7..1f189b70 100644 --- a/src/database/entity/Cohort.ts +++ b/src/database/entity/Cohort.ts @@ -20,10 +20,7 @@ class Cohort { @Column((type) => DueDates) dueDates: DueDates; - @OneToMany( - (type) => Child, - (child) => child.cohort - ) + @OneToMany((type) => Child, (child) => child.cohort) children: Child[]; } diff --git a/src/database/entity/Illustrations.ts b/src/database/entity/Illustrations.ts index 417382b4..e31ab2c6 100644 --- a/src/database/entity/Illustrations.ts +++ b/src/database/entity/Illustrations.ts @@ -9,11 +9,7 @@ class Illustrations { @Column() childId: number; - @ManyToOne( - (type) => Child, - (child) => child.illustrations, - { onDelete: 'CASCADE' } - ) + @ManyToOne((type) => Child, (child) => child.illustrations, { onDelete: 'CASCADE' }) @JoinColumn() child: Child; @@ -25,6 +21,9 @@ class Illustrations { @Column({ nullable: true }) points: number; + + @Column({ nullable: true }) + votes: number; } export { Illustrations }; diff --git a/src/database/entity/Matches.ts b/src/database/entity/Matches.ts index 5be8f3e2..7fef6aeb 100644 --- a/src/database/entity/Matches.ts +++ b/src/database/entity/Matches.ts @@ -1,4 +1,4 @@ -import { Column, PrimaryGeneratedColumn, OneToMany, ManyToOne, Entity } from 'typeorm'; +import { Column, PrimaryGeneratedColumn, Entity } from 'typeorm'; @Entity() class Matches { diff --git a/src/database/entity/Stories.ts b/src/database/entity/Stories.ts index de377c03..6de24655 100644 --- a/src/database/entity/Stories.ts +++ b/src/database/entity/Stories.ts @@ -10,11 +10,7 @@ class Stories { @Column() childId: number; - @ManyToOne( - (type) => Child, - (child) => child.stories, - { onDelete: 'CASCADE' } - ) + @ManyToOne((type) => Child, (child) => child.stories, { onDelete: 'CASCADE' }) @JoinColumn() child: Child; @@ -30,6 +26,9 @@ class Stories { @Column({ nullable: true }) points: number; + @Column({ nullable: true }) + votes: number; + @Column({ type: 'double precision', nullable: true }) flesch_reading_ease: number; diff --git a/src/database/migration/1587051617754-MainMigration.ts b/src/database/migration/1587051617754-MainMigration.ts new file mode 100644 index 00000000..59780951 --- /dev/null +++ b/src/database/migration/1587051617754-MainMigration.ts @@ -0,0 +1,116 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; +import { Cohort, Canon, Parent, Child, Stories, Illustrations } from '../../database/entity'; +import { + CohortSeed, + CanonSeed, + ParentSeed, + ChildSeed, + StorySeed, + IllustrationSeed, +} from '../seeds/seeds'; +import Stripe from 'stripe'; + +export class MainMigration1587051617754 implements MigrationInterface { + name = 'MainMigration1587051617754'; + + public async up(queryRunner: QueryRunner): Promise { + /* Basic query structure copied from generating a new migration (migration:generate) */ + await queryRunner.query( + `CREATE TABLE "admin" ("id" SERIAL NOT NULL, "email" character varying NOT NULL, "password" character varying NOT NULL, "temptoken" character varying, "role" character varying NOT NULL, CONSTRAINT "UQ_de87485f6489f5d0995f5841952" UNIQUE ("email"), CONSTRAINT "PK_e032310bcef831fb83101899b10" PRIMARY KEY ("id"))`, + undefined + ); + await queryRunner.query( + `CREATE TABLE "canon" ("week" integer NOT NULL, "base64" character varying NOT NULL, "altbase64" character varying, CONSTRAINT "PK_8c1bfa026b3b545879ae7437a05" PRIMARY KEY ("week"))`, + undefined + ); + await queryRunner.query( + `CREATE TABLE "parent" ("id" SERIAL NOT NULL, "name" character varying, "email" character varying NOT NULL, "password" character varying NOT NULL, "stripeID" character varying, CONSTRAINT "UQ_9158391af7b8ca4911efaad8a73" UNIQUE ("email"), CONSTRAINT "PK_bf93c41ee1ae1649869ebd05617" PRIMARY KEY ("id"))`, + undefined + ); + await queryRunner.query( + `CREATE TABLE "cohort" ("id" SERIAL NOT NULL, "name" character varying NOT NULL, "week" integer NOT NULL, "activity" character varying NOT NULL, "dueDatesReading" TIMESTAMP NOT NULL, "dueDatesWriting" TIMESTAMP NOT NULL, "dueDatesDrawing" TIMESTAMP NOT NULL, "dueDatesTeamreview" TIMESTAMP, "dueDatesRandomreview" TIMESTAMP, "dueDatesResults" TIMESTAMP, CONSTRAINT "PK_4fb3cca38dc4b461110344e5f9b" PRIMARY KEY ("id"))`, + undefined + ); + await queryRunner.query( + `CREATE TABLE "illustrations" ("id" SERIAL NOT NULL, "childId" integer NOT NULL, "week" integer NOT NULL, "illustration" character varying, "points" integer, "votes" integer, CONSTRAINT "PK_ec4a601172b41459d76aeb1f02f" PRIMARY KEY ("id"))`, + undefined + ); + await queryRunner.query( + `CREATE TABLE "stories" ("id" SERIAL NOT NULL, "childId" integer NOT NULL, "week" integer NOT NULL, "storyText" character varying, "points" integer, "votes" integer, "flesch_reading_ease" double precision, "smog_index" double precision, "flesch_kincaid_grade" double precision, "coleman_liau_index" double precision, "automated_readability_index" double precision, "dale_chall_readability_score" double precision, "difficult_words" double precision, "linsear_write_formula" double precision, "gunning_fog" double precision, "consolidated_score" character varying, "doc_length" integer, "quote_count" integer, "storyPage1" character varying, "storyPage2" character varying, "storyPage3" character varying, "storyPage4" character varying, "storyPage5" character varying, "transcribedTextT_page1" character varying, "transcribedTextT_page2" character varying, "transcribedTextT_page3" character varying, "transcribedTextT_page4" character varying, "transcribedTextT_page5" character varying, CONSTRAINT "PK_bb6f880b260ed96c452b32a39f0" PRIMARY KEY ("id"))`, + undefined + ); + await queryRunner.query( + `CREATE TABLE "child" ("id" SERIAL NOT NULL, "username" character varying NOT NULL, "grade" integer NOT NULL, "subscription" boolean NOT NULL DEFAULT false, "avatar" character varying, "total_points" integer, "wins" integer, "losses" integer, "votes" integer, "parentId" integer, "cohortId" integer, "preferencesDyslexia" boolean NOT NULL DEFAULT false, "progressReading" boolean NOT NULL DEFAULT false, "progressWriting" boolean NOT NULL DEFAULT false, "progressDrawing" boolean NOT NULL DEFAULT false, "progressTeamreview" boolean NOT NULL DEFAULT false, "progressRandomreview" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_4609b9b323ca37c6bc435ec4b6b" PRIMARY KEY ("id"))`, + undefined + ); + await queryRunner.query( + `CREATE TABLE "matches" ("id" SERIAL NOT NULL, "team1_child1_id" integer, "team1_child2_id" integer, "team2_child1_id" integer, "team2_child2_id" integer, "week" integer, CONSTRAINT "PK_8a22c7b2e0828988d51256117f4" PRIMARY KEY ("id"))`, + undefined + ); + await queryRunner.query( + `ALTER TABLE "illustrations" ADD CONSTRAINT "FK_2675728b1c00556cd980c77b849" FOREIGN KEY ("childId") REFERENCES "child"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, + undefined + ); + await queryRunner.query( + `ALTER TABLE "stories" ADD CONSTRAINT "FK_71d050c35abe5d607bb746503af" FOREIGN KEY ("childId") REFERENCES "child"("id") ON DELETE CASCADE ON UPDATE NO ACTION`, + undefined + ); + await queryRunner.query( + `ALTER TABLE "child" ADD CONSTRAINT "FK_8a2f35051e01ce9c6656af13c7c" FOREIGN KEY ("parentId") REFERENCES "parent"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`, + undefined + ); + await queryRunner.query( + `ALTER TABLE "child" ADD CONSTRAINT "FK_faecc77a0cf169a4c97f0a8d812" FOREIGN KEY ("cohortId") REFERENCES "cohort"("id") ON DELETE NO ACTION ON UPDATE NO ACTION`, + undefined + ); + /******************/ + + /* SEEDING - Need to use queryRunner's Manager to get the proper connection info */ + await queryRunner.manager.getRepository(Cohort).save(CohortSeed); + await queryRunner.manager.getRepository(Canon).save(CanonSeed); + + //Should match auth exactly + let { id: stripeID } = await new Stripe('sk_test_v666XmnGJcP1Oz3GBg2iFmvd004Q3qp4jZ', { + apiVersion: '2019-12-03', + typescript: true, + }).customers.create({ + email: ParentSeed.email, + }); + ParentSeed.stripeID = stripeID; + await queryRunner.manager.getRepository(Parent).save(ParentSeed); + + await queryRunner.manager.getRepository(Child).save(ChildSeed); + + await queryRunner.manager.getRepository(Stories).save(StorySeed); + + await queryRunner.manager.getRepository(Illustrations).save(IllustrationSeed); + /******************/ + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query( + `ALTER TABLE "child" DROP CONSTRAINT "FK_faecc77a0cf169a4c97f0a8d812"`, + undefined + ); + await queryRunner.query( + `ALTER TABLE "child" DROP CONSTRAINT "FK_8a2f35051e01ce9c6656af13c7c"`, + undefined + ); + await queryRunner.query( + `ALTER TABLE "stories" DROP CONSTRAINT "FK_71d050c35abe5d607bb746503af"`, + undefined + ); + await queryRunner.query( + `ALTER TABLE "illustrations" DROP CONSTRAINT "FK_2675728b1c00556cd980c77b849"`, + undefined + ); + await queryRunner.query(`DROP TABLE "matches"`, undefined); + await queryRunner.query(`DROP TABLE "child"`, undefined); + await queryRunner.query(`DROP TABLE "stories"`, undefined); + await queryRunner.query(`DROP TABLE "illustrations"`, undefined); + await queryRunner.query(`DROP TABLE "cohort"`, undefined); + await queryRunner.query(`DROP TABLE "parent"`, undefined); + await queryRunner.query(`DROP TABLE "canon"`, undefined); + await queryRunner.query(`DROP TABLE "admin"`, undefined); + } +} diff --git a/src/database/seeds/seeds.ts b/src/database/seeds/seeds.ts new file mode 100644 index 00000000..6757e524 --- /dev/null +++ b/src/database/seeds/seeds.ts @@ -0,0 +1,137 @@ +import { Cohort, Canon, Parent, Child, Stories, Illustrations } from '../entity'; +import { DueDates } from '../entity/DueDates'; +import { hashSync } from 'bcryptjs'; +import { Preferences } from '../entity/Preferences'; +import { Pages, Transcribed_Pages } from '../entity/Pages'; +import { Progress } from '../entity/Progress'; + +/* Non-Nullable vars and columns with no default function MUST be defined */ + +let c1 = new Cohort(); +c1.name = 'Main'; +c1.week = 1; +c1.activity = 'reading'; +c1.dueDates = new DueDates(); +c1.dueDates.reading = new Date(); +c1.dueDates.writing = new Date(); +c1.dueDates.drawing = new Date(); + +export const CohortSeed = [c1]; + +let CanonStory = new Canon(); +CanonStory.week = 1; +CanonStory.base64 = //Non-Dyslexic PDF story for reading portion + 'JVBERi0xLjMNCiXi48/TDQoNCjEgMCBvYmoNCjw8DQovVHlwZSAvQ2F0YWxvZw0KL091dGxpbmVzIDIgMCBSDQovUGFnZXMgMyAwIFINCj4+DQplbmRvYmoNCg0KMiAwIG9iag0KPDwNCi9UeXBlIC9PdXRsaW5lcw0KL0NvdW50IDANCj4+DQplbmRvYmoNCg0KMyAwIG9iag0KPDwNCi9UeXBlIC9QYWdlcw0KL0NvdW50IDINCi9LaWRzIFsgNCAwIFIgNiAwIFIgXSANCj4+DQplbmRvYmoNCg0KNCAwIG9iag0KPDwNCi9UeXBlIC9QYWdlDQovUGFyZW50IDMgMCBSDQovUmVzb3VyY2VzIDw8DQovRm9udCA8PA0KL0YxIDkgMCBSIA0KPj4NCi9Qcm9jU2V0IDggMCBSDQo+Pg0KL01lZGlhQm94IFswIDAgNjEyLjAwMDAgNzkyLjAwMDBdDQovQ29udGVudHMgNSAwIFINCj4+DQplbmRvYmoNCg0KNSAwIG9iag0KPDwgL0xlbmd0aCAxMDc0ID4+DQpzdHJlYW0NCjIgSg0KQlQNCjAgMCAwIHJnDQovRjEgMDAyNyBUZg0KNTcuMzc1MCA3MjIuMjgwMCBUZA0KKCBBIFNpbXBsZSBQREYgRmlsZSApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY4OC42MDgwIFRkDQooIFRoaXMgaXMgYSBzbWFsbCBkZW1vbnN0cmF0aW9uIC5wZGYgZmlsZSAtICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjY0LjcwNDAgVGQNCigganVzdCBmb3IgdXNlIGluIHRoZSBWaXJ0dWFsIE1lY2hhbmljcyB0dXRvcmlhbHMuIE1vcmUgdGV4dC4gQW5kIG1vcmUgKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NTIuNzUyMCBUZA0KKCB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDYyOC44NDgwIFRkDQooIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjE2Ljg5NjAgVGQNCiggdGV4dC4gQW5kIG1vcmUgdGV4dC4gQm9yaW5nLCB6enp6ei4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNjA0Ljk0NDAgVGQNCiggbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDU5Mi45OTIwIFRkDQooIEFuZCBtb3JlIHRleHQuIEFuZCBtb3JlIHRleHQuICkgVGoNCkVUDQpCVA0KL0YxIDAwMTAgVGYNCjY5LjI1MDAgNTY5LjA4ODAgVGQNCiggQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA1NTcuMTM2MCBUZA0KKCB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBFdmVuIG1vcmUuIENvbnRpbnVlZCBvbiBwYWdlIDIgLi4uKSBUag0KRVQNCmVuZHN0cmVhbQ0KZW5kb2JqDQoNCjYgMCBvYmoNCjw8DQovVHlwZSAvUGFnZQ0KL1BhcmVudCAzIDAgUg0KL1Jlc291cmNlcyA8PA0KL0ZvbnQgPDwNCi9GMSA5IDAgUiANCj4+DQovUHJvY1NldCA4IDAgUg0KPj4NCi9NZWRpYUJveCBbMCAwIDYxMi4wMDAwIDc5Mi4wMDAwXQ0KL0NvbnRlbnRzIDcgMCBSDQo+Pg0KZW5kb2JqDQoNCjcgMCBvYmoNCjw8IC9MZW5ndGggNjc2ID4+DQpzdHJlYW0NCjIgSg0KQlQNCjAgMCAwIHJnDQovRjEgMDAyNyBUZg0KNTcuMzc1MCA3MjIuMjgwMCBUZA0KKCBTaW1wbGUgUERGIEZpbGUgMiApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY4OC42MDgwIFRkDQooIC4uLmNvbnRpbnVlZCBmcm9tIHBhZ2UgMS4gWWV0IG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NzYuNjU2MCBUZA0KKCBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSB0ZXh0LiBBbmQgbW9yZSApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY2NC43MDQwIFRkDQooIHRleHQuIE9oLCBob3cgYm9yaW5nIHR5cGluZyB0aGlzIHN0dWZmLiBCdXQgbm90IGFzIGJvcmluZyBhcyB3YXRjaGluZyApIFRqDQpFVA0KQlQNCi9GMSAwMDEwIFRmDQo2OS4yNTAwIDY1Mi43NTIwIFRkDQooIHBhaW50IGRyeS4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gQW5kIG1vcmUgdGV4dC4gKSBUag0KRVQNCkJUDQovRjEgMDAxMCBUZg0KNjkuMjUwMCA2NDAuODAwMCBUZA0KKCBCb3JpbmcuICBNb3JlLCBhIGxpdHRsZSBtb3JlIHRleHQuIFRoZSBlbmQsIGFuZCBqdXN0IGFzIHdlbGwuICkgVGoNCkVUDQplbmRzdHJlYW0NCmVuZG9iag0KDQo4IDAgb2JqDQpbL1BERiAvVGV4dF0NCmVuZG9iag0KDQo5IDAgb2JqDQo8PA0KL1R5cGUgL0ZvbnQNCi9TdWJ0eXBlIC9UeXBlMQ0KL05hbWUgL0YxDQovQmFzZUZvbnQgL0hlbHZldGljYQ0KL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcNCj4+DQplbmRvYmoNCg0KMTAgMCBvYmoNCjw8DQovQ3JlYXRvciAoUmF2ZSBcKGh0dHA6Ly93d3cubmV2cm9uYS5jb20vcmF2ZVwpKQ0KL1Byb2R1Y2VyIChOZXZyb25hIERlc2lnbnMpDQovQ3JlYXRpb25EYXRlIChEOjIwMDYwMzAxMDcyODI2KQ0KPj4NCmVuZG9iag0KDQp4cmVmDQowIDExDQowMDAwMDAwMDAwIDY1NTM1IGYNCjAwMDAwMDAwMTkgMDAwMDAgbg0KMDAwMDAwMDA5MyAwMDAwMCBuDQowMDAwMDAwMTQ3IDAwMDAwIG4NCjAwMDAwMDAyMjIgMDAwMDAgbg0KMDAwMDAwMDM5MCAwMDAwMCBuDQowMDAwMDAxNTIyIDAwMDAwIG4NCjAwMDAwMDE2OTAgMDAwMDAgbg0KMDAwMDAwMjQyMyAwMDAwMCBuDQowMDAwMDAyNDU2IDAwMDAwIG4NCjAwMDAwMDI1NzQgMDAwMDAgbg0KDQp0cmFpbGVyDQo8PA0KL1NpemUgMTENCi9Sb290IDEgMCBSDQovSW5mbyAxMCAwIFINCj4+DQoNCnN0YXJ0eHJlZg0KMjcxNA0KJSVFT0YNCg=='; + +export const CanonSeed = [CanonStory]; + +let ParentDefault = new Parent(); +ParentDefault.email = 'test@test.com'; +ParentDefault.name = 'TestFirst TestLast'; +ParentDefault.password = hashSync('testpass', parseInt(process.env.SALT || '3', 10)); + +export const ParentSeed = ParentDefault; + +function MakeChild(name, grade, points, wins, losses, dyslexia, progress) { + let Temp = new Child(); + + Temp.username = name; + Temp.subscription = true; //Bypassing add-a-card + Temp.cohort = c1; //Tying the new child to the new cohort + Temp.parent = ParentDefault; //Tying the new child to the new parent + Temp.preferences = new Preferences(); + Temp.preferences.dyslexia = dyslexia; + Temp.grade = grade; + Temp.total_points = points; + Temp.wins = wins; + Temp.losses = losses; + Temp.votes = 0; + + Temp.progress = new Progress(); + progress.forEach((name) => { + Temp.progress[name] = true; + }); + + return Temp; +} + +//Need these exported to tie with stories +let Child3 = MakeChild('Child3', 5, 0, 0, 0, false, [ + 'reading', + 'writing', + 'drawing', + 'teamReview', + ]), + Child4 = MakeChild('Child4', 6, 0, 0, 0, false, [ + 'reading', + 'writing', + 'drawing', + 'teamReview', + ]); + +export const ChildSeed = [ + MakeChild('Child1', 4, 0, 0, 0, false, []), + MakeChild('Child2', 5, 0, 0, 0, false, ['reading']), + Child3, + Child4, +]; + +let child_story_1 = + 'data:image/png;base64,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'; + +let child_story_2 = + 'data:image/png;base64,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'; + +function MakeStory(child, page, transcribe) { + let Temp = new Stories(); + + Temp.child = child; + Temp.story = new Pages(); + Temp.story.page1 = page; + Temp.transcribed_text = new Transcribed_Pages(); + Temp.transcribed_text.t_page1 = transcribe; + + //Currently py scripts will crash without this + Temp.flesch_reading_ease = 36.96; + Temp.smog_index = 0; + Temp.flesch_kincaid_grade = 10.3; + Temp.coleman_liau_index = 11.86; + Temp.automated_readability_index = 8.2; + Temp.dale_chall_readability_score = 9.35; + Temp.difficult_words = 3; + Temp.linsear_write_formula = 4.5; + Temp.gunning_fog = 8.04; + Temp.consolidated_score = '4th and 5th grade'; + Temp.doc_length = 57; + Temp.quote_count = 0; + + Temp.week = 1; + + return Temp; +} + +export const StorySeed = [ + MakeStory(Child3, child_story_1, 'Small legendary pokemon personality test'), + MakeStory(Child4, child_story_2, 'Which NARUTO character are you!?'), +]; + +let child_illustration_1 = + 'data:image/png;base64,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'; + +let child_illustration_2 = + 'data:image/png;base64,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'; + +function MakeIllustration(child, illustration) { + let Temp = new Illustrations(); + + Temp.child = child; + Temp.illustration = illustration; + Temp.week = 1; + + return Temp; +} + +export const IllustrationSeed = [ + MakeIllustration(Child3, child_illustration_1), + MakeIllustration(Child4, child_illustration_2), +];