From f28eb6c422c00db7c0f48f6e97b7d12ab6447891 Mon Sep 17 00:00:00 2001 From: Alexander Ng Date: Wed, 11 Dec 2024 00:47:51 -0800 Subject: [PATCH] generate sql --- gen.ts | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 gen.ts diff --git a/gen.ts b/gen.ts new file mode 100644 index 0000000..1291d57 --- /dev/null +++ b/gen.ts @@ -0,0 +1,107 @@ +// Define the structure of your data +interface Muscle { + colloquial_name: string; + scientific_name: string; +} + +interface MuscleGroup { + major_group: string; + group_name: string; + muscles: Muscle[]; +} + +// Your JSON data +const data: MuscleGroup[] = [ + { + major_group: "Upper Body", + group_name: "Chest", + muscles: [ + { colloquial_name: "Pecs", scientific_name: "Pectoralis major" }, + { colloquial_name: "Pec Minor", scientific_name: "Pectoralis minor" } + ] + }, + { + major_group: "Upper Body", + group_name: "Back", + muscles: [ + { colloquial_name: "Lats", scientific_name: "Latissimus dorsi" }, + { colloquial_name: "Traps", scientific_name: "Trapezius" }, + { colloquial_name: "Rhomboids", scientific_name: "Rhomboideus major" }, + { colloquial_name: "Spinal Erectors", scientific_name: "Erector spinae" }, + { colloquial_name: "Teres Major", scientific_name: "Teres major" } + ] + }, + { + major_group: "Upper Body", + group_name: "Shoulders", + muscles: [ + { colloquial_name: "Delts", scientific_name: "Deltoideus" }, + { colloquial_name: "Rotator Cuff", scientific_name: "Rotator cuff" } + ] + }, + { + major_group: "Upper Body", + group_name: "Arms", + muscles: [ + { colloquial_name: "Biceps", scientific_name: "Biceps brachii" }, + { colloquial_name: "Brachialis", scientific_name: "Brachialis" }, + { colloquial_name: "Triceps", scientific_name: "Triceps brachii" }, + { colloquial_name: "Brachioradialis", scientific_name: "Brachioradialis" }, + { colloquial_name: "Forearm Flexors/Extensors", scientific_name: "Flexor and extensor muscles of the forearm" } + ] + }, + { + major_group: "Core", + group_name: "Abdominals", + muscles: [ + { colloquial_name: "Abs", scientific_name: "Rectus abdominis" }, + { colloquial_name: "Transverse Abs", scientific_name: "Transversus abdominis" }, + { colloquial_name: "External Obliques", scientific_name: "Obliquus externus abdominis" }, + { colloquial_name: "Internal Obliques", scientific_name: "Obliquus internus abdominis" } + ] + }, + { + major_group: "Core", + group_name: "Lower Back", + muscles: [ + { colloquial_name: "QL", scientific_name: "Quadratus lumborum" }, + ] + }, + { + major_group: "Lower Body", + group_name: "Legs", + muscles: [ + { colloquial_name: "Quads", scientific_name: "Quadriceps femoris" }, + { colloquial_name: "Hamstrings", scientific_name: "Hamstring muscles" }, + { colloquial_name: "Glutes", scientific_name: "Gluteus maximus" }, + { colloquial_name: "Glute Med", scientific_name: "Gluteus medius" }, + { colloquial_name: "Glute Min", scientific_name: "Gluteus minimus" }, + { colloquial_name: "Adductors", scientific_name: "Adductor muscles" }, + { colloquial_name: "Abductors", scientific_name: "Abductor muscles" } + ] + }, + { + major_group: "Lower Body", + group_name: "Calves", + muscles: [ + { colloquial_name: "Gastrocs", scientific_name: "Gastrocnemius" }, + { colloquial_name: "Soleus", scientific_name: "Soleus" } + ] + } +]; + +// Generate SQL INSERT statements +function generateSQL(data: MuscleGroup[]): string { + let sql = ""; + + data.forEach((group) => { + group.muscles.forEach((muscle) => { + sql += `INSERT INTO muscles (major_group, minor_group, name, scientific_name) VALUES ('${group.major_group}', '${group.group_name}', '${muscle.colloquial_name}', '${muscle.scientific_name}');\n`; + }); + }); + + return sql; +} + +const sqlStatements = generateSQL(data); +console.log(sqlStatements);