@@ -7,11 +7,11 @@ async function main() {
77 if ( ! hashID . includes ( seed . data . id ) ) {
88 try {
99 const alreadyExists = await db . track . findUnique ( {
10- where :{
11- id :seed . data . id
12- }
13- } )
14- if ( ! alreadyExists ) {
10+ where : {
11+ id : seed . data . id ,
12+ } ,
13+ } ) ;
14+ if ( ! alreadyExists ) {
1515 const track = await db . track . create ( {
1616 data : seed . data ,
1717 } ) ;
@@ -22,161 +22,165 @@ async function main() {
2222 }
2323 }
2424 }
25-
26- await db . categories . create ( {
27- data : {
25+ const categories = [
26+ {
2827 id : "web-development" ,
2928 category : "Web Development" ,
3029 } ,
31- } ) ;
32-
33- await db . categories . create ( {
34- data : {
30+ {
3531 id : "adv-web-development" ,
3632 category : "Advance Web Development" ,
3733 } ,
38- } ) ;
39-
40- await db . categories . create ( {
41- data : {
34+ {
4235 id : "dsa" ,
4336 category : "Data Structures and Algorithms" ,
4437 } ,
45- } ) ;
46-
47- await db . categories . create ( {
48- data : {
38+ {
4939 id : "devops" ,
5040 category : "Devops" ,
5141 } ,
52- } ) ;
53-
54- await db . categories . create ( {
55- data : {
42+ {
5643 id : "projects" ,
5744 category : "Projects" ,
5845 } ,
59- } ) ;
60-
61- await db . categories . create ( {
62- data : {
46+ {
6347 id : "extras" ,
6448 category : "Extras" ,
6549 } ,
66- } ) ;
50+ ] ;
6751
68- await db . trackCategory . createMany ( {
69- data : [
70- {
71- trackId : "6SbPPXGkG8QKFOTW9BmL" ,
72- categoryId : "web-development" ,
73- } ,
74- {
75- trackId : "ABEC" ,
76- categoryId : "adv-web-development" ,
77- } ,
78- {
79- trackId : "Auth" ,
80- categoryId : "web-development" ,
81- } ,
82- {
83- trackId : "CI-CD" ,
84- categoryId : "devops" ,
85- } ,
86- {
87- trackId : "Next-Auth" ,
88- categoryId : "adv-web-development" ,
89- } ,
90- {
91- trackId : "PayTM2" ,
92- categoryId : "projects" ,
93- } ,
94- {
95- trackId : "Paytm" ,
96- categoryId : "projects" ,
97- } ,
98- {
99- trackId : "Redis" ,
100- categoryId : "adv-web-development" ,
101- } ,
102- {
103- trackId : "YOSAherHkqWXhOdlE4yE" ,
104- categoryId : "adv-web-development" ,
105- } ,
106- {
107- trackId : "ZSQI8YNE0iL6sT1hJpts" ,
108- categoryId : "projects" ,
109- } ,
110- {
111- trackId : "blog" ,
112- categoryId : "projects" ,
113- } ,
114- {
115- trackId : "docker-2" ,
116- categoryId : "devops" ,
117- } ,
118- {
119- trackId : "docker-easy" ,
120- categoryId : "devops" ,
121- } ,
122- {
123- trackId : "dsa" ,
124- categoryId : "dsa" ,
125- } ,
126- {
127- trackId : "dsa2" ,
128- categoryId : "dsa" ,
129- } ,
130- {
131- trackId : "eooSv7lnuwBO6wl9YA5w" ,
132- categoryId : "adv-web-development" ,
133- } ,
134- {
135- trackId : "g0AcDSPl74nk45ZZjRdU" ,
136- categoryId : "adv-web-development" ,
137- } ,
138- {
139- trackId : "gZf9uBBNSbBR7UCqyyqT" ,
140- categoryId : "adv-web-development" ,
141- } ,
142- {
143- trackId : "monorepo" ,
144- categoryId : "adv-web-development" ,
145- } ,
146- {
147- trackId : "mw" ,
148- categoryId : "web-development" ,
149- } ,
150- {
151- trackId : "nextjs-1" ,
152- categoryId : "adv-web-development" ,
153- } ,
154- {
155- trackId : "nextjs-2" ,
156- categoryId : "adv-web-development" ,
157- } ,
158- {
159- trackId : "oAjvkeRNZThPMxZf4aX5" ,
160- categoryId : "projects" ,
161- } ,
162- {
163- trackId : "rendering" ,
164- categoryId : "adv-web-development" ,
165- } ,
166- {
167- trackId : "senior" ,
168- categoryId : "extras" ,
169- } ,
170- {
171- trackId : "ts-hard" ,
172- categoryId : "adv-web-development" ,
173- } ,
174- {
175- trackId : "w5E6PT2t0IyOFM3bZxcM" ,
176- categoryId : "adv-web-development" ,
177- } ,
178- ] ,
52+ const existingCategories = await db . categories . findMany ( ) ;
53+
54+ categories . forEach ( ( category ) => {
55+ if ( ! existingCategories . find ( ( cat ) => cat . id === category . id ) ) {
56+ db . categories . create ( { data : category } ) . then ( ( ) => {
57+ console . log ( `Category ${ category . id } created` ) ;
58+ } ) . catch ( error => {
59+ console . error ( `Error creating category ${ category . id } :` , error ) ;
60+ } ) ;
61+ }
17962 } ) ;
63+
64+ const trackCategories = [
65+ {
66+ trackId : "6SbPPXGkG8QKFOTW9BmL" ,
67+ categoryId : "web-development" ,
68+ } ,
69+ {
70+ trackId : "ABEC" ,
71+ categoryId : "adv-web-development" ,
72+ } ,
73+ {
74+ trackId : "Auth" ,
75+ categoryId : "web-development" ,
76+ } ,
77+ {
78+ trackId : "CI-CD" ,
79+ categoryId : "devops" ,
80+ } ,
81+ {
82+ trackId : "Next-Auth" ,
83+ categoryId : "adv-web-development" ,
84+ } ,
85+ {
86+ trackId : "PayTM2" ,
87+ categoryId : "projects" ,
88+ } ,
89+ {
90+ trackId : "Paytm" ,
91+ categoryId : "projects" ,
92+ } ,
93+ {
94+ trackId : "Redis" ,
95+ categoryId : "adv-web-development" ,
96+ } ,
97+ {
98+ trackId : "YOSAherHkqWXhOdlE4yE" ,
99+ categoryId : "adv-web-development" ,
100+ } ,
101+ {
102+ trackId : "ZSQI8YNE0iL6sT1hJpts" ,
103+ categoryId : "projects" ,
104+ } ,
105+ {
106+ trackId : "blog" ,
107+ categoryId : "projects" ,
108+ } ,
109+ {
110+ trackId : "docker-2" ,
111+ categoryId : "devops" ,
112+ } ,
113+ {
114+ trackId : "docker-easy" ,
115+ categoryId : "devops" ,
116+ } ,
117+ {
118+ trackId : "dsa" ,
119+ categoryId : "dsa" ,
120+ } ,
121+ {
122+ trackId : "dsa2" ,
123+ categoryId : "dsa" ,
124+ } ,
125+ {
126+ trackId : "eooSv7lnuwBO6wl9YA5w" ,
127+ categoryId : "adv-web-development" ,
128+ } ,
129+ {
130+ trackId : "g0AcDSPl74nk45ZZjRdU" ,
131+ categoryId : "adv-web-development" ,
132+ } ,
133+ {
134+ trackId : "gZf9uBBNSbBR7UCqyyqT" ,
135+ categoryId : "adv-web-development" ,
136+ } ,
137+ {
138+ trackId : "monorepo" ,
139+ categoryId : "adv-web-development" ,
140+ } ,
141+ {
142+ trackId : "mw" ,
143+ categoryId : "web-development" ,
144+ } ,
145+ {
146+ trackId : "nextjs-1" ,
147+ categoryId : "adv-web-development" ,
148+ } ,
149+ {
150+ trackId : "nextjs-2" ,
151+ categoryId : "adv-web-development" ,
152+ } ,
153+ {
154+ trackId : "oAjvkeRNZThPMxZf4aX5" ,
155+ categoryId : "projects" ,
156+ } ,
157+ {
158+ trackId : "rendering" ,
159+ categoryId : "adv-web-development" ,
160+ } ,
161+ {
162+ trackId : "senior" ,
163+ categoryId : "extras" ,
164+ } ,
165+ {
166+ trackId : "ts-hard" ,
167+ categoryId : "adv-web-development" ,
168+ } ,
169+ {
170+ trackId : "w5E6PT2t0IyOFM3bZxcM" ,
171+ categoryId : "adv-web-development" ,
172+ } ,
173+ ] ;
174+
175+ const existingTrackCategories = await db . trackCategory . findMany ( ) ;
176+
177+ const insertableTrackCategories = trackCategories . filter ( tc =>
178+ ! existingTrackCategories . find ( existing => existing . trackId === tc . trackId && existing . categoryId === tc . categoryId ) ,
179+ ) ;
180+
181+ if ( insertableTrackCategories . length === 0 ) {
182+ await db . trackCategory . createMany ( { data : insertableTrackCategories } ) ;
183+ }
180184}
181185
182186main ( )
0 commit comments