df-hono-generator 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/bin/create.cjs +61 -0
  2. package/package.json +50 -0
  3. package/template/.env.example +25 -0
  4. package/template/LICENSE +21 -0
  5. package/template/README.md +327 -0
  6. package/template/docker-compose.yml +8 -0
  7. package/template/drizzle.config.ts +10 -0
  8. package/template/eslint.config.js +9 -0
  9. package/template/package.json +50 -0
  10. package/template/src/app.ts +26 -0
  11. package/template/src/db/dev.db +0 -0
  12. package/template/src/db/index.ts +8 -0
  13. package/template/src/db/migrations/0000_outgoing_gamora.sql +6 -0
  14. package/template/src/db/migrations/0001_minor_phantom_reporter.sql +118 -0
  15. package/template/src/db/migrations/0002_same_the_spike.sql +6 -0
  16. package/template/src/db/migrations/meta/0000_snapshot.json +57 -0
  17. package/template/src/db/migrations/meta/0001_snapshot.json +841 -0
  18. package/template/src/db/migrations/meta/0002_snapshot.json +880 -0
  19. package/template/src/db/migrations/meta/_journal.json +27 -0
  20. package/template/src/db/schema.ts +162 -0
  21. package/template/src/db/seeds/index.ts +32 -0
  22. package/template/src/env.ts +42 -0
  23. package/template/src/index.ts +10 -0
  24. package/template/src/lib/configure-open-api.ts +30 -0
  25. package/template/src/lib/create-app.ts +44 -0
  26. package/template/src/lib/http-status-codes.ts +354 -0
  27. package/template/src/lib/json-content.ts +14 -0
  28. package/template/src/lib/response.ts +50 -0
  29. package/template/src/lib/types.ts +13 -0
  30. package/template/src/middleware/auth.ts +127 -0
  31. package/template/src/middleware/pino-logger.ts +13 -0
  32. package/template/src/public/favicon.ico +0 -0
  33. package/template/src/routes/auth/auth.handler.ts +72 -0
  34. package/template/src/routes/auth/auth.index.ts +9 -0
  35. package/template/src/routes/auth/auth.routes.ts +76 -0
  36. package/template/src/routes/oss/alioss.handler.ts +27 -0
  37. package/template/src/routes/oss/alioss.index.ts +8 -0
  38. package/template/src/routes/oss/alioss.routes.ts +41 -0
  39. package/template/src/routes/oss/alioss.service.ts +101 -0
  40. package/template/src/routes/oss/schema/oss.schemas.ts +21 -0
  41. package/template/src/utils/jwt.ts +212 -0
  42. package/template/src/utils/passwordAuth.ts +30 -0
  43. package/template/src/utils/redis.cache.ts +65 -0
  44. package/template/tsconfig.json +23 -0
