minsung

delete archive

Showing 112 changed files with 0 additions and 3015 deletions
1 -*.xlsx
2 -.env
...\ No newline at end of file ...\ No newline at end of file
1 -# Capstone design
2 -
3 -1st semester capstone design project
4 -
5 -Subject : Making website in order to practice latest web technologies
6 -
7 -sub-subject : making chat site using JS
8 -
9 -# Schedule
10 -
11 -- 4/6 ~ 4/12
12 -- [x] Set development environment
13 -
14 - (tech : react.js, react hooks, styled-components, GraphQL, Prisma, Apollo, AWS, Docker)
15 -
16 -- 4/13 ~ 4/19
17 -- [x] login, sign up (using JWT, sendGrid), Create Docker-compose
18 -
19 -- 4/20 ~ 4/26
20 -- [ ] Find ID, PW
21 -
22 -- 4/27 ~ 5/3
23 -- [ ] Make chat room (using GraphQL's subscription)
24 -
25 -- 5/4 ~ 5/10
26 -- [ ] Mid-term exam, Debugging
27 -
28 -- 5/11 ~ 5/17
29 -- [ ] Plan chat category and make code
30 -
31 -- 5/18 ~ 5/24
32 -- [ ] Debugging for code created in 6th week's plan
33 -
34 -- 5/25 ~ 5/31
35 -- [ ] Plan a matching strategy for random chat
36 -
37 -- 6/1 ~ 6/7
38 -- [ ] Make a code based on the matching plan created in 8th week's plan
39 -
40 -- 6/8 ~ 6/14
41 -- [ ] Debugging for whole codes in our project
42 -
43 -- 6/15 ~ 6/21
44 -- [ ] Deploy project in AWS amplify
45 -
46 -- 6/22 ~ 6/26
47 -- [ ] Final exam, review project
1 -{
2 - "presets": ["@babel/preset-env"]
3 -}
1 -node_modules
...\ No newline at end of file ...\ No newline at end of file
1 -# node_modules
2 -node_modules
3 -
4 -.env
5 -
6 -note.txt
7 -linux.txt
...\ No newline at end of file ...\ No newline at end of file
1 -FROM node:12.16.2
2 -RUN npm i -g @prisma/cli
3 -
4 -RUN mkdir /app
5 -WORKDIR /app
6 -
7 -COPY package*.json ./
8 -COPY prisma ./prisma/
9 -
10 -RUN npm install && npx prisma generate
11 -
12 -CMD ["npm","start"]
13 -
14 -COPY . .
...\ No newline at end of file ...\ No newline at end of file
1 -# Capstone design
2 -
3 -1st semester capstone design project
4 -
5 -Subject : Making website in order to practice latest web technologies
6 -
7 -sub-subject : making chat site using JS
8 -
9 -# Schedule
10 -
11 -- 4/6 ~ 4/12
12 -- [x] Set development environment
13 -
14 - (tech : react.js, react hooks, styled-components, GraphQL, Prisma, Apollo, AWS, Docker)
15 -
16 -- 4/13 ~ 4/19
17 -- [x] login, sign up (using JWT, sendGrid), Create Docker-compose
18 -
19 -- 4/20 ~ 4/26
20 -- [ ] Find ID, PW
21 -
22 -- 4/27 ~ 5/3
23 -- [ ] Make chat room (using GraphQL's subscription)
24 -
25 -- 5/4 ~ 5/10
26 -- [ ] Mid-term exam, Debugging
27 -
28 -- 5/11 ~ 5/17
29 -- [ ] Plan chat category and make code
30 -
31 -- 5/18 ~ 5/24
32 -- [ ] Debugging for code created in 6th week's plan
33 -
34 -- 5/25 ~ 5/31
35 -- [ ] Plan a matching strategy for random chat
36 -
37 -- 6/1 ~ 6/7
38 -- [ ] Make a code based on the matching plan created in 8th week's plan
39 -
40 -- 6/8 ~ 6/14
41 -- [ ] Debugging for whole codes in our project
42 -
43 -- 6/15 ~ 6/21
44 -- [ ] Deploy project in AWS amplify
45 -
46 -- 6/22 ~ 6/26
47 -- [ ] Final exam, review project
1 -{
2 - "ext": "js graphql"
3 -}
This diff could not be displayed because it is too large.
1 -{
2 - "name": "capstone-back",
3 - "version": "1.0.0",
4 - "description": "1st semester capstone design project",
5 - "scripts": {
6 - "start": "nodemon --exec babel-node src/server.js",
7 - "prisma": "prisma2 studio --experimental"
8 - },
9 - "repository": {
10 - "type": "git",
11 - "url": "git+https://vel1024@bitbucket.org/vel1024/capstone2.git"
12 - },
13 - "author": "sdy, kms",
14 - "license": "ISC",
15 - "homepage": "https://bitbucket.org/vel1024/capstone2#readme",
16 - "dependencies": {
17 - "@prisma/client": "^2.0.0-beta.2",
18 - "bcryptjs": "^2.4.3",
19 - "dotenv": "^8.2.0",
20 - "graphql-tools": "^4.0.7",
21 - "graphql-yoga": "^1.18.3",
22 - "jsonwebtoken": "^8.5.1",
23 - "merge-graphql-schemas": "^1.7.7",
24 - "nodemailer": "^6.4.6",
25 - "nodemailer-sendgrid-transport": "^0.2.0",
26 - "twilio": "^3.42.2"
27 - },
28 - "devDependencies": {
29 - "@babel/core": "^7.9.0",
30 - "@babel/node": "^7.8.7",
31 - "@babel/preset-env": "^7.9.0",
32 - "@prisma/cli": "^2.0.0-beta.2",
33 - "morgan": "^1.10.0",
34 - "nodemon": "^2.0.2"
35 - }
36 -}
1 -FROM node:12.16.2
2 -RUN npm i -g @prisma/cli
3 -
4 -RUN mkdir /app
5 -WORKDIR /app
6 -
7 -COPY ./ ./prisma/
8 -
9 -CMD ["prisma", "studio", "--experimental"]
...\ No newline at end of file ...\ No newline at end of file
1 -# Migration `20200419160117-init`
2 -
3 -This migration has been generated by sdy at 4/19/2020, 4:01:17 PM.
4 -You can check out the [state of the schema](./schema.prisma) after the migration.
5 -
6 -## Database Steps
7 -
8 -```sql
9 -CREATE TABLE `chat_schema`.`User` (
10 - `avatarUrl` varchar(191) ,
11 - `bio` varchar(191) ,
12 - `createdAt` datetime DEFAULT CURRENT_TIMESTAMP ,
13 - `email` varchar(191) NOT NULL ,
14 - `id` int NOT NULL AUTO_INCREMENT,
15 - `loginSecret` varchar(191) ,
16 - `name` varchar(191) NOT NULL ,
17 - `password` varchar(191) NOT NULL ,
18 - PRIMARY KEY (`id`)
19 -)
20 -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
21 -
22 -CREATE TABLE `chat_schema`.`Room` (
23 - `id` int NOT NULL AUTO_INCREMENT,
24 - PRIMARY KEY (`id`)
25 -)
26 -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
27 -
28 -CREATE TABLE `chat_schema`.`Category` (
29 - `id` int NOT NULL AUTO_INCREMENT,
30 - `name` varchar(191) DEFAULT '' ,
31 - PRIMARY KEY (`id`)
32 -)
33 -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
34 -
35 -CREATE TABLE `chat_schema`.`Message` (
36 - `id` int NOT NULL AUTO_INCREMENT,
37 - `senderId` int NOT NULL ,
38 - `text` varchar(191) DEFAULT '' ,
39 - PRIMARY KEY (`id`)
40 -)
41 -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
42 -
43 -CREATE TABLE `chat_schema`.`_RoomToUser` (
44 - `A` int NOT NULL ,
45 - `B` int NOT NULL
46 -)
47 -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
48 -
49 -CREATE TABLE `chat_schema`.`_CategoryToRoom` (
50 - `A` int NOT NULL ,
51 - `B` int NOT NULL
52 -)
53 -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
54 -
55 -CREATE UNIQUE INDEX `User.email` ON `chat_schema`.`User`(`email`)
56 -
57 -CREATE UNIQUE INDEX `_RoomToUser_AB_unique` ON `chat_schema`.`_RoomToUser`(`A`,`B`)
58 -
59 -CREATE INDEX `_RoomToUser_B_index` ON `chat_schema`.`_RoomToUser`(`B`)
60 -
61 -CREATE UNIQUE INDEX `_CategoryToRoom_AB_unique` ON `chat_schema`.`_CategoryToRoom`(`A`,`B`)
62 -
63 -CREATE INDEX `_CategoryToRoom_B_index` ON `chat_schema`.`_CategoryToRoom`(`B`)
64 -
65 -ALTER TABLE `chat_schema`.`Message` ADD FOREIGN KEY (`senderId`) REFERENCES `chat_schema`.`User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
66 -
67 -ALTER TABLE `chat_schema`.`_RoomToUser` ADD FOREIGN KEY (`A`) REFERENCES `chat_schema`.`Room`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
68 -
69 -ALTER TABLE `chat_schema`.`_RoomToUser` ADD FOREIGN KEY (`B`) REFERENCES `chat_schema`.`User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
70 -
71 -ALTER TABLE `chat_schema`.`_CategoryToRoom` ADD FOREIGN KEY (`A`) REFERENCES `chat_schema`.`Category`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
72 -
73 -ALTER TABLE `chat_schema`.`_CategoryToRoom` ADD FOREIGN KEY (`B`) REFERENCES `chat_schema`.`Room`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
74 -
75 -DROP TABLE `chat_schema`.`_migration`;
76 -
77 -DROP TABLE `chat_schema`.`test`;
78 -```
79 -
80 -## Changes
81 -
82 -```diff
83 -diff --git schema.prisma schema.prisma
84 -migration ..20200419160117-init
85 ---- datamodel.dml
86 -+++ datamodel.dml
87 -@@ -1,0 +1,41 @@
88 -+generator client {
89 -+ provider = "prisma-client-js"
90 -+ binaryTargets = ["native", "debian-openssl-1.1.x"]
91 -+}
92 -+
93 -+datasource db {
94 -+ provider = "mysql"
95 -+ url = env("DATABASE_URL")
96 -+}
97 -+
98 -+model User {
99 -+ id Int @default(autoincrement()) @id
100 -+ avatarUrl String?
101 -+ email String @unique
102 -+ password String
103 -+ name String
104 -+ loginSecret String?
105 -+ bio String?
106 -+ rooms Room[] @relation(references: [id])
107 -+ messages Message[]
108 -+ createdAt DateTime? @default(now())
109 -+}
110 -+
111 -+model Room {
112 -+ id Int @default(autoincrement()) @id
113 -+ participants User[] @relation(references: [id])
114 -+ categories Category[] @relation(references: [id])
115 -+}
116 -+
117 -+model Category {
118 -+ id Int @default(autoincrement()) @id
119 -+ name String? @default("")
120 -+ rooms Room[] @relation(references: [id])
121 -+}
122 -+
123 -+model Message {
124 -+ id Int @default(autoincrement()) @id
125 -+ text String? @default("")
126 -+ sender User @relation(fields: [senderId], references: [id])
127 -+ senderId Int
128 -+}
129 -```
130 -
131 -
1 -generator client {
2 - provider = "prisma-client-js"
3 - binaryTargets = ["native", "debian-openssl-1.1.x"]
4 -}
5 -
6 -datasource db {
7 - provider = "mysql"
8 - url = "***"
9 -}
10 -
11 -model User {
12 - id Int @default(autoincrement()) @id
13 - avatarUrl String?
14 - email String @unique
15 - password String
16 - name String
17 - loginSecret String?
18 - bio String?
19 - rooms Room[] @relation(references: [id])
20 - messages Message[]
21 - createdAt DateTime? @default(now())
22 -}
23 -
24 -model Room {
25 - id Int @default(autoincrement()) @id
26 - participants User[] @relation(references: [id])
27 - categories Category[] @relation(references: [id])
28 -}
29 -
30 -model Category {
31 - id Int @default(autoincrement()) @id
32 - name String? @default("")
33 - rooms Room[] @relation(references: [id])
34 -}
35 -
36 -model Message {
37 - id Int @default(autoincrement()) @id
38 - text String? @default("")
39 - sender User @relation(fields: [senderId], references: [id])
40 - senderId Int
41 -}
...\ No newline at end of file ...\ No newline at end of file
1 -{
2 - "version": "0.3.14-fixed",
3 - "steps": [
4 - {
5 - "tag": "CreateSource",
6 - "source": "db"
7 - },
8 - {
9 - "tag": "CreateArgument",
10 - "location": {
11 - "tag": "Source",
12 - "source": "db"
13 - },
14 - "argument": "provider",
15 - "value": "\"mysql\""
16 - },
17 - {
18 - "tag": "CreateArgument",
19 - "location": {
20 - "tag": "Source",
21 - "source": "db"
22 - },
23 - "argument": "url",
24 - "value": "env(\"DATABASE_URL\")"
25 - },
26 - {
27 - "tag": "CreateModel",
28 - "model": "User"
29 - },
30 - {
31 - "tag": "CreateField",
32 - "model": "User",
33 - "field": "id",
34 - "type": "Int",
35 - "arity": "Required"
36 - },
37 - {
38 - "tag": "CreateDirective",
39 - "location": {
40 - "path": {
41 - "tag": "Field",
42 - "model": "User",
43 - "field": "id"
44 - },
45 - "directive": "default"
46 - }
47 - },
48 - {
49 - "tag": "CreateArgument",
50 - "location": {
51 - "tag": "Directive",
52 - "path": {
53 - "tag": "Field",
54 - "model": "User",
55 - "field": "id"
56 - },
57 - "directive": "default"
58 - },
59 - "argument": "",
60 - "value": "autoincrement()"
61 - },
62 - {
63 - "tag": "CreateDirective",
64 - "location": {
65 - "path": {
66 - "tag": "Field",
67 - "model": "User",
68 - "field": "id"
69 - },
70 - "directive": "id"
71 - }
72 - },
73 - {
74 - "tag": "CreateField",
75 - "model": "User",
76 - "field": "avatarUrl",
77 - "type": "String",
78 - "arity": "Optional"
79 - },
80 - {
81 - "tag": "CreateField",
82 - "model": "User",
83 - "field": "email",
84 - "type": "String",
85 - "arity": "Required"
86 - },
87 - {
88 - "tag": "CreateDirective",
89 - "location": {
90 - "path": {
91 - "tag": "Field",
92 - "model": "User",
93 - "field": "email"
94 - },
95 - "directive": "unique"
96 - }
97 - },
98 - {
99 - "tag": "CreateField",
100 - "model": "User",
101 - "field": "password",
102 - "type": "String",
103 - "arity": "Required"
104 - },
105 - {
106 - "tag": "CreateField",
107 - "model": "User",
108 - "field": "name",
109 - "type": "String",
110 - "arity": "Required"
111 - },
112 - {
113 - "tag": "CreateField",
114 - "model": "User",
115 - "field": "loginSecret",
116 - "type": "String",
117 - "arity": "Optional"
118 - },
119 - {
120 - "tag": "CreateField",
121 - "model": "User",
122 - "field": "bio",
123 - "type": "String",
124 - "arity": "Optional"
125 - },
126 - {
127 - "tag": "CreateField",
128 - "model": "User",
129 - "field": "rooms",
130 - "type": "Room",
131 - "arity": "List"
132 - },
133 - {
134 - "tag": "CreateDirective",
135 - "location": {
136 - "path": {
137 - "tag": "Field",
138 - "model": "User",
139 - "field": "rooms"
140 - },
141 - "directive": "relation"
142 - }
143 - },
144 - {
145 - "tag": "CreateArgument",
146 - "location": {
147 - "tag": "Directive",
148 - "path": {
149 - "tag": "Field",
150 - "model": "User",
151 - "field": "rooms"
152 - },
153 - "directive": "relation"
154 - },
155 - "argument": "references",
156 - "value": "[id]"
157 - },
158 - {
159 - "tag": "CreateField",
160 - "model": "User",
161 - "field": "messages",
162 - "type": "Message",
163 - "arity": "List"
164 - },
165 - {
166 - "tag": "CreateField",
167 - "model": "User",
168 - "field": "createdAt",
169 - "type": "DateTime",
170 - "arity": "Optional"
171 - },
172 - {
173 - "tag": "CreateDirective",
174 - "location": {
175 - "path": {
176 - "tag": "Field",
177 - "model": "User",
178 - "field": "createdAt"
179 - },
180 - "directive": "default"
181 - }
182 - },
183 - {
184 - "tag": "CreateArgument",
185 - "location": {
186 - "tag": "Directive",
187 - "path": {
188 - "tag": "Field",
189 - "model": "User",
190 - "field": "createdAt"
191 - },
192 - "directive": "default"
193 - },
194 - "argument": "",
195 - "value": "now()"
196 - },
197 - {
198 - "tag": "CreateModel",
199 - "model": "Room"
200 - },
201 - {
202 - "tag": "CreateField",
203 - "model": "Room",
204 - "field": "id",
205 - "type": "Int",
206 - "arity": "Required"
207 - },
208 - {
209 - "tag": "CreateDirective",
210 - "location": {
211 - "path": {
212 - "tag": "Field",
213 - "model": "Room",
214 - "field": "id"
215 - },
216 - "directive": "default"
217 - }
218 - },
219 - {
220 - "tag": "CreateArgument",
221 - "location": {
222 - "tag": "Directive",
223 - "path": {
224 - "tag": "Field",
225 - "model": "Room",
226 - "field": "id"
227 - },
228 - "directive": "default"
229 - },
230 - "argument": "",
231 - "value": "autoincrement()"
232 - },
233 - {
234 - "tag": "CreateDirective",
235 - "location": {
236 - "path": {
237 - "tag": "Field",
238 - "model": "Room",
239 - "field": "id"
240 - },
241 - "directive": "id"
242 - }
243 - },
244 - {
245 - "tag": "CreateField",
246 - "model": "Room",
247 - "field": "participants",
248 - "type": "User",
249 - "arity": "List"
250 - },
251 - {
252 - "tag": "CreateDirective",
253 - "location": {
254 - "path": {
255 - "tag": "Field",
256 - "model": "Room",
257 - "field": "participants"
258 - },
259 - "directive": "relation"
260 - }
261 - },
262 - {
263 - "tag": "CreateArgument",
264 - "location": {
265 - "tag": "Directive",
266 - "path": {
267 - "tag": "Field",
268 - "model": "Room",
269 - "field": "participants"
270 - },
271 - "directive": "relation"
272 - },
273 - "argument": "references",
274 - "value": "[id]"
275 - },
276 - {
277 - "tag": "CreateField",
278 - "model": "Room",
279 - "field": "categories",
280 - "type": "Category",
281 - "arity": "List"
282 - },
283 - {
284 - "tag": "CreateDirective",
285 - "location": {
286 - "path": {
287 - "tag": "Field",
288 - "model": "Room",
289 - "field": "categories"
290 - },
291 - "directive": "relation"
292 - }
293 - },
294 - {
295 - "tag": "CreateArgument",
296 - "location": {
297 - "tag": "Directive",
298 - "path": {
299 - "tag": "Field",
300 - "model": "Room",
301 - "field": "categories"
302 - },
303 - "directive": "relation"
304 - },
305 - "argument": "references",
306 - "value": "[id]"
307 - },
308 - {
309 - "tag": "CreateModel",
310 - "model": "Category"
311 - },
312 - {
313 - "tag": "CreateField",
314 - "model": "Category",
315 - "field": "id",
316 - "type": "Int",
317 - "arity": "Required"
318 - },
319 - {
320 - "tag": "CreateDirective",
321 - "location": {
322 - "path": {
323 - "tag": "Field",
324 - "model": "Category",
325 - "field": "id"
326 - },
327 - "directive": "default"
328 - }
329 - },
330 - {
331 - "tag": "CreateArgument",
332 - "location": {
333 - "tag": "Directive",
334 - "path": {
335 - "tag": "Field",
336 - "model": "Category",
337 - "field": "id"
338 - },
339 - "directive": "default"
340 - },
341 - "argument": "",
342 - "value": "autoincrement()"
343 - },
344 - {
345 - "tag": "CreateDirective",
346 - "location": {
347 - "path": {
348 - "tag": "Field",
349 - "model": "Category",
350 - "field": "id"
351 - },
352 - "directive": "id"
353 - }
354 - },
355 - {
356 - "tag": "CreateField",
357 - "model": "Category",
358 - "field": "name",
359 - "type": "String",
360 - "arity": "Optional"
361 - },
362 - {
363 - "tag": "CreateDirective",
364 - "location": {
365 - "path": {
366 - "tag": "Field",
367 - "model": "Category",
368 - "field": "name"
369 - },
370 - "directive": "default"
371 - }
372 - },
373 - {
374 - "tag": "CreateArgument",
375 - "location": {
376 - "tag": "Directive",
377 - "path": {
378 - "tag": "Field",
379 - "model": "Category",
380 - "field": "name"
381 - },
382 - "directive": "default"
383 - },
384 - "argument": "",
385 - "value": "\"\""
386 - },
387 - {
388 - "tag": "CreateField",
389 - "model": "Category",
390 - "field": "rooms",
391 - "type": "Room",
392 - "arity": "List"
393 - },
394 - {
395 - "tag": "CreateDirective",
396 - "location": {
397 - "path": {
398 - "tag": "Field",
399 - "model": "Category",
400 - "field": "rooms"
401 - },
402 - "directive": "relation"
403 - }
404 - },
405 - {
406 - "tag": "CreateArgument",
407 - "location": {
408 - "tag": "Directive",
409 - "path": {
410 - "tag": "Field",
411 - "model": "Category",
412 - "field": "rooms"
413 - },
414 - "directive": "relation"
415 - },
416 - "argument": "references",
417 - "value": "[id]"
418 - },
419 - {
420 - "tag": "CreateModel",
421 - "model": "Message"
422 - },
423 - {
424 - "tag": "CreateField",
425 - "model": "Message",
426 - "field": "id",
427 - "type": "Int",
428 - "arity": "Required"
429 - },
430 - {
431 - "tag": "CreateDirective",
432 - "location": {
433 - "path": {
434 - "tag": "Field",
435 - "model": "Message",
436 - "field": "id"
437 - },
438 - "directive": "default"
439 - }
440 - },
441 - {
442 - "tag": "CreateArgument",
443 - "location": {
444 - "tag": "Directive",
445 - "path": {
446 - "tag": "Field",
447 - "model": "Message",
448 - "field": "id"
449 - },
450 - "directive": "default"
451 - },
452 - "argument": "",
453 - "value": "autoincrement()"
454 - },
455 - {
456 - "tag": "CreateDirective",
457 - "location": {
458 - "path": {
459 - "tag": "Field",
460 - "model": "Message",
461 - "field": "id"
462 - },
463 - "directive": "id"
464 - }
465 - },
466 - {
467 - "tag": "CreateField",
468 - "model": "Message",
469 - "field": "text",
470 - "type": "String",
471 - "arity": "Optional"
472 - },
473 - {
474 - "tag": "CreateDirective",
475 - "location": {
476 - "path": {
477 - "tag": "Field",
478 - "model": "Message",
479 - "field": "text"
480 - },
481 - "directive": "default"
482 - }
483 - },
484 - {
485 - "tag": "CreateArgument",
486 - "location": {
487 - "tag": "Directive",
488 - "path": {
489 - "tag": "Field",
490 - "model": "Message",
491 - "field": "text"
492 - },
493 - "directive": "default"
494 - },
495 - "argument": "",
496 - "value": "\"\""
497 - },
498 - {
499 - "tag": "CreateField",
500 - "model": "Message",
501 - "field": "sender",
502 - "type": "User",
503 - "arity": "Required"
504 - },
505 - {
506 - "tag": "CreateDirective",
507 - "location": {
508 - "path": {
509 - "tag": "Field",
510 - "model": "Message",
511 - "field": "sender"
512 - },
513 - "directive": "relation"
514 - }
515 - },
516 - {
517 - "tag": "CreateArgument",
518 - "location": {
519 - "tag": "Directive",
520 - "path": {
521 - "tag": "Field",
522 - "model": "Message",
523 - "field": "sender"
524 - },
525 - "directive": "relation"
526 - },
527 - "argument": "fields",
528 - "value": "[senderId]"
529 - },
530 - {
531 - "tag": "CreateArgument",
532 - "location": {
533 - "tag": "Directive",
534 - "path": {
535 - "tag": "Field",
536 - "model": "Message",
537 - "field": "sender"
538 - },
539 - "directive": "relation"
540 - },
541 - "argument": "references",
542 - "value": "[id]"
543 - },
544 - {
545 - "tag": "CreateField",
546 - "model": "Message",
547 - "field": "senderId",
548 - "type": "Int",
549 - "arity": "Required"
550 - }
551 - ]
552 -}
...\ No newline at end of file ...\ No newline at end of file
1 -# Migration `20200424124259-init`
2 -
3 -This migration has been generated by sdy at 4/24/2020, 12:42:59 PM.
4 -You can check out the [state of the schema](./schema.prisma) after the migration.
5 -
6 -## Database Steps
7 -
8 -```sql
9 -CREATE TABLE `chat_schema`.`User` (
10 - `avatarUrl` varchar(191) ,
11 - `bio` varchar(191) ,
12 - `createdAt` datetime DEFAULT CURRENT_TIMESTAMP ,
13 - `email` varchar(191) NOT NULL ,
14 - `emailSecret` varchar(191) ,
15 - `id` int NOT NULL AUTO_INCREMENT,
16 - `name` varchar(191) NOT NULL ,
17 - `password` varchar(191) NOT NULL ,
18 - `phoneNumber` int ,
19 - `phoneSecret` varchar(191) ,
20 - PRIMARY KEY (`id`)
21 -)
22 -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
23 -
24 -CREATE TABLE `chat_schema`.`Room` (
25 - `id` int NOT NULL AUTO_INCREMENT,
26 - PRIMARY KEY (`id`)
27 -)
28 -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
29 -
30 -CREATE TABLE `chat_schema`.`Category` (
31 - `id` int NOT NULL AUTO_INCREMENT,
32 - `name` varchar(191) DEFAULT '' ,
33 - PRIMARY KEY (`id`)
34 -)
35 -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
36 -
37 -CREATE TABLE `chat_schema`.`Message` (
38 - `id` int NOT NULL AUTO_INCREMENT,
39 - `senderId` int NOT NULL ,
40 - `text` varchar(191) DEFAULT '' ,
41 - PRIMARY KEY (`id`)
42 -)
43 -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
44 -
45 -CREATE TABLE `chat_schema`.`_RoomToUser` (
46 - `A` int NOT NULL ,
47 - `B` int NOT NULL
48 -)
49 -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
50 -
51 -CREATE TABLE `chat_schema`.`_CategoryToRoom` (
52 - `A` int NOT NULL ,
53 - `B` int NOT NULL
54 -)
55 -DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
56 -
57 -CREATE UNIQUE INDEX `User.email` ON `chat_schema`.`User`(`email`)
58 -
59 -CREATE UNIQUE INDEX `_RoomToUser_AB_unique` ON `chat_schema`.`_RoomToUser`(`A`,`B`)
60 -
61 -CREATE INDEX `_RoomToUser_B_index` ON `chat_schema`.`_RoomToUser`(`B`)
62 -
63 -CREATE UNIQUE INDEX `_CategoryToRoom_AB_unique` ON `chat_schema`.`_CategoryToRoom`(`A`,`B`)
64 -
65 -CREATE INDEX `_CategoryToRoom_B_index` ON `chat_schema`.`_CategoryToRoom`(`B`)
66 -
67 -ALTER TABLE `chat_schema`.`Message` ADD FOREIGN KEY (`senderId`) REFERENCES `chat_schema`.`User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
68 -
69 -ALTER TABLE `chat_schema`.`_RoomToUser` ADD FOREIGN KEY (`A`) REFERENCES `chat_schema`.`Room`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
70 -
71 -ALTER TABLE `chat_schema`.`_RoomToUser` ADD FOREIGN KEY (`B`) REFERENCES `chat_schema`.`User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
72 -
73 -ALTER TABLE `chat_schema`.`_CategoryToRoom` ADD FOREIGN KEY (`A`) REFERENCES `chat_schema`.`Category`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
74 -
75 -ALTER TABLE `chat_schema`.`_CategoryToRoom` ADD FOREIGN KEY (`B`) REFERENCES `chat_schema`.`Room`(`id`) ON DELETE CASCADE ON UPDATE CASCADE
76 -
77 -DROP TABLE `chat_schema`.`_categorytoroom`;
78 -
79 -DROP TABLE `chat_schema`.`_migration`;
80 -
81 -DROP TABLE `chat_schema`.`_roomtouser`;
82 -
83 -DROP TABLE `chat_schema`.`category`;
84 -
85 -DROP TABLE `chat_schema`.`message`;
86 -
87 -DROP TABLE `chat_schema`.`room`;
88 -
89 -DROP TABLE `chat_schema`.`test`;
90 -
91 -DROP TABLE `chat_schema`.`user`;
92 -```
93 -
94 -## Changes
95 -
96 -```diff
97 -diff --git schema.prisma schema.prisma
98 -migration 20200419160117-init..20200424124259-init
99 ---- datamodel.dml
100 -+++ datamodel.dml
101 -@@ -4,18 +4,20 @@
102 - }
103 - datasource db {
104 - provider = "mysql"
105 -- url = "***"
106 -+ url = env("DATABASE_URL")
107 - }
108 - model User {
109 - id Int @default(autoincrement()) @id
110 - avatarUrl String?
111 - email String @unique
112 - password String
113 - name String
114 -- loginSecret String?
115 -+ phoneNumber Int?
116 -+ emailSecret String?
117 -+ phoneSecret String?
118 - bio String?
119 - rooms Room[] @relation(references: [id])
120 - messages Message[]
121 - createdAt DateTime? @default(now())
122 -```
123 -
124 -
1 -generator client {
2 - provider = "prisma-client-js"
3 - binaryTargets = ["native", "debian-openssl-1.1.x"]
4 -}
5 -
6 -datasource db {
7 - provider = "mysql"
8 - url = "***"
9 -}
10 -
11 -model User {
12 - id Int @default(autoincrement()) @id
13 - avatarUrl String?
14 - email String @unique
15 - password String
16 - name String
17 - phoneNumber Int?
18 - emailSecret String?
19 - phoneSecret String?
20 - bio String?
21 - rooms Room[] @relation(references: [id])
22 - messages Message[]
23 - createdAt DateTime? @default(now())
24 -}
25 -
26 -model Room {
27 - id Int @default(autoincrement()) @id
28 - participants User[] @relation(references: [id])
29 - categories Category[] @relation(references: [id])
30 -}
31 -
32 -model Category {
33 - id Int @default(autoincrement()) @id
34 - name String? @default("")
35 - rooms Room[] @relation(references: [id])
36 -}
37 -
38 -model Message {
39 - id Int @default(autoincrement()) @id
40 - text String? @default("")
41 - sender User @relation(fields: [senderId], references: [id])
42 - senderId Int
43 -}
...\ No newline at end of file ...\ No newline at end of file
1 -{
2 - "version": "0.3.14-fixed",
3 - "steps": [
4 - {
5 - "tag": "CreateField",
6 - "model": "User",
7 - "field": "phoneNumber",
8 - "type": "Int",
9 - "arity": "Optional"
10 - },
11 - {
12 - "tag": "CreateField",
13 - "model": "User",
14 - "field": "emailSecret",
15 - "type": "String",
16 - "arity": "Optional"
17 - },
18 - {
19 - "tag": "CreateField",
20 - "model": "User",
21 - "field": "phoneSecret",
22 - "type": "String",
23 - "arity": "Optional"
24 - },
25 - {
26 - "tag": "DeleteField",
27 - "model": "User",
28 - "field": "loginSecret"
29 - }
30 - ]
31 -}
...\ No newline at end of file ...\ No newline at end of file
1 -# IF THERE'S A GIT CONFLICT IN THIS FILE, DON'T SOLVE IT MANUALLY!
2 -# INSTEAD EXECUTE `prisma migrate fix`
3 -# Prisma Migrate lockfile v1
4 -# Read more about conflict resolution here: TODO
5 -
6 -20200419160117-init
7 -20200424124259-init
...\ No newline at end of file ...\ No newline at end of file
1 -generator client {
2 - provider = "prisma-client-js"
3 - binaryTargets = ["native", "debian-openssl-1.1.x"]
4 -}
5 -
6 -datasource db {
7 - provider = "mysql"
8 - url = env("DATABASE_URL")
9 -}
10 -
11 -model User {
12 - id Int @default(autoincrement()) @id
13 - avatarUrl String?
14 - email String @unique
15 - password String
16 - name String
17 - phoneNumber String? @unique
18 - emailSecret String?
19 - phoneSecret String?
20 - bio String?
21 - rooms Room[] @relation(references: [id])
22 - messages Message[]
23 - createdAt DateTime? @default(now())
24 -}
25 -
26 -model Room {
27 - id Int @default(autoincrement()) @id
28 - participants User[] @relation(references: [id])
29 - categories Category[] @relation(references: [id])
30 -}
31 -
32 -model Category {
33 - id Int @default(autoincrement()) @id
34 - name String? @default("")
35 - rooms Room[] @relation(references: [id])
36 -}
37 -
38 -model Message {
39 - id Int @default(autoincrement()) @id
40 - text String? @default("")
41 - sender User @relation(fields: [senderId], references: [id])
42 - senderId Int
43 -}
...\ No newline at end of file ...\ No newline at end of file
1 -type Mutation {
2 - addCategory(name: String): Category!
3 -}
1 -import { prisma } from "../../../utils";
2 -
3 -export default {
4 - Mutation: {
5 - addCategory: async (_, args) => {
6 - const { name } = args;
7 - },
8 - },
9 -};
1 -type Mutation {
2 - deleteCategory(id: String!): Boolean!
3 -}
1 -import { prisma } from "../../../utils";
2 -
3 -export default {
4 - Mutation: {
5 - deleteCategory: async (_, args) => {
6 - const { id } = args;
7 - },
8 - },
9 -};
1 -type Mutation {
2 - editCategory(id: String!): Category!
3 -}
1 -import { prisma } from "../../../utils";
2 -
3 -export default {
4 - Mutation: {
5 - editCategory: async (_, args) => {
6 - const { id } = args;
7 - },
8 - },
9 -};
1 -type Subscription {
2 - sendMessage(message: String!): Message!
3 -}
1 -import { prisma } from "../../../utils";
2 -
3 -export default {
4 - Subscription: {
5 - sendMessage: async (_, args) => {
6 - const { message } = args;
7 - },
8 - },
9 -};
1 -type Mutation {
2 - exitRoom(roomId: String!): Boolean!
3 -}
1 -import { prisma } from "../../../utils";
2 -
3 -export default {
4 - Mutation: {
5 - exitRoom: async (_, args) => {
6 - const { roomId } = args;
7 - },
8 - },
9 -};
1 -type Query {
2 - seeRoom(id: String!): Room!
3 -}
1 -import { prisma } from "../../../utils";
2 -
3 -export default {
4 - Query: {
5 - seeRoom: async (_, args) => {
6 - const { id } = args;
7 - },
8 - },
9 -};
1 -type Query {
2 - TestQL(text: String!): String!
3 -}
1 -export default {
2 - Query: {
3 - TestQL: async (_, args) => {
4 - const { text } = args;
5 - return text;
6 - },
7 - },
8 -};
1 -type Mutation {
2 - createAccount(
3 - name: String!
4 - email: String!
5 - password: String!
6 - bio: String
7 - avatarUrl: String
8 - ): AuthPayload!
9 -}
1 -import { prisma, generateToken } from "../../../utils";
2 -import bcrypt from "bcryptjs";
3 -
4 -export default {
5 - Mutation: {
6 - createAccount: async (_, args) => {
7 - const { name, password, email, bio = "", avatarUrl = "" } = args;
8 - const encryptPw = await bcrypt.hash(password, 10);
9 - const user = await prisma.user.create({
10 - data: {
11 - name,
12 - email,
13 - bio,
14 - avatarUrl,
15 - password: encryptPw,
16 - },
17 - });
18 - const token = generateToken(user.id);
19 - return { token, user };
20 - },
21 - },
22 -};
1 -type Mutation {
2 - editProfile(
3 - name: String
4 - email: String
5 - bio: String
6 - avatarUrl: String
7 - ): User!
8 -}
1 -import { prisma } from "../../../utils";
2 -
3 -export default {
4 - Mutation: {
5 - editProfile: async (_, args, { request }) => {},
6 - },
7 -};
1 -type Query {
2 - findEmail(phoneNumber: String!): User!
3 -}
1 -import { prisma, generateSecret } from "../../../utils";
2 -import twilio from "twilio";
3 -
4 -export default {
5 - Query: {
6 - findEmail: async (_, args) => {
7 - const { phoneNumber } = args;
8 - const accountSid = process.env.TWILIO_SID;
9 - const authToken = process.env.TWILIO_AUTH_TOKEN;
10 - const client = new twilio(accountSid, authToken);
11 - const randomWords = generateSecret();
12 - client.messages
13 - .create({
14 - body: `Please enter this word : ${randomWords}`,
15 - to: `${phoneNumber}`,
16 - from: "KhuChat",
17 - })
18 - .then((message) => console.log(message.sid));
19 -
20 - const user = await prisma.user.update({
21 - where: {
22 - phoneNumber,
23 - },
24 - data: {
25 - phoneSecret: randomWords,
26 - },
27 - });
28 - return user;
29 - },
30 - },
31 -};
1 -type Mutation {
2 - login(email: String!, password: String!): AuthPayload
3 -}
1 -import { prisma } from "../../../utils";
2 -import bcrypt from "bcryptjs";
3 -import jwt from "jsonwebtoken";
4 -
5 -export default {
6 - Mutation: {
7 - login: async (_, args) => {
8 - const { email, password } = args;
9 - const user = await prisma.user.findOne({
10 - where: {
11 - email,
12 - },
13 - });
14 - let vaild;
15 - if (user) {
16 - vaild = await bcrypt.compare(password, user.password);
17 - }
18 - if (!user || !vaild) {
19 - throw new Error("Not vaild email or password");
20 - }
21 - const token = jwt.sign({ id: user.id }, process.env.JWT_SECRET);
22 - return { token, user };
23 - },
24 - },
25 -};
1 -type Mutation {
2 - requestEmailSecret(email: String!): Boolean!
3 -}
1 -import { prisma, generateSecret, sendSecretMail } from "../../../utils";
2 -import bcrypt from "bcryptjs";
3 -
4 -export default {
5 - Mutation: {
6 - requestEmailSecret: async (_, args) => {
7 - const { email } = args;
8 - const emailSecret = generateSecret();
9 - const encryptSecret = await bcrypt.hash(emailSecret, 10);
10 - try {
11 - await sendSecretMail(email, emailSecret);
12 - await prisma.user.update({
13 - where: {
14 - email,
15 - },
16 - data: {
17 - emailSecret: encryptSecret,
18 - },
19 - });
20 - return true;
21 - } catch (error) {
22 - console.log(error);
23 - return false;
24 - }
25 - },
26 - },
27 -};
1 -type Mutation {
2 - resetPassword(
3 - secret: String!
4 - email: String!
5 - passwordOne: String!
6 - passwordTwo: String!
7 - ): User!
8 -}
1 -import { prisma } from "../../../utils";
2 -import bcrypt from "bcryptjs";
3 -
4 -export default {
5 - Mutation: {
6 - resetPassword: async (_, args) => {
7 - const { secret, email, passwordOne, passwordTwo } = args;
8 - const user = await prisma.user.findOne({
9 - where: {
10 - email,
11 - },
12 - });
13 - const encryptSecret = await bcrypt.hash(user.emailSecret, 10);
14 - if (encryptSecret !== secret) {
15 - throw new Error(
16 - "not vaild secret value!, input another value or resend email"
17 - );
18 - } else {
19 - if (passwordOne !== passwordTwo) {
20 - // For check new password is right, the two things must be same.
21 - throw new Error("the two password don't match each other, try again");
22 - } else {
23 - await prisma.user.update({
24 - where: {
25 - email,
26 - },
27 - data: {
28 - emailSecret: "",
29 - password: passwordOne,
30 - },
31 - });
32 - }
33 - return user;
34 - }
35 - },
36 - },
37 -};
1 -type Query {
2 - searchUser(name: String!): [User!]!
3 -}
1 -import { prisma } from "../../../utils";
2 -
3 -export default {
4 - Query: {
5 - searchUser: async (_, args) => {
6 - const { name } = args;
7 - const user = await prisma.user.findOne({});
8 - },
9 - },
10 -};
1 -type Query {
2 - seeProfile(id: String!): User!
3 -}
1 -import { prisma } from "../../../utils";
2 -
3 -export default {
4 - Query: {
5 - seeProfile: async (_, args) => {
6 - const { id } = args;
7 - },
8 - },
9 -};
1 -type User {
2 - id: ID!
3 - avatarUrl: String
4 - name: String
5 - email: String!
6 - password: String
7 - phoneNumber: String
8 - emailSecret: String
9 - phoneSecret: String
10 - bio: String
11 - rooms: [Room]
12 - createdAt: String
13 - messages: [Message]
14 -}
15 -
16 -type Room {
17 - id: ID!
18 - participants: [User]
19 - categories: [Category]
20 -}
21 -
22 -type Category {
23 - id: ID!
24 - name: String
25 - rooms: [Room]
26 -}
27 -
28 -type Message {
29 - id: ID!
30 - text: String
31 - sender: User
32 -}
33 -
34 -type AuthPayload {
35 - token: String
36 - user: User
37 -}
1 -import path from "path";
2 -import { makeExecutableSchema } from "graphql-tools";
3 -import { fileLoader, mergeResolvers, mergeTypes } from "merge-graphql-schemas";
4 -
5 -const allTypes = fileLoader(path.join(__dirname, "api/**/*.graphql"));
6 -const allResolvers = fileLoader(path.join(__dirname, "api/**/*.js"));
7 -
8 -const schema = makeExecutableSchema({
9 - typeDefs: mergeTypes(allTypes),
10 - resolvers: mergeResolvers(allResolvers),
11 -});
12 -
13 -export default schema;
1 -import dotenv from "dotenv";
2 -dotenv.config();
3 -import { GraphQLServer } from "graphql-yoga";
4 -import morgan from "morgan";
5 -import schema from "./schema";
6 -import { prisma } from "./utils";
7 -
8 -const PORT = process.env.PORT;
9 -
10 -const server = new GraphQLServer({
11 - schema,
12 - context: (request) => {
13 - return {
14 - ...request,
15 - prisma,
16 - };
17 - },
18 -});
19 -
20 -server.express.use(morgan("dev"));
21 -
22 -server.start(() => console.log(`server is running : http://localhost:${PORT}`));
1 -import { PrismaClient } from "@prisma/client";
2 -import { nouns, adjectives } from "./words";
3 -import jwt from "jsonwebtoken";
4 -import nodemailer from "nodemailer";
5 -import sgTransport from "nodemailer-sendgrid-transport";
6 -
7 -export const prisma = new PrismaClient();
8 -
9 -export const getUserId = (context) => {
10 - const Authorization = context.request.get("Authorization");
11 - if (Authorization) {
12 - const token = Authorization.replace("Bearer ", "");
13 - const { userId } = jwt.verify(token, process.env.JWT_SECRET);
14 - return userId;
15 - }
16 - throw new Error("There is no vaild user");
17 -};
18 -
19 -export const generateSecret = () => {
20 - const randomNumber = Math.floor(Math.random() * adjectives.length);
21 - return `${adjectives[randomNumber]} ${nouns[randomNumber]}`;
22 -};
23 -
24 -const sendEmail = (email) => {
25 - const options = {
26 - auth: {
27 - api_user: process.env.SENDGRID_USERNAME,
28 - api_password: process.env.SENDGRID_PASSWORD,
29 - },
30 - };
31 - const client = nodemailer.createTransport(sgTransport(options));
32 - return client.sendMail(email);
33 -};
34 -
35 -export const sendSecretMail = (address, emailSecret, value) => {
36 - const email = {
37 - from: "vel1024@khu.ac.kr",
38 - to: address,
39 - subject: `Authentication key for forgotten ${value}`,
40 - html: `Hello, This is khuchat, authentication key is <b>${emailSecret}</b>, copy and paste it, Thanks.`,
41 - };
42 - return sendEmail(email);
43 -};
44 -
45 -export const generateToken = (id) => jwt.sign({ id }, process.env.JWT_SECRET);
1 -export const adjectives = [
2 - "languid",
3 - "expensive",
4 - "careful",
5 - "feeble",
6 - "inconclusive",
7 - "damp",
8 - "obscene",
9 - "optimal",
10 - "learned",
11 - "measly",
12 - "silent",
13 - "absurd",
14 - "hypnotic",
15 - "smart",
16 - "horrible",
17 - "deep",
18 - "grotesque",
19 - "rigid",
20 - "sweltering",
21 - "quirky",
22 - "pointless",
23 - "spiffy",
24 - "cheap",
25 - "psychotic",
26 - "possible",
27 - "burly",
28 - "huge",
29 - "tranquil",
30 - "impolite",
31 - "clear",
32 - "groovy",
33 - "royal",
34 - "envious",
35 - "voracious",
36 - "substantial",
37 - "gusty",
38 - "absorbing",
39 - "wealthy",
40 - "fancy",
41 - "ultra",
42 - "giant",
43 - "harmonious",
44 - "nauseating",
45 - "literate",
46 - "friendly",
47 - "panicky",
48 - "utopian",
49 - "happy",
50 - "gaudy",
51 - "direful",
52 - "descriptive",
53 - "better",
54 - "ambiguous",
55 - "momentous",
56 - "obsequious",
57 - "secret",
58 - "clever",
59 - "far",
60 - "temporary",
61 - "unable",
62 - "normal",
63 - "imported",
64 - "three",
65 - "five",
66 - "petite",
67 - "natural",
68 - "early",
69 - "profuse",
70 - "flimsy",
71 - "bustling",
72 - "scrawny",
73 - "present",
74 - "gruesome",
75 - "cut",
76 - "fantastic",
77 - "grandiose",
78 - "second-hand",
79 - "noiseless",
80 - "craven",
81 - "grubby",
82 - "vengeful",
83 - "tiny",
84 - "wiry",
85 - "auspicious",
86 - "dull",
87 - "quiet",
88 - "terrific",
89 - "furry",
90 - "crooked",
91 - "wholesale",
92 - "panoramic",
93 - "forgetful",
94 - "gamy",
95 - "victorious",
96 - "special",
97 - "neighborly",
98 - "useful",
99 - "chubby",
100 - "probable",
101 - "abnormal",
102 -];
103 -
104 -export const nouns = [
105 - "rat",
106 - "start",
107 - "icicle",
108 - "hobbies",
109 - "books",
110 - "dress",
111 - "board",
112 - "scale",
113 - "cattle",
114 - "quince",
115 - "cabbage",
116 - "chance",
117 - "attack",
118 - "linen",
119 - "swing",
120 - "skin",
121 - "channel",
122 - "discovery",
123 - "window",
124 - "watch",
125 - "collar",
126 - "creature",
127 - "fall",
128 - "rod",
129 - "skirt",
130 - "trousers",
131 - "guitar",
132 - "pest",
133 - "middle",
134 - "holiday",
135 - "invention",
136 - "pump",
137 - "morning",
138 - "reaction",
139 - "wash",
140 - "cloth",
141 - "hydrant",
142 - "committee",
143 - "meeting",
144 - "star",
145 - "pigs",
146 - "bikes",
147 - "plant",
148 - "stomach",
149 - "transport",
150 - "hole",
151 - "library",
152 - "tank",
153 - "hands",
154 - "offer",
155 - "slip",
156 - "chicken",
157 - "sand",
158 - "wilderness",
159 - "sweater",
160 - "frogs",
161 - "basket",
162 - "flesh",
163 - "cook",
164 - "girl",
165 - "queen",
166 - "nut",
167 - "force",
168 - "laborer",
169 - "basin",
170 - "lumber",
171 - "mine",
172 - "mountain",
173 - "insect",
174 - "store",
175 - "experience",
176 - "credit",
177 - "meat",
178 - "taste",
179 - "iron",
180 - "regret",
181 - "sleep",
182 - "notebook",
183 - "powder",
184 - "fuel",
185 - "lace",
186 - "volleyball",
187 - "look",
188 - "ticket",
189 - "place",
190 - "digestion",
191 - "point",
192 - "crook",
193 - "train",
194 - "judge",
195 - "time",
196 - "truck",
197 - "record",
198 - "sheet",
199 - "join",
200 - "achiever",
201 - "spring",
202 - "death",
203 - "potato",
204 - "liquid",
205 -];
1 -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 -# yarn lockfile v1
3 -
4 -
5 -"@types/aws-lambda@8.10.13":
6 - version "8.10.13"
7 - resolved "https://registry.yarnpkg.com/@types/aws-lambda/-/aws-lambda-8.10.13.tgz#92cc06b1cc88b5d0b327d2671dcf3daea96923a5"
8 - integrity sha512-a1sC60Bqll4N2RYnd4+XuynrVd8LO+uZrgwCVaAER0ldMQ00LRM4iTjU2ulPoQF6P5bHZK5hL/6IF9088VJhUA==
9 -
10 -"@types/body-parser@*":
11 - version "1.19.0"
12 - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f"
13 - integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==
14 - dependencies:
15 - "@types/connect" "*"
16 - "@types/node" "*"
17 -
18 -"@types/connect@*":
19 - version "3.4.33"
20 - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.33.tgz#31610c901eca573b8713c3330abc6e6b9f588546"
21 - integrity sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==
22 - dependencies:
23 - "@types/node" "*"
24 -
25 -"@types/cors@^2.8.4":
26 - version "2.8.6"
27 - resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.6.tgz#cfaab33c49c15b1ded32f235111ce9123009bd02"
28 - integrity sha512-invOmosX0DqbpA+cE2yoHGUlF/blyf7nB0OGYBBiH27crcVm5NmFaZkLP4Ta1hGaesckCi5lVLlydNJCxkTOSg==
29 - dependencies:
30 - "@types/express" "*"
31 -
32 -"@types/express-serve-static-core@*":
33 - version "4.17.3"
34 - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.3.tgz#dc8068ee3e354d7fba69feb86b3dfeee49b10f09"
35 - integrity sha512-sHEsvEzjqN+zLbqP+8OXTipc10yH1QLR+hnr5uw29gi9AhCAAAdri8ClNV7iMdrJrIzXIQtlkPvq8tJGhj3QJQ==
36 - dependencies:
37 - "@types/node" "*"
38 - "@types/range-parser" "*"
39 -
40 -"@types/express@*", "@types/express@^4.11.1":
41 - version "4.17.4"
42 - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.4.tgz#e78bf09f3f530889575f4da8a94cd45384520aac"
43 - integrity sha512-DO1L53rGqIDUEvOjJKmbMEQ5Z+BM2cIEPy/eV3En+s166Gz+FeuzRerxcab757u/U4v4XF4RYrZPmqKa+aY/2w==
44 - dependencies:
45 - "@types/body-parser" "*"
46 - "@types/express-serve-static-core" "*"
47 - "@types/qs" "*"
48 - "@types/serve-static" "*"
49 -
50 -"@types/graphql-deduplicator@^2.0.0":
51 - version "2.0.0"
52 - resolved "https://registry.yarnpkg.com/@types/graphql-deduplicator/-/graphql-deduplicator-2.0.0.tgz#9e577b8f3feb3d067b0ca756f4a1fb356d533922"
53 - integrity sha512-swUwj5hWF1yFzbUXStLJrUa0ksAt11B8+SwhsAjQAX0LYJ1LLioAyuDcJ9bovWbsNzIXJYXLvljSPQw8nR728w==
54 -
55 -"@types/graphql@^14.0.0":
56 - version "14.5.0"
57 - resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-14.5.0.tgz#a545fb3bc8013a3547cf2f07f5e13a33642b75d6"
58 - integrity sha512-MOkzsEp1Jk5bXuAsHsUi6BVv0zCO+7/2PTiZMXWDSsMXvNU6w/PLMQT2vHn8hy2i0JqojPz1Sz6rsFjHtsU0lA==
59 - dependencies:
60 - graphql "*"
61 -
62 -"@types/mime@*":
63 - version "2.0.1"
64 - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d"
65 - integrity sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw==
66 -
67 -"@types/node@*":
68 - version "13.11.0"
69 - resolved "https://registry.yarnpkg.com/@types/node/-/node-13.11.0.tgz#390ea202539c61c8fa6ba4428b57e05bc36dc47b"
70 - integrity sha512-uM4mnmsIIPK/yeO+42F2RQhGUIs39K2RFmugcJANppXe6J1nvH87PvzPZYpza7Xhhs8Yn9yIAVdLZ84z61+0xQ==
71 -
72 -"@types/qs@*":
73 - version "6.9.1"
74 - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.1.tgz#937fab3194766256ee09fcd40b781740758617e7"
75 - integrity sha512-lhbQXx9HKZAPgBkISrBcmAcMpZsmpe/Cd/hY7LGZS5OfkySUBItnPZHgQPssWYUET8elF+yCFBbP1Q0RZPTdaw==
76 -
77 -"@types/range-parser@*":
78 - version "1.2.3"
79 - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c"
80 - integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==
81 -
82 -"@types/serve-static@*":
83 - version "1.13.3"
84 - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.3.tgz#eb7e1c41c4468272557e897e9171ded5e2ded9d1"
85 - integrity sha512-oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g==
86 - dependencies:
87 - "@types/express-serve-static-core" "*"
88 - "@types/mime" "*"
89 -
90 -"@types/zen-observable@^0.5.3":
91 - version "0.5.4"
92 - resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.5.4.tgz#b863a4191e525206819e008097ebf0fb2e3a1cdc"
93 - integrity sha512-sW6xN96wUak4tgc89d0tbTg7QDGYhGv5hvQIS6h4mRCd8h2btiZ80loPU8cyLwsBbA4ZeQt0FjvUhJ4rNhdsGg==
94 -
95 -"@wry/equality@^0.1.2":
96 - version "0.1.11"
97 - resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.1.11.tgz#35cb156e4a96695aa81a9ecc4d03787bc17f1790"
98 - integrity sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==
99 - dependencies:
100 - tslib "^1.9.3"
101 -
102 -accepts@~1.3.7:
103 - version "1.3.7"
104 - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
105 - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
106 - dependencies:
107 - mime-types "~2.1.24"
108 - negotiator "0.6.2"
109 -
110 -apollo-cache-control@^0.1.0:
111 - version "0.1.1"
112 - resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.1.1.tgz#173d14ceb3eb9e7cb53de7eb8b61bee6159d4171"
113 - integrity sha512-XJQs167e9u+e5ybSi51nGYr70NPBbswdvTEHtbtXbwkZ+n9t0SLPvUcoqceayOSwjK1XYOdU/EKPawNdb3rLQA==
114 - dependencies:
115 - graphql-extensions "^0.0.x"
116 -
117 -apollo-link@^1.2.3:
118 - version "1.2.13"
119 - resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.13.tgz#dff00fbf19dfcd90fddbc14b6a3f9a771acac6c4"
120 - integrity sha512-+iBMcYeevMm1JpYgwDEIDt/y0BB7VWyvlm/7x+TIPNLHCTCMgcEgDuW5kH86iQZWo0I7mNwQiTOz+/3ShPFmBw==
121 - dependencies:
122 - apollo-utilities "^1.3.0"
123 - ts-invariant "^0.4.0"
124 - tslib "^1.9.3"
125 - zen-observable-ts "^0.8.20"
126 -
127 -apollo-server-core@^1.3.6, apollo-server-core@^1.4.0:
128 - version "1.4.0"
129 - resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-1.4.0.tgz#4faff7f110bfdd6c3f47008302ae24140f94c592"
130 - integrity sha512-BP1Vh39krgEjkQxbjTdBURUjLHbFq1zeOChDJgaRsMxGtlhzuLWwwC6lLdPatN8jEPbeHq8Tndp9QZ3iQZOKKA==
131 - dependencies:
132 - apollo-cache-control "^0.1.0"
133 - apollo-tracing "^0.1.0"
134 - graphql-extensions "^0.0.x"
135 -
136 -apollo-server-express@^1.3.6:
137 - version "1.4.0"
138 - resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-1.4.0.tgz#7d7c58d6d6f9892b83fe575669093bb66738b125"
139 - integrity sha512-zkH00nxhLnJfO0HgnNPBTfZw8qI5ILaPZ5TecMCI9+Y9Ssr2b0bFr9pBRsXy9eudPhI+/O4yqegSUsnLdF/CPw==
140 - dependencies:
141 - apollo-server-core "^1.4.0"
142 - apollo-server-module-graphiql "^1.4.0"
143 -
144 -apollo-server-lambda@1.3.6:
145 - version "1.3.6"
146 - resolved "https://registry.yarnpkg.com/apollo-server-lambda/-/apollo-server-lambda-1.3.6.tgz#bdaac37f143c6798e40b8ae75580ba673cea260e"
147 - integrity sha1-varDfxQ8Z5jkC4rnVYC6ZzzqJg4=
148 - dependencies:
149 - apollo-server-core "^1.3.6"
150 - apollo-server-module-graphiql "^1.3.4"
151 -
152 -apollo-server-module-graphiql@^1.3.4, apollo-server-module-graphiql@^1.4.0:
153 - version "1.4.0"
154 - resolved "https://registry.yarnpkg.com/apollo-server-module-graphiql/-/apollo-server-module-graphiql-1.4.0.tgz#c559efa285578820709f1769bb85d3b3eed3d8ec"
155 - integrity sha512-GmkOcb5he2x5gat+TuiTvabnBf1m4jzdecal3XbXBh/Jg+kx4hcvO3TTDFQ9CuTprtzdcVyA11iqG7iOMOt7vA==
156 -
157 -apollo-tracing@^0.1.0:
158 - version "0.1.4"
159 - resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.1.4.tgz#5b8ae1b01526b160ee6e552a7f131923a9aedcc7"
160 - integrity sha512-Uv+1nh5AsNmC3m130i2u3IqbS+nrxyVV3KYimH5QKsdPjxxIQB3JAT+jJmpeDxBel8gDVstNmCh82QSLxLSIdQ==
161 - dependencies:
162 - graphql-extensions "~0.0.9"
163 -
164 -apollo-upload-server@^7.0.0:
165 - version "7.1.0"
166 - resolved "https://registry.yarnpkg.com/apollo-upload-server/-/apollo-upload-server-7.1.0.tgz#21e07b52252b3749b913468599813e13cfca805f"
167 - integrity sha512-cD9ReCeyurYwZyEDqJYb5TOc9dt8yhPzS+MtrY3iJdqw+pqiiyPngAvVXHjN+Ca7Lajvom4/AT/PBrYVDMM3Kw==
168 - dependencies:
169 - busboy "^0.2.14"
170 - fs-capacitor "^1.0.0"
171 - http-errors "^1.7.0"
172 - object-path "^0.11.4"
173 -
174 -apollo-utilities@^1.0.1, apollo-utilities@^1.3.0:
175 - version "1.3.3"
176 - resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.3.3.tgz#f1854715a7be80cd810bc3ac95df085815c0787c"
177 - integrity sha512-F14aX2R/fKNYMvhuP2t9GD9fggID7zp5I96MF5QeKYWDWTrkRdHRp4+SVfXUVN+cXOaB/IebfvRtzPf25CM0zw==
178 - dependencies:
179 - "@wry/equality" "^0.1.2"
180 - fast-json-stable-stringify "^2.0.0"
181 - ts-invariant "^0.4.0"
182 - tslib "^1.10.0"
183 -
184 -array-flatten@1.1.1:
185 - version "1.1.1"
186 - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
187 - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
188 -
189 -async-limiter@~1.0.0:
190 - version "1.0.1"
191 - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
192 - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
193 -
194 -backo2@^1.0.2:
195 - version "1.0.2"
196 - resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
197 - integrity sha1-MasayLEpNjRj41s+u2n038+6eUc=
198 -
199 -body-parser-graphql@1.1.0:
200 - version "1.1.0"
201 - resolved "https://registry.yarnpkg.com/body-parser-graphql/-/body-parser-graphql-1.1.0.tgz#80a80353c7cb623562fd375750dfe018d75f0f7c"
202 - integrity sha512-bOBF4n1AnUjcY1SzLeibeIx4XOuYqEkjn/Lm4yKhnN6KedoXMv4hVqgcKHGRnxOMJP64tErqrQU+4cihhpbJXg==
203 - dependencies:
204 - body-parser "^1.18.2"
205 -
206 -body-parser@1.19.0, body-parser@^1.18.2:
207 - version "1.19.0"
208 - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
209 - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
210 - dependencies:
211 - bytes "3.1.0"
212 - content-type "~1.0.4"
213 - debug "2.6.9"
214 - depd "~1.1.2"
215 - http-errors "1.7.2"
216 - iconv-lite "0.4.24"
217 - on-finished "~2.3.0"
218 - qs "6.7.0"
219 - raw-body "2.4.0"
220 - type-is "~1.6.17"
221 -
222 -buffer-from@^1.0.0:
223 - version "1.1.1"
224 - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
225 - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
226 -
227 -busboy@^0.2.14:
228 - version "0.2.14"
229 - resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453"
230 - integrity sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=
231 - dependencies:
232 - dicer "0.2.5"
233 - readable-stream "1.1.x"
234 -
235 -busboy@^0.3.1:
236 - version "0.3.1"
237 - resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.3.1.tgz#170899274c5bf38aae27d5c62b71268cd585fd1b"
238 - integrity sha512-y7tTxhGKXcyBxRKAni+awqx8uqaJKrSFSNFSeRG5CsWNdmy2BIK+6VGWEW7TZnIO/533mtMEA4rOevQV815YJw==
239 - dependencies:
240 - dicer "0.3.0"
241 -
242 -bytes@3.1.0:
243 - version "3.1.0"
244 - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
245 - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
246 -
247 -content-disposition@0.5.3:
248 - version "0.5.3"
249 - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
250 - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
251 - dependencies:
252 - safe-buffer "5.1.2"
253 -
254 -content-type@~1.0.4:
255 - version "1.0.4"
256 - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
257 - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
258 -
259 -cookie-signature@1.0.6:
260 - version "1.0.6"
261 - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
262 - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
263 -
264 -cookie@0.4.0:
265 - version "0.4.0"
266 - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
267 - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
268 -
269 -core-js@^2.5.3:
270 - version "2.6.11"
271 - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
272 - integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==
273 -
274 -core-util-is@~1.0.0:
275 - version "1.0.2"
276 - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
277 - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
278 -
279 -cors@^2.8.4:
280 - version "2.8.5"
281 - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
282 - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
283 - dependencies:
284 - object-assign "^4"
285 - vary "^1"
286 -
287 -debug@2.6.9:
288 - version "2.6.9"
289 - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
290 - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
291 - dependencies:
292 - ms "2.0.0"
293 -
294 -depd@~1.1.2:
295 - version "1.1.2"
296 - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
297 - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
298 -
299 -deprecated-decorator@^0.1.6:
300 - version "0.1.6"
301 - resolved "https://registry.yarnpkg.com/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz#00966317b7a12fe92f3cc831f7583af329b86c37"
302 - integrity sha1-AJZjF7ehL+kvPMgx91g68ym4bDc=
303 -
304 -destroy@~1.0.4:
305 - version "1.0.4"
306 - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
307 - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
308 -
309 -dicer@0.2.5:
310 - version "0.2.5"
311 - resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f"
312 - integrity sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=
313 - dependencies:
314 - readable-stream "1.1.x"
315 - streamsearch "0.1.2"
316 -
317 -dicer@0.3.0:
318 - version "0.3.0"
319 - resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.3.0.tgz#eacd98b3bfbf92e8ab5c2fdb71aaac44bb06b872"
320 - integrity sha512-MdceRRWqltEG2dZqO769g27N/3PXfcKl04VhYnBlo2YhH7zPi88VebsjTKclaOyiuMaGU72hTfw3VkUitGcVCA==
321 - dependencies:
322 - streamsearch "0.1.2"
323 -
324 -ee-first@1.1.1:
325 - version "1.1.1"
326 - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
327 - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
328 -
329 -encodeurl@~1.0.2:
330 - version "1.0.2"
331 - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
332 - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
333 -
334 -escape-html@~1.0.3:
335 - version "1.0.3"
336 - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
337 - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
338 -
339 -etag@~1.8.1:
340 - version "1.8.1"
341 - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
342 - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
343 -
344 -eventemitter3@^3.1.0:
345 - version "3.1.2"
346 - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7"
347 - integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==
348 -
349 -express@^4.16.3:
350 - version "4.17.1"
351 - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
352 - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
353 - dependencies:
354 - accepts "~1.3.7"
355 - array-flatten "1.1.1"
356 - body-parser "1.19.0"
357 - content-disposition "0.5.3"
358 - content-type "~1.0.4"
359 - cookie "0.4.0"
360 - cookie-signature "1.0.6"
361 - debug "2.6.9"
362 - depd "~1.1.2"
363 - encodeurl "~1.0.2"
364 - escape-html "~1.0.3"
365 - etag "~1.8.1"
366 - finalhandler "~1.1.2"
367 - fresh "0.5.2"
368 - merge-descriptors "1.0.1"
369 - methods "~1.1.2"
370 - on-finished "~2.3.0"
371 - parseurl "~1.3.3"
372 - path-to-regexp "0.1.7"
373 - proxy-addr "~2.0.5"
374 - qs "6.7.0"
375 - range-parser "~1.2.1"
376 - safe-buffer "5.1.2"
377 - send "0.17.1"
378 - serve-static "1.14.1"
379 - setprototypeof "1.1.1"
380 - statuses "~1.5.0"
381 - type-is "~1.6.18"
382 - utils-merge "1.0.1"
383 - vary "~1.1.2"
384 -
385 -fast-json-stable-stringify@^2.0.0:
386 - version "2.1.0"
387 - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
388 - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
389 -
390 -finalhandler@~1.1.2:
391 - version "1.1.2"
392 - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
393 - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
394 - dependencies:
395 - debug "2.6.9"
396 - encodeurl "~1.0.2"
397 - escape-html "~1.0.3"
398 - on-finished "~2.3.0"
399 - parseurl "~1.3.3"
400 - statuses "~1.5.0"
401 - unpipe "~1.0.0"
402 -
403 -forwarded@~0.1.2:
404 - version "0.1.2"
405 - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
406 - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=
407 -
408 -fresh@0.5.2:
409 - version "0.5.2"
410 - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
411 - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
412 -
413 -fs-capacitor@^1.0.0:
414 - version "1.0.1"
415 - resolved "https://registry.yarnpkg.com/fs-capacitor/-/fs-capacitor-1.0.1.tgz#ff9dbfa14dfaf4472537720f19c3088ed9278df0"
416 - integrity sha512-XdZK0Q78WP29Vm3FGgJRhRhrBm51PagovzWtW2kJ3Q6cYJbGtZqWSGTSPwvtEkyjIirFd7b8Yes/dpOYjt4RRQ==
417 -
418 -fs-capacitor@^2.0.4:
419 - version "2.0.4"
420 - resolved "https://registry.yarnpkg.com/fs-capacitor/-/fs-capacitor-2.0.4.tgz#5a22e72d40ae5078b4fe64fe4d08c0d3fc88ad3c"
421 - integrity sha512-8S4f4WsCryNw2mJJchi46YgB6CR5Ze+4L1h8ewl9tEpL4SJ3ZO+c/bS4BWhB8bK+O3TMqhuZarTitd0S0eh2pA==
422 -
423 -graphql-deduplicator@^2.0.1:
424 - version "2.0.5"
425 - resolved "https://registry.yarnpkg.com/graphql-deduplicator/-/graphql-deduplicator-2.0.5.tgz#fab59d8a4f8127e010122784638cfc8afc815a9c"
426 - integrity sha512-09yOnKej64C32saDU+jsQvIxDeYBTzDWhUkqE84AlCB6LUYuUktfgubZkOS3VdoFiYwsi2EL5Vc0wqemS9M3lg==
427 -
428 -graphql-extensions@^0.0.x, graphql-extensions@~0.0.9:
429 - version "0.0.10"
430 - resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.0.10.tgz#34bdb2546d43f6a5bc89ab23c295ec0466c6843d"
431 - integrity sha512-TnQueqUDCYzOSrpQb3q1ngDSP2otJSF+9yNLrQGPzkMsvnQ+v6e2d5tl+B35D4y+XpmvVnAn4T3ZK28mkILveA==
432 - dependencies:
433 - core-js "^2.5.3"
434 - source-map-support "^0.5.1"
435 -
436 -graphql-import@^0.7.0:
437 - version "0.7.1"
438 - resolved "https://registry.yarnpkg.com/graphql-import/-/graphql-import-0.7.1.tgz#4add8d91a5f752d764b0a4a7a461fcd93136f223"
439 - integrity sha512-YpwpaPjRUVlw2SN3OPljpWbVRWAhMAyfSba5U47qGMOSsPLi2gYeJtngGpymjm9nk57RFWEpjqwh4+dpYuFAPw==
440 - dependencies:
441 - lodash "^4.17.4"
442 - resolve-from "^4.0.0"
443 -
444 -graphql-middleware@4.0.1:
445 - version "4.0.1"
446 - resolved "https://registry.yarnpkg.com/graphql-middleware/-/graphql-middleware-4.0.1.tgz#8c627b22cc046a47e9474a813cf9e0bd50fa0c4b"
447 - integrity sha512-r9r+pcHV4yZW7LAOcjQYTbNY6nR9SrLgpVZKbrtgXxpQW/MUc1N8q3PESciebvp5s0EEUgRchcRjUkyaArCIFw==
448 - dependencies:
449 - graphql-tools "^4.0.5"
450 -
451 -graphql-playground-html@1.6.12:
452 - version "1.6.12"
453 - resolved "https://registry.yarnpkg.com/graphql-playground-html/-/graphql-playground-html-1.6.12.tgz#8b3b34ab6013e2c877f0ceaae478fafc8ca91b85"
454 - integrity sha512-yOYFwwSMBL0MwufeL8bkrNDgRE7eF/kTHiwrqn9FiR9KLcNIl1xw9l9a+6yIRZM56JReQOHpbQFXTZn1IuSKRg==
455 -
456 -graphql-playground-middleware-express@1.7.11:
457 - version "1.7.11"
458 - resolved "https://registry.yarnpkg.com/graphql-playground-middleware-express/-/graphql-playground-middleware-express-1.7.11.tgz#bbffd784a37133bfa7165bdd8f429081dbf4bcf6"
459 - integrity sha512-sKItB4s3FxqlwCgXdMfwRAfssSoo31bcFsGAAg/HzaZLicY6CDlofKXP8G5iPDerB6NaoAcAaBLutLzl9sd4fQ==
460 - dependencies:
461 - graphql-playground-html "1.6.12"
462 -
463 -graphql-playground-middleware-lambda@1.7.12:
464 - version "1.7.12"
465 - resolved "https://registry.yarnpkg.com/graphql-playground-middleware-lambda/-/graphql-playground-middleware-lambda-1.7.12.tgz#1b06440a288dbcd53f935b43e5b9ca2738a06305"
466 - integrity sha512-fJ1Y0Ck5ctmfaQFoWv7vNnVP7We19P3miVmOT85YPrjpzbMYv0wPfxm4Zjt8nnqXr0KU9nGW53tz3K7/Lvzxtw==
467 - dependencies:
468 - graphql-playground-html "1.6.12"
469 -
470 -graphql-subscriptions@^0.5.8:
471 - version "0.5.8"
472 - resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.5.8.tgz#13a6143c546bce390404657dc73ca501def30aa7"
473 - integrity sha512-0CaZnXKBw2pwnIbvmVckby5Ge5e2ecmjofhYCdyeACbCly2j3WXDP/pl+s+Dqd2GQFC7y99NB+53jrt55CKxYQ==
474 - dependencies:
475 - iterall "^1.2.1"
476 -
477 -graphql-tools@^4.0.0, graphql-tools@^4.0.5:
478 - version "4.0.7"
479 - resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.7.tgz#743309b96cb657ff45b607ee0a07193cd987e43c"
480 - integrity sha512-rApl8sT8t/W1uQRcwzxMYyUBiCl/XicluApiDkNze5TX/GR0BSTQMjM2UcRGdTmkbsb1Eqq6afkyyeG/zMxZYQ==
481 - dependencies:
482 - apollo-link "^1.2.3"
483 - apollo-utilities "^1.0.1"
484 - deprecated-decorator "^0.1.6"
485 - iterall "^1.1.3"
486 - uuid "^3.1.0"
487 -
488 -graphql-upload@^8.0.0:
489 - version "8.1.0"
490 - resolved "https://registry.yarnpkg.com/graphql-upload/-/graphql-upload-8.1.0.tgz#6d0ab662db5677a68bfb1f2c870ab2544c14939a"
491 - integrity sha512-U2OiDI5VxYmzRKw0Z2dmfk0zkqMRaecH9Smh1U277gVgVe9Qn+18xqf4skwr4YJszGIh7iQDZ57+5ygOK9sM/Q==
492 - dependencies:
493 - busboy "^0.3.1"
494 - fs-capacitor "^2.0.4"
495 - http-errors "^1.7.3"
496 - object-path "^0.11.4"
497 -
498 -graphql-yoga@^1.18.3:
499 - version "1.18.3"
500 - resolved "https://registry.yarnpkg.com/graphql-yoga/-/graphql-yoga-1.18.3.tgz#047fa511dbef63cf6d6ea7c06a71202d37444844"
501 - integrity sha512-tR6JYbwLSBVu0Z8M7BIyt1PHhhexmRwneYM8Ru/g2pixrtsWbelBFAXU7bDPhXrqZ49Zxt2zLJ60x3bLNGo/bQ==
502 - dependencies:
503 - "@types/aws-lambda" "8.10.13"
504 - "@types/cors" "^2.8.4"
505 - "@types/express" "^4.11.1"
506 - "@types/graphql" "^14.0.0"
507 - "@types/graphql-deduplicator" "^2.0.0"
508 - "@types/zen-observable" "^0.5.3"
509 - apollo-server-express "^1.3.6"
510 - apollo-server-lambda "1.3.6"
511 - apollo-upload-server "^7.0.0"
512 - body-parser-graphql "1.1.0"
513 - cors "^2.8.4"
514 - express "^4.16.3"
515 - graphql "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0"
516 - graphql-deduplicator "^2.0.1"
517 - graphql-import "^0.7.0"
518 - graphql-middleware "4.0.1"
519 - graphql-playground-middleware-express "1.7.11"
520 - graphql-playground-middleware-lambda "1.7.12"
521 - graphql-subscriptions "^0.5.8"
522 - graphql-tools "^4.0.0"
523 - graphql-upload "^8.0.0"
524 - subscriptions-transport-ws "^0.9.8"
525 -
526 -graphql@*:
527 - version "15.0.0"
528 - resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.0.0.tgz#042a5eb5e2506a2e2111ce41eb446a8e570b8be9"
529 - integrity sha512-ZyVO1xIF9F+4cxfkdhOJINM+51B06Friuv4M66W7HzUOeFd+vNzUn4vtswYINPi6sysjf1M2Ri/rwZALqgwbaQ==
530 -
531 -"graphql@^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0":
532 - version "14.6.0"
533 - resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.6.0.tgz#57822297111e874ea12f5cd4419616930cd83e49"
534 - integrity sha512-VKzfvHEKybTKjQVpTFrA5yUq2S9ihcZvfJAtsDBBCuV6wauPu1xl/f9ehgVf0FcEJJs4vz6ysb/ZMkGigQZseg==
535 - dependencies:
536 - iterall "^1.2.2"
537 -
538 -http-errors@1.7.2:
539 - version "1.7.2"
540 - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
541 - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
542 - dependencies:
543 - depd "~1.1.2"
544 - inherits "2.0.3"
545 - setprototypeof "1.1.1"
546 - statuses ">= 1.5.0 < 2"
547 - toidentifier "1.0.0"
548 -
549 -http-errors@^1.7.0, http-errors@^1.7.3, http-errors@~1.7.2:
550 - version "1.7.3"
551 - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
552 - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
553 - dependencies:
554 - depd "~1.1.2"
555 - inherits "2.0.4"
556 - setprototypeof "1.1.1"
557 - statuses ">= 1.5.0 < 2"
558 - toidentifier "1.0.0"
559 -
560 -iconv-lite@0.4.24:
561 - version "0.4.24"
562 - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
563 - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
564 - dependencies:
565 - safer-buffer ">= 2.1.2 < 3"
566 -
567 -inherits@2.0.3:
568 - version "2.0.3"
569 - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
570 - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
571 -
572 -inherits@2.0.4, inherits@~2.0.1:
573 - version "2.0.4"
574 - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
575 - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
576 -
577 -ipaddr.js@1.9.1:
578 - version "1.9.1"
579 - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
580 - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
581 -
582 -isarray@0.0.1:
583 - version "0.0.1"
584 - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
585 - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
586 -
587 -iterall@^1.1.3, iterall@^1.2.1, iterall@^1.2.2:
588 - version "1.3.0"
589 - resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea"
590 - integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==
591 -
592 -lodash@^4.17.4:
593 - version "4.17.15"
594 - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
595 - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
596 -
597 -media-typer@0.3.0:
598 - version "0.3.0"
599 - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
600 - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
601 -
602 -merge-descriptors@1.0.1:
603 - version "1.0.1"
604 - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
605 - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
606 -
607 -methods@~1.1.2:
608 - version "1.1.2"
609 - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
610 - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
611 -
612 -mime-db@1.43.0:
613 - version "1.43.0"
614 - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58"
615 - integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==
616 -
617 -mime-types@~2.1.24:
618 - version "2.1.26"
619 - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06"
620 - integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==
621 - dependencies:
622 - mime-db "1.43.0"
623 -
624 -mime@1.6.0:
625 - version "1.6.0"
626 - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
627 - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
628 -
629 -ms@2.0.0:
630 - version "2.0.0"
631 - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
632 - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
633 -
634 -ms@2.1.1:
635 - version "2.1.1"
636 - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
637 - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
638 -
639 -negotiator@0.6.2:
640 - version "0.6.2"
641 - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
642 - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
643 -
644 -object-assign@^4:
645 - version "4.1.1"
646 - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
647 - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
648 -
649 -object-path@^0.11.4:
650 - version "0.11.4"
651 - resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949"
652 - integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=
653 -
654 -on-finished@~2.3.0:
655 - version "2.3.0"
656 - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
657 - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
658 - dependencies:
659 - ee-first "1.1.1"
660 -
661 -parseurl@~1.3.3:
662 - version "1.3.3"
663 - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
664 - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
665 -
666 -path-to-regexp@0.1.7:
667 - version "0.1.7"
668 - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
669 - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
670 -
671 -proxy-addr@~2.0.5:
672 - version "2.0.6"
673 - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf"
674 - integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==
675 - dependencies:
676 - forwarded "~0.1.2"
677 - ipaddr.js "1.9.1"
678 -
679 -qs@6.7.0:
680 - version "6.7.0"
681 - resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
682 - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
683 -
684 -range-parser@~1.2.1:
685 - version "1.2.1"
686 - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
687 - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
688 -
689 -raw-body@2.4.0:
690 - version "2.4.0"
691 - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
692 - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
693 - dependencies:
694 - bytes "3.1.0"
695 - http-errors "1.7.2"
696 - iconv-lite "0.4.24"
697 - unpipe "1.0.0"
698 -
699 -readable-stream@1.1.x:
700 - version "1.1.14"
701 - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
702 - integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
703 - dependencies:
704 - core-util-is "~1.0.0"
705 - inherits "~2.0.1"
706 - isarray "0.0.1"
707 - string_decoder "~0.10.x"
708 -
709 -resolve-from@^4.0.0:
710 - version "4.0.0"
711 - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
712 - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
713 -
714 -safe-buffer@5.1.2:
715 - version "5.1.2"
716 - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
717 - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
718 -
719 -"safer-buffer@>= 2.1.2 < 3":
720 - version "2.1.2"
721 - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
722 - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
723 -
724 -send@0.17.1:
725 - version "0.17.1"
726 - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
727 - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
728 - dependencies:
729 - debug "2.6.9"
730 - depd "~1.1.2"
731 - destroy "~1.0.4"
732 - encodeurl "~1.0.2"
733 - escape-html "~1.0.3"
734 - etag "~1.8.1"
735 - fresh "0.5.2"
736 - http-errors "~1.7.2"
737 - mime "1.6.0"
738 - ms "2.1.1"
739 - on-finished "~2.3.0"
740 - range-parser "~1.2.1"
741 - statuses "~1.5.0"
742 -
743 -serve-static@1.14.1:
744 - version "1.14.1"
745 - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
746 - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
747 - dependencies:
748 - encodeurl "~1.0.2"
749 - escape-html "~1.0.3"
750 - parseurl "~1.3.3"
751 - send "0.17.1"
752 -
753 -setprototypeof@1.1.1:
754 - version "1.1.1"
755 - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
756 - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
757 -
758 -source-map-support@^0.5.1:
759 - version "0.5.16"
760 - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.16.tgz#0ae069e7fe3ba7538c64c98515e35339eac5a042"
761 - integrity sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==
762 - dependencies:
763 - buffer-from "^1.0.0"
764 - source-map "^0.6.0"
765 -
766 -source-map@^0.6.0:
767 - version "0.6.1"
768 - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
769 - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
770 -
771 -"statuses@>= 1.5.0 < 2", statuses@~1.5.0:
772 - version "1.5.0"
773 - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
774 - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
775 -
776 -streamsearch@0.1.2:
777 - version "0.1.2"
778 - resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a"
779 - integrity sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=
780 -
781 -string_decoder@~0.10.x:
782 - version "0.10.31"
783 - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
784 - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
785 -
786 -subscriptions-transport-ws@^0.9.8:
787 - version "0.9.16"
788 - resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.16.tgz#90a422f0771d9c32069294c08608af2d47f596ec"
789 - integrity sha512-pQdoU7nC+EpStXnCfh/+ho0zE0Z+ma+i7xvj7bkXKb1dvYHSZxgRPaU6spRP+Bjzow67c/rRDoix5RT0uU9omw==
790 - dependencies:
791 - backo2 "^1.0.2"
792 - eventemitter3 "^3.1.0"
793 - iterall "^1.2.1"
794 - symbol-observable "^1.0.4"
795 - ws "^5.2.0"
796 -
797 -symbol-observable@^1.0.4:
798 - version "1.2.0"
799 - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
800 - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
801 -
802 -toidentifier@1.0.0:
803 - version "1.0.0"
804 - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
805 - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
806 -
807 -ts-invariant@^0.4.0:
808 - version "0.4.4"
809 - resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.4.4.tgz#97a523518688f93aafad01b0e80eb803eb2abd86"
810 - integrity sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==
811 - dependencies:
812 - tslib "^1.9.3"
813 -
814 -tslib@^1.10.0, tslib@^1.9.3:
815 - version "1.11.1"
816 - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35"
817 - integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==
818 -
819 -type-is@~1.6.17, type-is@~1.6.18:
820 - version "1.6.18"
821 - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
822 - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
823 - dependencies:
824 - media-typer "0.3.0"
825 - mime-types "~2.1.24"
826 -
827 -unpipe@1.0.0, unpipe@~1.0.0:
828 - version "1.0.0"
829 - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
830 - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
831 -
832 -utils-merge@1.0.1:
833 - version "1.0.1"
834 - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
835 - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
836 -
837 -uuid@^3.1.0:
838 - version "3.4.0"
839 - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
840 - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
841 -
842 -vary@^1, vary@~1.1.2:
843 - version "1.1.2"
844 - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
845 - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
846 -
847 -ws@^5.2.0:
848 - version "5.2.2"
849 - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f"
850 - integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==
851 - dependencies:
852 - async-limiter "~1.0.0"
853 -
854 -zen-observable-ts@^0.8.20:
855 - version "0.8.20"
856 - resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.20.tgz#44091e335d3fcbc97f6497e63e7f57d5b516b163"
857 - integrity sha512-2rkjiPALhOtRaDX6pWyNqK1fnP5KkJJybYebopNSn6wDG1lxBoFs2+nwwXKoA6glHIrtwrfBBy6da0stkKtTAA==
858 - dependencies:
859 - tslib "^1.9.3"
860 - zen-observable "^0.8.0"
861 -
862 -zen-observable@^0.8.0:
863 - version "0.8.15"
864 - resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15"
865 - integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==
1 -version: "3.7"
2 -services:
3 - mysql:
4 - image: mysql:8.0.19
5 - container_name: mysql
6 - ports:
7 - - 3306:3306
8 - restart: always
9 - environment:
10 - MYSQL_DATABASE: prisma
11 - MYSQL_ROOT_PASSWORD: prisma
12 - volumes:
13 - - /var/lib/mysql
14 - prisma:
15 - links:
16 - - mysql
17 - depends_on:
18 - - mysql
19 - container_name: prisma
20 - ports:
21 - - "5555:5555"
22 - build:
23 - context: ./back/prisma
24 - dockerfile: Dockerfile
25 - environment:
26 - MYSQL_URL: ${MYSQL_URL}
27 - MYSQL_DATABASE: prisma
28 - MYSQL_ROOT_PASSWORD: prisma
29 - volumes:
30 - - /app/prisma
31 - backend:
32 - links:
33 - - mysql
34 - depends_on:
35 - - mysql
36 - container_name: backend
37 - ports:
38 - - "4000:4000"
39 - build:
40 - context: ./back
41 - dockerfile: Dockerfile
42 - environment:
43 - MYSQL_URL: ${MYSQL_URL}
44 - FRONTEND_URL: ${FRONTEND_URL}
45 - volumes:
46 - - ./back:/usr/src/app
47 - - ./back/node_modules:/usr/src/app/node_modules
48 - - ./back/prisma:/usr/src/app/prisma
49 - frontend:
50 - container_name: frontend
51 - ports:
52 - - "3000:3000"
53 - tty: "true"
54 - build:
55 - context: ./front
56 - dockerfile: Dockerfile
57 - command: npm start
58 - environment:
59 - - NODE_ENV=development
60 - - CHOKIDAR_USEPOLLING=true
61 - - BACKEND_URL=${BACKEND_URL}
62 - volumes:
63 - - ./front:/usr/src/app
1 -node_modules
...\ No newline at end of file ...\ No newline at end of file
1 -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 -
3 -# dependencies
4 -/node_modules
5 -/.pnp
6 -.pnp.js
7 -
8 -# testing
9 -/coverage
10 -
11 -# production
12 -/build
13 -
14 -# misc
15 -.DS_Store
16 -.env.local
17 -.env.development.local
18 -.env.test.local
19 -.env.production.local
20 -
21 -npm-debug.log*
22 -yarn-debug.log*
23 -yarn-error.log*
1 -FROM node:12.16.2
2 -
3 -RUN mkdir /app
4 -WORKDIR /app
5 -
6 -COPY package*.json ./
7 -
8 -RUN npm install
9 -
10 -COPY . .
...\ No newline at end of file ...\ No newline at end of file
1 -# Capstone design
2 -
3 -1st semester capstone design project
4 -
5 -Subject : Making website in order to practice web tech
6 -
7 -sub-subject : making chat site using JS
...\ No newline at end of file ...\ No newline at end of file
This diff could not be displayed because it is too large.
1 -{
2 - "name": "capstone-front",
3 - "version": "0.1.0",
4 - "private": true,
5 - "dependencies": {
6 - "@testing-library/jest-dom": "^4.2.4",
7 - "@testing-library/react": "^9.3.2",
8 - "@testing-library/user-event": "^7.1.2",
9 - "apollo-boost": "^0.4.7",
10 - "core-js": "^3.6.5",
11 - "graphql": "^15.0.0",
12 - "react": "^16.13.1",
13 - "react-apollo-hooks": "^0.5.0",
14 - "react-dom": "^16.13.1",
15 - "react-hooks": "^1.0.1",
16 - "react-router": "^5.1.2",
17 - "react-router-dom": "^5.1.2",
18 - "react-scripts": "3.4.1",
19 - "react-toastify": "^5.5.0",
20 - "styled-components": "^5.1.0",
21 - "styled-reset": "^4.1.3"
22 - },
23 - "scripts": {
24 - "start": "react-scripts start",
25 - "build": "react-scripts build",
26 - "test": "react-scripts test",
27 - "eject": "react-scripts eject"
28 - },
29 - "eslintConfig": {
30 - "extends": "react-app"
31 - },
32 - "browserslist": {
33 - "production": [
34 - ">0.2%",
35 - "not dead",
36 - "not op_mini all"
37 - ],
38 - "development": [
39 - "last 1 chrome version",
40 - "last 1 firefox version",
41 - "last 1 safari version"
42 - ]
43 - }
44 -}
No preview for this file type
1 -<!DOCTYPE html>
2 -<html lang="en">
3 - <head>
4 - <meta charset="utf-8" />
5 - <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
6 - <meta name="viewport" content="width=device-width, initial-scale=1" />
7 - <meta name="theme-color" content="#000000" />
8 - <meta
9 - name="description"
10 - content="Web site created using create-react-app"
11 - />
12 - <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
13 - <!--
14 - manifest.json provides metadata used when your web app is installed on a
15 - user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
16 - -->
17 - <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
18 - <!--
19 - Notice the use of %PUBLIC_URL% in the tags above.
20 - It will be replaced with the URL of the `public` folder during the build.
21 - Only files inside the `public` folder can be referenced from the HTML.
22 -
23 - Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
24 - work correctly both with client-side routing and a non-root public URL.
25 - Learn how to configure a non-root public URL by running `npm run build`.
26 - -->
27 - <title>React App</title>
28 - </head>
29 - <body>
30 - <noscript>You need to enable JavaScript to run this app.</noscript>
31 - <div id="root"></div>
32 - <!--
33 - This HTML file is a template.
34 - If you open it directly in the browser, you will see an empty page.
35 -
36 - You can add webfonts, meta tags, or analytics to this file.
37 - The build step will place the bundled scripts into the <body> tag.
38 -
39 - To begin the development, run `npm start` or `yarn start`.
40 - To create a production bundle, use `npm run build` or `yarn build`.
41 - -->
42 - </body>
43 -</html>
1 -{
2 - "short_name": "React App",
3 - "name": "Create React App Sample",
4 - "icons": [
5 - {
6 - "src": "favicon.ico",
7 - "sizes": "64x64 32x32 24x24 16x16",
8 - "type": "image/x-icon"
9 - },
10 - {
11 - "src": "logo192.png",
12 - "type": "image/png",
13 - "sizes": "192x192"
14 - },
15 - {
16 - "src": "logo512.png",
17 - "type": "image/png",
18 - "sizes": "512x512"
19 - }
20 - ],
21 - "start_url": ".",
22 - "display": "standalone",
23 - "theme_color": "#000000",
24 - "background_color": "#ffffff"
25 -}
1 -# https://www.robotstxt.org/robotstxt.html
2 -User-agent: *
3 -Disallow:
1 -import ApolloClient from "apollo-boost";
2 -import { defaults, resolvers } from "./ClientState";
3 -
4 -export default new ApolloClient({
5 - uri: "http://localhost:4000",
6 - clientState: {
7 - defaults,
8 - resolvers,
9 - },
10 -});
1 -export const defaults = {};
2 -
3 -export const resolvers = {};
1 -import React from "react";
2 -import GlobalStyles from "../Styles/GlobalStyles";
3 -import Header from "./Header";
4 -import Image from "./Image";
5 -import Grid from "./Grid";
6 -
7 -export default () => {
8 - return (
9 - <>
10 - <GlobalStyles />
11 - <Header />
12 - <Image />
13 - <Grid />
14 - </>
15 - );
16 -};
1 -import React from "react";
2 -import Styled from "styled-components";
3 -
4 -const Article = Styled.div`
5 - width: 70%;
6 - justify-content: center;
7 - align-items: center;
8 - text-align: center;
9 - margin-top: 10px;
10 - border-top: 1px solid black;
11 -`;
12 -
13 -export default () => {
14 - return (
15 - <Article>
16 - <h1>Article Title</h1>
17 - </Article>
18 - );
19 -};
1 -import React from "react";
2 -import Styled from "styled-components";
3 -import MenuList from "./MenuList";
4 -import Article from "./Article";
5 -
6 -const Grid = Styled.div`
7 - width: 100%;
8 - display: flex;
9 -`;
10 -
11 -export default () => {
12 - return (
13 - <Grid>
14 - <MenuList />
15 - <Article />
16 - </Grid>
17 - );
18 -};
1 -import React from "react";
2 -import Styled from "styled-components";
3 -
4 -const Header = Styled.div`
5 - width: 100%;
6 - display: flex;
7 - justify-content: center;
8 - margin: 10px 0px;
9 - font-size: 25px;
10 -`;
11 -
12 -export default () => {
13 - return (
14 - <Header>
15 - <h1>KHU Chatting service</h1>
16 - </Header>
17 - );
18 -};
1 -import React from "react";
2 -import Styled from "styled-components";
3 -
4 -const Image = Styled.div`
5 - width: 100%;
6 - margin: 20px 0px;
7 - display: flex;
8 - justify-content: center;
9 -`;
10 -
11 -export default () => {
12 - return (
13 - <Image>
14 - <img src="" alt="sample"></img>
15 - </Image>
16 - );
17 -};
1 -import React from "react";
2 -import Styled from "styled-components";
3 -
4 -const MenuBox = Styled.div`
5 - width: 30%;
6 - display: flex;
7 - justify-content: center;
8 - align-items: center;
9 - margin-top: 10px;
10 - border-top: 1px solid black;
11 - border-right: 1px solid black;
12 -`;
13 -
14 -const MenuList = Styled.ol`
15 -`;
16 -
17 -const MenuItem = Styled.li`
18 -`;
19 -
20 -const Link = Styled.a`
21 -`;
22 -
23 -export default () => {
24 - return (
25 - <MenuBox>
26 - <MenuList>
27 - <MenuItem>
28 - <Link href="">1. What is KHU Chat?</Link>
29 - </MenuItem>
30 - </MenuList>
31 - </MenuBox>
32 - );
33 -};
1 -export default {
2 - bgColor: "white",
3 -};
1 -import { createGlobalStyle } from "styled-components";
2 -import reset from "styled-reset";
3 -
4 -export default createGlobalStyle`
5 - ${reset}
6 - * {
7 - box-sizing: border-box;
8 - }
9 -`;
1 -import React from "react";
2 -import ReactDOM from "react-dom";
3 -import App from "./Components/App";
4 -import { ApolloProvider } from "react-apollo-hooks";
5 -import Client from "./Apollo/Client";
6 -
7 -ReactDOM.render(
8 - <ApolloProvider client={Client}>
9 - <App />
10 - </ApolloProvider>,
11 - document.getElementById("root")
12 -);
This diff could not be displayed because it is too large.
1 -{
2 - "name": "capstone",
3 - "version": "1.0.0",
4 - "description": "",
5 - "scripts": {
6 - "start": "docker-compose up",
7 - "build": "docker-compose build",
8 - "stop": "docker-compose down",
9 - "clean": "docker system prune -af",
10 - "clean:volumes": "docker volume prune -f",
11 - "seed": "docker exec -it prisma npm run seed",
12 - "reset:db": "docker-compose rm -fv mysql"
13 - },
14 - "author": {
15 - "name": "sdy, kms",
16 - "email": "vel1024@khu.ac.kr"
17 - },
18 - "license": "ISC"
19 -}