@@ -0,0 +1,841 @@
1
+ {
2
+ "version": "6",
3
+ "dialect": "sqlite",
4
+ "id": "8ae6a851-4c60-48b1-80ae-5521853691e6",
5
+ "prevId": "8b64d00a-dcd4-4f01-bc95-176dcf4904ed",
6
+ "tables": {
7
+ "blog": {
8
+ "name": "blog",
9
+ "columns": {
10
+ "id": {
11
+ "name": "id",
12
+ "type": "integer",
13
+ "primaryKey": true,
14
+ "notNull": true,
15
+ "autoincrement": true
16
+ },
17
+ "title": {
18
+ "name": "title",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true,
22
+ "autoincrement": false
23
+ },
24
+ "content": {
25
+ "name": "content",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": false,
29
+ "autoincrement": false
30
+ },
31
+ "user_id": {
32
+ "name": "user_id",
33
+ "type": "integer",
34
+ "primaryKey": false,
35
+ "notNull": false,
36
+ "autoincrement": false
37
+ },
38
+ "status": {
39
+ "name": "status",
40
+ "type": "integer",
41
+ "primaryKey": false,
42
+ "notNull": true,
43
+ "autoincrement": false,
44
+ "default": 0
45
+ },
46
+ "sort": {
47
+ "name": "sort",
48
+ "type": "integer",
49
+ "primaryKey": false,
50
+ "notNull": true,
51
+ "autoincrement": false,
52
+ "default": 0
53
+ },
54
+ "created_at": {
55
+ "name": "created_at",
56
+ "type": "text",
57
+ "primaryKey": false,
58
+ "notNull": true,
59
+ "autoincrement": false,
60
+ "default": "(CURRENT_TIMESTAMP)"
61
+ },
62
+ "updated_at": {
63
+ "name": "updated_at",
64
+ "type": "text",
65
+ "primaryKey": false,
66
+ "notNull": true,
67
+ "autoincrement": false,
68
+ "default": "(CURRENT_TIMESTAMP)"
69
+ },
70
+ "remark": {
71
+ "name": "remark",
72
+ "type": "text",
73
+ "primaryKey": false,
74
+ "notNull": false,
75
+ "autoincrement": false
76
+ }
77
+ },
78
+ "indexes": {},
79
+ "foreignKeys": {
80
+ "blog_user_id_user_id_fk": {
81
+ "name": "blog_user_id_user_id_fk",
82
+ "tableFrom": "blog",
83
+ "tableTo": "user",
84
+ "columnsFrom": [
85
+ "user_id"
86
+ ],
87
+ "columnsTo": [
88
+ "id"
89
+ ],
90
+ "onDelete": "no action",
91
+ "onUpdate": "no action"
92
+ }
93
+ },
94
+ "compositePrimaryKeys": {},
95
+ "uniqueConstraints": {},
96
+ "checkConstraints": {}
97
+ },
98
+ "category": {
99
+ "name": "category",
100
+ "columns": {
101
+ "id": {
102
+ "name": "id",
103
+ "type": "integer",
104
+ "primaryKey": true,
105
+ "notNull": true,
106
+ "autoincrement": true
107
+ },
108
+ "title": {
109
+ "name": "title",
110
+ "type": "text",
111
+ "primaryKey": false,
112
+ "notNull": true,
113
+ "autoincrement": false
114
+ },
115
+ "description": {
116
+ "name": "description",
117
+ "type": "text",
118
+ "primaryKey": false,
119
+ "notNull": false,
120
+ "autoincrement": false
121
+ },
122
+ "user_id": {
123
+ "name": "user_id",
124
+ "type": "integer",
125
+ "primaryKey": false,
126
+ "notNull": false,
127
+ "autoincrement": false
128
+ },
129
+ "sort": {
130
+ "name": "sort",
131
+ "type": "integer",
132
+ "primaryKey": false,
133
+ "notNull": true,
134
+ "autoincrement": false,
135
+ "default": 0
136
+ },
137
+ "created_at": {
138
+ "name": "created_at",
139
+ "type": "text",
140
+ "primaryKey": false,
141
+ "notNull": true,
142
+ "autoincrement": false,
143
+ "default": "(CURRENT_TIMESTAMP)"
144
+ },
145
+ "updated_at": {
146
+ "name": "updated_at",
147
+ "type": "text",
148
+ "primaryKey": false,
149
+ "notNull": true,
150
+ "autoincrement": false,
151
+ "default": "(CURRENT_TIMESTAMP)"
152
+ },
153
+ "remark": {
154
+ "name": "remark",
155
+ "type": "text",
156
+ "primaryKey": false,
157
+ "notNull": false,
158
+ "autoincrement": false
159
+ }
160
+ },
161
+ "indexes": {},
162
+ "foreignKeys": {
163
+ "category_user_id_user_id_fk": {
164
+ "name": "category_user_id_user_id_fk",
165
+ "tableFrom": "category",
166
+ "tableTo": "user",
167
+ "columnsFrom": [
168
+ "user_id"
169
+ ],
170
+ "columnsTo": [
171
+ "id"
172
+ ],
173
+ "onDelete": "no action",
174
+ "onUpdate": "no action"
175
+ }
176
+ },
177
+ "compositePrimaryKeys": {},
178
+ "uniqueConstraints": {},
179
+ "checkConstraints": {}
180
+ },
181
+ "chapter": {
182
+ "name": "chapter",
183
+ "columns": {
184
+ "id": {
185
+ "name": "id",
186
+ "type": "integer",
187
+ "primaryKey": true,
188
+ "notNull": true,
189
+ "autoincrement": true
190
+ },
191
+ "title": {
192
+ "name": "title",
193
+ "type": "text",
194
+ "primaryKey": false,
195
+ "notNull": true,
196
+ "autoincrement": false
197
+ },
198
+ "content": {
199
+ "name": "content",
200
+ "type": "text",
201
+ "primaryKey": false,
202
+ "notNull": false,
203
+ "autoincrement": false
204
+ },
205
+ "course_id": {
206
+ "name": "course_id",
207
+ "type": "integer",
208
+ "primaryKey": false,
209
+ "notNull": true,
210
+ "autoincrement": false
211
+ },
212
+ "video": {
213
+ "name": "video",
214
+ "type": "text",
215
+ "primaryKey": false,
216
+ "notNull": false,
217
+ "autoincrement": false
218
+ },
219
+ "status": {
220
+ "name": "status",
221
+ "type": "integer",
222
+ "primaryKey": false,
223
+ "notNull": true,
224
+ "autoincrement": false,
225
+ "default": 0
226
+ },
227
+ "sort": {
228
+ "name": "sort",
229
+ "type": "integer",
230
+ "primaryKey": false,
231
+ "notNull": true,
232
+ "autoincrement": false,
233
+ "default": 0
234
+ },
235
+ "created_at": {
236
+ "name": "created_at",
237
+ "type": "text",
238
+ "primaryKey": false,
239
+ "notNull": true,
240
+ "autoincrement": false,
241
+ "default": "(CURRENT_TIMESTAMP)"
242
+ },
243
+ "updated_at": {
244
+ "name": "updated_at",
245
+ "type": "text",
246
+ "primaryKey": false,
247
+ "notNull": true,
248
+ "autoincrement": false,
249
+ "default": "(CURRENT_TIMESTAMP)"
250
+ },
251
+ "remark": {
252
+ "name": "remark",
253
+ "type": "text",
254
+ "primaryKey": false,
255
+ "notNull": false,
256
+ "autoincrement": false
257
+ }
258
+ },
259
+ "indexes": {},
260
+ "foreignKeys": {
261
+ "chapter_course_id_course_id_fk": {
262
+ "name": "chapter_course_id_course_id_fk",
263
+ "tableFrom": "chapter",
264
+ "tableTo": "course",
265
+ "columnsFrom": [
266
+ "course_id"
267
+ ],
268
+ "columnsTo": [
269
+ "id"
270
+ ],
271
+ "onDelete": "no action",
272
+ "onUpdate": "no action"
273
+ }
274
+ },
275
+ "compositePrimaryKeys": {},
276
+ "uniqueConstraints": {},
277
+ "checkConstraints": {}
278
+ },
279
+ "course": {
280
+ "name": "course",
281
+ "columns": {
282
+ "id": {
283
+ "name": "id",
284
+ "type": "integer",
285
+ "primaryKey": true,
286
+ "notNull": true,
287
+ "autoincrement": true
288
+ },
289
+ "title": {
290
+ "name": "title",
291
+ "type": "text",
292
+ "primaryKey": false,
293
+ "notNull": true,
294
+ "autoincrement": false
295
+ },
296
+ "cover": {
297
+ "name": "cover",
298
+ "type": "text",
299
+ "primaryKey": false,
300
+ "notNull": false,
301
+ "autoincrement": false
302
+ },
303
+ "category_id": {
304
+ "name": "category_id",
305
+ "type": "integer",
306
+ "primaryKey": false,
307
+ "notNull": true,
308
+ "autoincrement": false
309
+ },
310
+ "tags": {
311
+ "name": "tags",
312
+ "type": "text",
313
+ "primaryKey": false,
314
+ "notNull": false,
315
+ "autoincrement": false
316
+ },
317
+ "description": {
318
+ "name": "description",
319
+ "type": "text",
320
+ "primaryKey": false,
321
+ "notNull": false,
322
+ "autoincrement": false
323
+ },
324
+ "type": {
325
+ "name": "type",
326
+ "type": "integer",
327
+ "primaryKey": false,
328
+ "notNull": true,
329
+ "autoincrement": false,
330
+ "default": 0
331
+ },
332
+ "price": {
333
+ "name": "price",
334
+ "type": "integer",
335
+ "primaryKey": false,
336
+ "notNull": true,
337
+ "autoincrement": false,
338
+ "default": 0
339
+ },
340
+ "status": {
341
+ "name": "status",
342
+ "type": "integer",
343
+ "primaryKey": false,
344
+ "notNull": true,
345
+ "autoincrement": false,
346
+ "default": 0
347
+ },
348
+ "user_id": {
349
+ "name": "user_id",
350
+ "type": "integer",
351
+ "primaryKey": false,
352
+ "notNull": false,
353
+ "autoincrement": false
354
+ },
355
+ "sort": {
356
+ "name": "sort",
357
+ "type": "integer",
358
+ "primaryKey": false,
359
+ "notNull": true,
360
+ "autoincrement": false,
361
+ "default": 0
362
+ },
363
+ "created_at": {
364
+ "name": "created_at",
365
+ "type": "text",
366
+ "primaryKey": false,
367
+ "notNull": true,
368
+ "autoincrement": false,
369
+ "default": "(CURRENT_TIMESTAMP)"
370
+ },
371
+ "updated_at": {
372
+ "name": "updated_at",
373
+ "type": "text",
374
+ "primaryKey": false,
375
+ "notNull": true,
376
+ "autoincrement": false,
377
+ "default": "(CURRENT_TIMESTAMP)"
378
+ },
379
+ "remark": {
380
+ "name": "remark",
381
+ "type": "text",
382
+ "primaryKey": false,
383
+ "notNull": false,
384
+ "autoincrement": false
385
+ }
386
+ },
387
+ "indexes": {},
388
+ "foreignKeys": {
389
+ "course_category_id_category_id_fk": {
390
+ "name": "course_category_id_category_id_fk",
391
+ "tableFrom": "course",
392
+ "tableTo": "category",
393
+ "columnsFrom": [
394
+ "category_id"
395
+ ],
396
+ "columnsTo": [
397
+ "id"
398
+ ],
399
+ "onDelete": "no action",
400
+ "onUpdate": "no action"
401
+ },
402
+ "course_user_id_user_id_fk": {
403
+ "name": "course_user_id_user_id_fk",
404
+ "tableFrom": "course",
405
+ "tableTo": "user",
406
+ "columnsFrom": [
407
+ "user_id"
408
+ ],
409
+ "columnsTo": [
410
+ "id"
411
+ ],
412
+ "onDelete": "no action",
413
+ "onUpdate": "no action"
414
+ }
415
+ },
416
+ "compositePrimaryKeys": {},
417
+ "uniqueConstraints": {},
418
+ "checkConstraints": {}
419
+ },
420
+ "course_collect": {
421
+ "name": "course_collect",
422
+ "columns": {
423
+ "id": {
424
+ "name": "id",
425
+ "type": "integer",
426
+ "primaryKey": true,
427
+ "notNull": true,
428
+ "autoincrement": true
429
+ },
430
+ "user_id": {
431
+ "name": "user_id",
432
+ "type": "integer",
433
+ "primaryKey": false,
434
+ "notNull": true,
435
+ "autoincrement": false
436
+ },
437
+ "course_id": {
438
+ "name": "course_id",
439
+ "type": "integer",
440
+ "primaryKey": false,
441
+ "notNull": true,
442
+ "autoincrement": false
443
+ },
444
+ "created_at": {
445
+ "name": "created_at",
446
+ "type": "text",
447
+ "primaryKey": false,
448
+ "notNull": true,
449
+ "autoincrement": false,
450
+ "default": "(CURRENT_TIMESTAMP)"
451
+ }
452
+ },
453
+ "indexes": {},
454
+ "foreignKeys": {
455
+ "course_collect_user_id_user_id_fk": {
456
+ "name": "course_collect_user_id_user_id_fk",
457
+ "tableFrom": "course_collect",
458
+ "tableTo": "user",
459
+ "columnsFrom": [
460
+ "user_id"
461
+ ],
462
+ "columnsTo": [
463
+ "id"
464
+ ],
465
+ "onDelete": "no action",
466
+ "onUpdate": "no action"
467
+ },
468
+ "course_collect_course_id_course_id_fk": {
469
+ "name": "course_collect_course_id_course_id_fk",
470
+ "tableFrom": "course_collect",
471
+ "tableTo": "course",
472
+ "columnsFrom": [
473
+ "course_id"
474
+ ],
475
+ "columnsTo": [
476
+ "id"
477
+ ],
478
+ "onDelete": "no action",
479
+ "onUpdate": "no action"
480
+ }
481
+ },
482
+ "compositePrimaryKeys": {},
483
+ "uniqueConstraints": {},
484
+ "checkConstraints": {}
485
+ },
486
+ "notice": {
487
+ "name": "notice",
488
+ "columns": {
489
+ "id": {
490
+ "name": "id",
491
+ "type": "integer",
492
+ "primaryKey": true,
493
+ "notNull": true,
494
+ "autoincrement": true
495
+ },
496
+ "title": {
497
+ "name": "title",
498
+ "type": "text",
499
+ "primaryKey": false,
500
+ "notNull": true,
501
+ "autoincrement": false
502
+ },
503
+ "content": {
504
+ "name": "content",
505
+ "type": "text",
506
+ "primaryKey": false,
507
+ "notNull": false,
508
+ "autoincrement": false
509
+ },
510
+ "user_id": {
511
+ "name": "user_id",
512
+ "type": "integer",
513
+ "primaryKey": false,
514
+ "notNull": false,
515
+ "autoincrement": false
516
+ },
517
+ "status": {
518
+ "name": "status",
519
+ "type": "integer",
520
+ "primaryKey": false,
521
+ "notNull": true,
522
+ "autoincrement": false,
523
+ "default": 0
524
+ },
525
+ "sort": {
526
+ "name": "sort",
527
+ "type": "integer",
528
+ "primaryKey": false,
529
+ "notNull": true,
530
+ "autoincrement": false,
531
+ "default": 0
532
+ },
533
+ "created_at": {
534
+ "name": "created_at",
535
+ "type": "text",
536
+ "primaryKey": false,
537
+ "notNull": true,
538
+ "autoincrement": false,
539
+ "default": "(CURRENT_TIMESTAMP)"
540
+ },
541
+ "updated_at": {
542
+ "name": "updated_at",
543
+ "type": "text",
544
+ "primaryKey": false,
545
+ "notNull": true,
546
+ "autoincrement": false,
547
+ "default": "(CURRENT_TIMESTAMP)"
548
+ },
549
+ "remark": {
550
+ "name": "remark",
551
+ "type": "text",
552
+ "primaryKey": false,
553
+ "notNull": false,
554
+ "autoincrement": false
555
+ }
556
+ },
557
+ "indexes": {},
558
+ "foreignKeys": {
559
+ "notice_user_id_user_id_fk": {
560
+ "name": "notice_user_id_user_id_fk",
561
+ "tableFrom": "notice",
562
+ "tableTo": "user",
563
+ "columnsFrom": [
564
+ "user_id"
565
+ ],
566
+ "columnsTo": [
567
+ "id"
568
+ ],
569
+ "onDelete": "no action",
570
+ "onUpdate": "no action"
571
+ }
572
+ },
573
+ "compositePrimaryKeys": {},
574
+ "uniqueConstraints": {},
575
+ "checkConstraints": {}
576
+ },
577
+ "oauth_account": {
578
+ "name": "oauth_account",
579
+ "columns": {
580
+ "id": {
581
+ "name": "id",
582
+ "type": "integer",
583
+ "primaryKey": true,
584
+ "notNull": true,
585
+ "autoincrement": true
586
+ },
587
+ "user_id": {
588
+ "name": "user_id",
589
+ "type": "integer",
590
+ "primaryKey": false,
591
+ "notNull": true,
592
+ "autoincrement": false
593
+ },
594
+ "provider": {
595
+ "name": "provider",
596
+ "type": "text",
597
+ "primaryKey": false,
598
+ "notNull": true,
599
+ "autoincrement": false
600
+ },
601
+ "provider_user_id": {
602
+ "name": "provider_user_id",
603
+ "type": "text",
604
+ "primaryKey": false,
605
+ "notNull": true,
606
+ "autoincrement": false
607
+ },
608
+ "nickname": {
609
+ "name": "nickname",
610
+ "type": "text",
611
+ "primaryKey": false,
612
+ "notNull": false,
613
+ "autoincrement": false
614
+ },
615
+ "avatar": {
616
+ "name": "avatar",
617
+ "type": "text",
618
+ "primaryKey": false,
619
+ "notNull": false,
620
+ "autoincrement": false
621
+ },
622
+ "access_token": {
623
+ "name": "access_token",
624
+ "type": "text",
625
+ "primaryKey": false,
626
+ "notNull": false,
627
+ "autoincrement": false
628
+ },
629
+ "refresh_token": {
630
+ "name": "refresh_token",
631
+ "type": "text",
632
+ "primaryKey": false,
633
+ "notNull": false,
634
+ "autoincrement": false
635
+ },
636
+ "expires_at": {
637
+ "name": "expires_at",
638
+ "type": "text",
639
+ "primaryKey": false,
640
+ "notNull": false,
641
+ "autoincrement": false
642
+ },
643
+ "created_at": {
644
+ "name": "created_at",
645
+ "type": "text",
646
+ "primaryKey": false,
647
+ "notNull": true,
648
+ "autoincrement": false,
649
+ "default": "(current_timestamp)"
650
+ }
651
+ },
652
+ "indexes": {
653
+ "oauth_account_provider_provider_user_id_unique": {
654
+ "name": "oauth_account_provider_provider_user_id_unique",
655
+ "columns": [
656
+ "provider",
657
+ "provider_user_id"
658
+ ],
659
+ "isUnique": true
660
+ }
661
+ },
662
+ "foreignKeys": {
663
+ "oauth_account_user_id_user_id_fk": {
664
+ "name": "oauth_account_user_id_user_id_fk",
665
+ "tableFrom": "oauth_account",
666
+ "tableTo": "user",
667
+ "columnsFrom": [
668
+ "user_id"
669
+ ],
670
+ "columnsTo": [
671
+ "id"
672
+ ],
673
+ "onDelete": "cascade",
674
+ "onUpdate": "no action"
675
+ }
676
+ },
677
+ "compositePrimaryKeys": {},
678
+ "uniqueConstraints": {},
679
+ "checkConstraints": {}
680
+ },
681
+ "user": {
682
+ "name": "user",
683
+ "columns": {
684
+ "id": {
685
+ "name": "id",
686
+ "type": "integer",
687
+ "primaryKey": true,
688
+ "notNull": true,
689
+ "autoincrement": true
690
+ },
691
+ "username": {
692
+ "name": "username",
693
+ "type": "text",
694
+ "primaryKey": false,
695
+ "notNull": false,
696
+ "autoincrement": false
697
+ },
698
+ "password": {
699
+ "name": "password",
700
+ "type": "text",
701
+ "primaryKey": false,
702
+ "notNull": false,
703
+ "autoincrement": false
704
+ },
705
+ "email": {
706
+ "name": "email",
707
+ "type": "text",
708
+ "primaryKey": false,
709
+ "notNull": false,
710
+ "autoincrement": false
711
+ },
712
+ "mobile": {
713
+ "name": "mobile",
714
+ "type": "text",
715
+ "primaryKey": false,
716
+ "notNull": false,
717
+ "autoincrement": false
718
+ },
719
+ "nickname": {
720
+ "name": "nickname",
721
+ "type": "text",
722
+ "primaryKey": false,
723
+ "notNull": false,
724
+ "autoincrement": false
725
+ },
726
+ "avatar": {
727
+ "name": "avatar",
728
+ "type": "text",
729
+ "primaryKey": false,
730
+ "notNull": false,
731
+ "autoincrement": false
732
+ },
733
+ "gender": {
734
+ "name": "gender",
735
+ "type": "integer",
736
+ "primaryKey": false,
737
+ "notNull": true,
738
+ "autoincrement": false,
739
+ "default": 0
740
+ },
741
+ "birthday": {
742
+ "name": "birthday",
743
+ "type": "text",
744
+ "primaryKey": false,
745
+ "notNull": false,
746
+ "autoincrement": false
747
+ },
748
+ "region": {
749
+ "name": "region",
750
+ "type": "text",
751
+ "primaryKey": false,
752
+ "notNull": false,
753
+ "autoincrement": false
754
+ },
755
+ "signature": {
756
+ "name": "signature",
757
+ "type": "text",
758
+ "primaryKey": false,
759
+ "notNull": false,
760
+ "autoincrement": false
761
+ },
762
+ "role": {
763
+ "name": "role",
764
+ "type": "integer",
765
+ "primaryKey": false,
766
+ "notNull": true,
767
+ "autoincrement": false,
768
+ "default": 1
769
+ },
770
+ "status": {
771
+ "name": "status",
772
+ "type": "integer",
773
+ "primaryKey": false,
774
+ "notNull": true,
775
+ "autoincrement": false,
776
+ "default": 1
777
+ },
778
+ "created_at": {
779
+ "name": "created_at",
780
+ "type": "text",
781
+ "primaryKey": false,
782
+ "notNull": true,
783
+ "autoincrement": false,
784
+ "default": "(CURRENT_TIMESTAMP)"
785
+ },
786
+ "updated_at": {
787
+ "name": "updated_at",
788
+ "type": "text",
789
+ "primaryKey": false,
790
+ "notNull": true,
791
+ "autoincrement": false,
792
+ "default": "(CURRENT_TIMESTAMP)"
793
+ },
794
+ "remark": {
795
+ "name": "remark",
796
+ "type": "text",
797
+ "primaryKey": false,
798
+ "notNull": false,
799
+ "autoincrement": false
800
+ }
801
+ },
802
+ "indexes": {
803
+ "user_username_unique": {
804
+ "name": "user_username_unique",
805
+ "columns": [
806
+ "username"
807
+ ],
808
+ "isUnique": true
809
+ },
810
+ "user_email_unique": {
811
+ "name": "user_email_unique",
812
+ "columns": [
813
+ "email"
814
+ ],
815
+ "isUnique": true
816
+ },
817
+ "user_mobile_unique": {
818
+ "name": "user_mobile_unique",
819
+ "columns": [
820
+ "mobile"
821
+ ],
822
+ "isUnique": true
823
+ }
824
+ },
825
+ "foreignKeys": {},
826
+ "compositePrimaryKeys": {},
827
+ "uniqueConstraints": {},
828
+ "checkConstraints": {}
829
+ }
830
+ },
831
+ "views": {},
832
+ "enums": {},
833
+ "_meta": {
834
+ "schemas": {},
835
+ "tables": {},
836
+ "columns": {}
837
+ },
838
+ "internal": {
839
+ "indexes": {}
840
+ }
841
+ }