offsite 0.0.10 → 0.0.12

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 (97) hide show
  1. package/README.md +24 -24
  2. package/apps/server/dist/main.mjs +2035 -1875
  3. package/apps/server/dist/main.mjs.map +1 -1
  4. package/apps/server/drizzle/20261017103559_browser_push_keys/migration.sql +11 -0
  5. package/apps/server/drizzle/20261017103559_browser_push_keys/snapshot.json +265 -0
  6. package/apps/server/drizzle/20261017110336_browser_machine_ids/migration.sql +3 -0
  7. package/apps/server/drizzle/20261017110336_browser_machine_ids/snapshot.json +252 -0
  8. package/apps/server/drizzle/20261017120143_device_tokens/migration.sql +15 -0
  9. package/apps/server/drizzle/20261017120143_device_tokens/snapshot.json +305 -0
  10. package/apps/web/dist/apple-touch-icon.png +0 -0
  11. package/apps/web/dist/assets/{angular-html-BEUtPJ31.js → angular-html-DNGrmdhg.js} +1 -1
  12. package/apps/web/dist/assets/{angular-ts-Bnr4rzFr.js → angular-ts-D4hBqsOh.js} +1 -1
  13. package/apps/web/dist/assets/{apl-B-JNBTdP.js → apl-CYvdPOPE.js} +1 -1
  14. package/apps/web/dist/assets/{astro-DLjK95IW.js → astro-BqtVnRyx.js} +1 -1
  15. package/apps/web/dist/assets/{blade-PLMCMBeb.js → blade-BPJV2sdT.js} +1 -1
  16. package/apps/web/dist/assets/{c-D5z8xNe6.js → c-CBQDE6Uf.js} +1 -1
  17. package/apps/web/dist/assets/{chapel-B9y2HxI_.js → chapel-BHOESU2p.js} +1 -1
  18. package/apps/web/dist/assets/{cobol-BSwRu2X7.js → cobol-CMpvzrel.js} +1 -1
  19. package/apps/web/dist/assets/{coffee-BAWFR6iF.js → coffee-Bv27C06e.js} +1 -1
  20. package/apps/web/dist/assets/{cpp-CO-vZI4m.js → cpp-MTwxWDTP.js} +1 -1
  21. package/apps/web/dist/assets/{crystal-BSfyPt6R.js → crystal-CI5fSUCy.js} +1 -1
  22. package/apps/web/dist/assets/{css-BOzKs1dt.js → css-BW8DHcmj.js} +1 -1
  23. package/apps/web/dist/assets/{edge-OBqkt95y.js → edge-C2HOl06F.js} +1 -1
  24. package/apps/web/dist/assets/{elixir-B14D2jMM.js → elixir-OV4G1_r7.js} +1 -1
  25. package/apps/web/dist/assets/{elm-DgfIayFq.js → elm-BF0pK-yg.js} +1 -1
  26. package/apps/web/dist/assets/{erb-w-PUv7ic.js → erb-DFQCtOmK.js} +1 -1
  27. package/apps/web/dist/assets/{git-rebase-DnzmyV_3.js → git-rebase-C9nAAu5A.js} +1 -1
  28. package/apps/web/dist/assets/{glimmer-js-CLephpyX.js → glimmer-js-B9gnYdT1.js} +1 -1
  29. package/apps/web/dist/assets/{glimmer-ts-CvphZOog.js → glimmer-ts-BkG38Inm.js} +1 -1
  30. package/apps/web/dist/assets/{glsl-Ddj2GHKO.js → glsl-wwo6dKBr.js} +1 -1
  31. package/apps/web/dist/assets/{graphql-CeGXMmoK.js → graphql-tQJRbYuy.js} +1 -1
  32. package/apps/web/dist/assets/{hack-CtBKZ5VW.js → hack-C9e9oyUG.js} +1 -1
  33. package/apps/web/dist/assets/{haml-DVvVd-Mp.js → haml-CTolMb7J.js} +1 -1
  34. package/apps/web/dist/assets/{handlebars-Blx6Nluh.js → handlebars-CrJTM5vD.js} +1 -1
  35. package/apps/web/dist/assets/{html-O-gZ5M1-.js → html-Be6zOrn3.js} +1 -1
  36. package/apps/web/dist/assets/{html-derivative-BsDe9c3P.js → html-derivative-10Bvy_Et.js} +1 -1
  37. package/apps/web/dist/assets/{http-CAUZeWmG.js → http-GZlGWwa-.js} +1 -1
  38. package/apps/web/dist/assets/{hurl-CYnRsJrb.js → hurl-DEYfhn1R.js} +1 -1
  39. package/apps/web/dist/assets/index-6ofGnhX4.css +2 -0
  40. package/apps/web/dist/assets/index-CiQ326rG.js +1203 -0
  41. package/apps/web/dist/assets/{java-DjjpMT1c.js → java-BsFb26JS.js} +1 -1
  42. package/apps/web/dist/assets/{javascript-BtiswSWS.js → javascript-DDLm5bzW.js} +1 -1
  43. package/apps/web/dist/assets/{jinja-ZQGJY58d.js → jinja-NBeNjUXf.js} +1 -1
  44. package/apps/web/dist/assets/{jison-VPkdeMFr.js → jison-DKz4RK3A.js} +1 -1
  45. package/apps/web/dist/assets/{json-D5BAJIHo.js → json-Bg4r8xCd.js} +1 -1
  46. package/apps/web/dist/assets/{jsx-DMEKVcfT.js → jsx-BMnPLKsa.js} +1 -1
  47. package/apps/web/dist/assets/{julia-BmOLQFch.js → julia-Wll5K4al.js} +1 -1
  48. package/apps/web/dist/assets/{just-YZGutsxo.js → just-BLn1iI69.js} +1 -1
  49. package/apps/web/dist/assets/{latex-CvrF79xl.js → latex-D15HRF2E.js} +1 -1
  50. package/apps/web/dist/assets/{liquid-B--WbaSh.js → liquid-COHkGI02.js} +1 -1
  51. package/apps/web/dist/assets/{lua-BNEqLlv-.js → lua-CkbAAxOH.js} +1 -1
  52. package/apps/web/dist/assets/{marko-jEzbzXvj.js → marko-Dmgo6IU5.js} +1 -1
  53. package/apps/web/dist/assets/{mdc-yfiYVuXh.js → mdc-D_OV_cCt.js} +1 -1
  54. package/apps/web/dist/assets/{nginx-j7vnr3lB.js → nginx-ADn2lIMW.js} +1 -1
  55. package/apps/web/dist/assets/{nim-CV2OP2RC.js → nim-C6zTq4FI.js} +1 -1
  56. package/apps/web/dist/assets/{org-DTTS5Tv_.js → org-D9XGvcFV.js} +1 -1
  57. package/apps/web/dist/assets/{perl-DuF7yMdF.js → perl-B7-K-xLH.js} +1 -1
  58. package/apps/web/dist/assets/{php-8ufnwSAo.js → php-CO9ZzQRp.js} +1 -1
  59. package/apps/web/dist/assets/{pug-D-_t9dIn.js → pug-BaAyPwTO.js} +1 -1
  60. package/apps/web/dist/assets/{qml-DFxD5uAC.js → qml-Cp3pyCa-.js} +1 -1
  61. package/apps/web/dist/assets/{r-D8-Yi2KS.js → r-CT05_vfW.js} +1 -1
  62. package/apps/web/dist/assets/{razor-DhBq7-pb.js → razor-D5rHsTSp.js} +1 -1
  63. package/apps/web/dist/assets/{regexp-C20CUsFr.js → regexp-D6kzd_X5.js} +1 -1
  64. package/apps/web/dist/assets/{rst-DsIaukoD.js → rst-AkFwrhnR.js} +1 -1
  65. package/apps/web/dist/assets/{ruby-C__EgK1w.js → ruby-LNJDVfMG.js} +1 -1
  66. package/apps/web/dist/assets/{sas-BdDDRZUF.js → sas-C8o3xi__.js} +1 -1
  67. package/apps/web/dist/assets/{scss-nPFPh8nF.js → scss-Ch7Tact0.js} +1 -1
  68. package/apps/web/dist/assets/{shellscript-Cfn0DgiQ.js → shellscript-CN-vf6fZ.js} +1 -1
  69. package/apps/web/dist/assets/{shellsession-DFGAcvZ4.js → shellsession-CxId-awN.js} +1 -1
  70. package/apps/web/dist/assets/{soy-8DrmW46F.js → soy-PXtFJtGw.js} +1 -1
  71. package/apps/web/dist/assets/{sql-BeU26hky.js → sql-B7js2_Lu.js} +1 -1
  72. package/apps/web/dist/assets/{stata-OFfE-Kh9.js → stata-C0Zwsf36.js} +1 -1
  73. package/apps/web/dist/assets/{surrealql-Bwt4eVgP.js → surrealql-DawzxLLe.js} +1 -1
  74. package/apps/web/dist/assets/{svelte-DF7N9uBp.js → svelte-CbCoXemF.js} +1 -1
  75. package/apps/web/dist/assets/{templ-CEirsWl9.js → templ-CQyn0W4C.js} +1 -1
  76. package/apps/web/dist/assets/{tex-BvBhDkV4.js → tex-FeZKQwyK.js} +1 -1
  77. package/apps/web/dist/assets/{ts-tags-Dx8bn0ts.js → ts-tags-KsJvoinT.js} +1 -1
  78. package/apps/web/dist/assets/{tsx-vXk5Q55O.js → tsx-Cw6pGPeZ.js} +1 -1
  79. package/apps/web/dist/assets/{twig-CIgLDHIW.js → twig-Cj9MLPms.js} +1 -1
  80. package/apps/web/dist/assets/{typescript-CCW6p4Fc.js → typescript-DwZR66Da.js} +1 -1
  81. package/apps/web/dist/assets/{typst-CQL-qDz3.js → typst--K-bHYFW.js} +1 -1
  82. package/apps/web/dist/assets/{vue-gFAUYOUp.js → vue-BrB0TrD_.js} +1 -1
  83. package/apps/web/dist/assets/{vue-html-BHuiCeAo.js → vue-html-BgNSGBvl.js} +1 -1
  84. package/apps/web/dist/assets/{vue-vine-DxeD8nHa.js → vue-vine-C2qLo1pd.js} +1 -1
  85. package/apps/web/dist/assets/{xml-B43ZEHE5.js → xml-DzdlZG_g.js} +1 -1
  86. package/apps/web/dist/assets/{xsl-icvYLDXv.js → xsl-D3HxAJEY.js} +1 -1
  87. package/apps/web/dist/assets/{yaml-Bj0dlmrV.js → yaml-SX7TQG-a.js} +1 -1
  88. package/apps/web/dist/icon-192.png +0 -0
  89. package/apps/web/dist/icon-512.png +0 -0
  90. package/apps/web/dist/icon-maskable-512.png +0 -0
  91. package/apps/web/dist/icon.svg +4 -2
  92. package/apps/web/dist/index.html +4 -4
  93. package/apps/web/dist/manifest.webmanifest +1 -0
  94. package/apps/web/dist/sw.js +1 -1
  95. package/package.json +4 -3
  96. package/apps/web/dist/assets/index-5vPpgW8A.css +0 -2
  97. package/apps/web/dist/assets/index-CGSSO_em.js +0 -1152
@@ -0,0 +1,11 @@
1
+ DROP TABLE `push_subscriptions`;--> statement-breakpoint
2
+ CREATE TABLE `push_subscriptions` (
3
+ `endpoint` text PRIMARY KEY,
4
+ `p256dh` text NOT NULL,
5
+ `auth` text NOT NULL,
6
+ `public_key` text NOT NULL,
7
+ `private_key` text NOT NULL,
8
+ `server` text NOT NULL
9
+ );--> statement-breakpoint
10
+ ALTER TABLE `machine` DROP COLUMN `push_public_key`;--> statement-breakpoint
11
+ ALTER TABLE `machine` DROP COLUMN `push_private_key`;
@@ -0,0 +1,265 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "sqlite",
4
+ "id": "aff0cac7-eef8-4916-a9f1-b8d98ee87aae",
5
+ "prevIds": [
6
+ "a4e66bc8-c140-48d4-9c7b-6bbfb38a5009"
7
+ ],
8
+ "ddl": [
9
+ {
10
+ "name": "machine",
11
+ "entityType": "tables"
12
+ },
13
+ {
14
+ "name": "projects",
15
+ "entityType": "tables"
16
+ },
17
+ {
18
+ "name": "push_subscriptions",
19
+ "entityType": "tables"
20
+ },
21
+ {
22
+ "name": "sessions",
23
+ "entityType": "tables"
24
+ },
25
+ {
26
+ "name": "tokens",
27
+ "entityType": "tables"
28
+ },
29
+ {
30
+ "type": "text",
31
+ "notNull": false,
32
+ "autoincrement": false,
33
+ "default": null,
34
+ "generated": null,
35
+ "name": "id",
36
+ "entityType": "columns",
37
+ "table": "machine"
38
+ },
39
+ {
40
+ "type": "text",
41
+ "notNull": false,
42
+ "autoincrement": false,
43
+ "default": null,
44
+ "generated": null,
45
+ "name": "id",
46
+ "entityType": "columns",
47
+ "table": "projects"
48
+ },
49
+ {
50
+ "type": "text",
51
+ "notNull": true,
52
+ "autoincrement": false,
53
+ "default": null,
54
+ "generated": null,
55
+ "name": "path",
56
+ "entityType": "columns",
57
+ "table": "projects"
58
+ },
59
+ {
60
+ "type": "text",
61
+ "notNull": true,
62
+ "autoincrement": false,
63
+ "default": null,
64
+ "generated": null,
65
+ "name": "name",
66
+ "entityType": "columns",
67
+ "table": "projects"
68
+ },
69
+ {
70
+ "type": "text",
71
+ "notNull": false,
72
+ "autoincrement": false,
73
+ "default": null,
74
+ "generated": null,
75
+ "name": "logo",
76
+ "entityType": "columns",
77
+ "table": "projects"
78
+ },
79
+ {
80
+ "type": "text",
81
+ "notNull": false,
82
+ "autoincrement": false,
83
+ "default": null,
84
+ "generated": null,
85
+ "name": "endpoint",
86
+ "entityType": "columns",
87
+ "table": "push_subscriptions"
88
+ },
89
+ {
90
+ "type": "text",
91
+ "notNull": true,
92
+ "autoincrement": false,
93
+ "default": null,
94
+ "generated": null,
95
+ "name": "p256dh",
96
+ "entityType": "columns",
97
+ "table": "push_subscriptions"
98
+ },
99
+ {
100
+ "type": "text",
101
+ "notNull": true,
102
+ "autoincrement": false,
103
+ "default": null,
104
+ "generated": null,
105
+ "name": "auth",
106
+ "entityType": "columns",
107
+ "table": "push_subscriptions"
108
+ },
109
+ {
110
+ "type": "text",
111
+ "notNull": true,
112
+ "autoincrement": false,
113
+ "default": null,
114
+ "generated": null,
115
+ "name": "public_key",
116
+ "entityType": "columns",
117
+ "table": "push_subscriptions"
118
+ },
119
+ {
120
+ "type": "text",
121
+ "notNull": true,
122
+ "autoincrement": false,
123
+ "default": null,
124
+ "generated": null,
125
+ "name": "private_key",
126
+ "entityType": "columns",
127
+ "table": "push_subscriptions"
128
+ },
129
+ {
130
+ "type": "text",
131
+ "notNull": true,
132
+ "autoincrement": false,
133
+ "default": null,
134
+ "generated": null,
135
+ "name": "server",
136
+ "entityType": "columns",
137
+ "table": "push_subscriptions"
138
+ },
139
+ {
140
+ "type": "text",
141
+ "notNull": false,
142
+ "autoincrement": false,
143
+ "default": null,
144
+ "generated": null,
145
+ "name": "session_id",
146
+ "entityType": "columns",
147
+ "table": "sessions"
148
+ },
149
+ {
150
+ "type": "integer",
151
+ "notNull": false,
152
+ "autoincrement": false,
153
+ "default": null,
154
+ "generated": null,
155
+ "name": "interacted_at",
156
+ "entityType": "columns",
157
+ "table": "sessions"
158
+ },
159
+ {
160
+ "type": "text",
161
+ "notNull": true,
162
+ "autoincrement": false,
163
+ "default": null,
164
+ "generated": null,
165
+ "name": "status",
166
+ "entityType": "columns",
167
+ "table": "sessions"
168
+ },
169
+ {
170
+ "type": "text",
171
+ "notNull": false,
172
+ "autoincrement": false,
173
+ "default": null,
174
+ "generated": null,
175
+ "name": "hash",
176
+ "entityType": "columns",
177
+ "table": "tokens"
178
+ },
179
+ {
180
+ "type": "text",
181
+ "notNull": false,
182
+ "autoincrement": false,
183
+ "default": null,
184
+ "generated": null,
185
+ "name": "name",
186
+ "entityType": "columns",
187
+ "table": "tokens"
188
+ },
189
+ {
190
+ "type": "integer",
191
+ "notNull": true,
192
+ "autoincrement": false,
193
+ "default": null,
194
+ "generated": null,
195
+ "name": "created_at",
196
+ "entityType": "columns",
197
+ "table": "tokens"
198
+ },
199
+ {
200
+ "type": "integer",
201
+ "notNull": false,
202
+ "autoincrement": false,
203
+ "default": null,
204
+ "generated": null,
205
+ "name": "last_used_at",
206
+ "entityType": "columns",
207
+ "table": "tokens"
208
+ },
209
+ {
210
+ "columns": [
211
+ "id"
212
+ ],
213
+ "nameExplicit": false,
214
+ "name": "machine_pk",
215
+ "table": "machine",
216
+ "entityType": "pks"
217
+ },
218
+ {
219
+ "columns": [
220
+ "id"
221
+ ],
222
+ "nameExplicit": false,
223
+ "name": "projects_pk",
224
+ "table": "projects",
225
+ "entityType": "pks"
226
+ },
227
+ {
228
+ "columns": [
229
+ "endpoint"
230
+ ],
231
+ "nameExplicit": false,
232
+ "name": "push_subscriptions_pk",
233
+ "table": "push_subscriptions",
234
+ "entityType": "pks"
235
+ },
236
+ {
237
+ "columns": [
238
+ "session_id"
239
+ ],
240
+ "nameExplicit": false,
241
+ "name": "sessions_pk",
242
+ "table": "sessions",
243
+ "entityType": "pks"
244
+ },
245
+ {
246
+ "columns": [
247
+ "hash"
248
+ ],
249
+ "nameExplicit": false,
250
+ "name": "tokens_pk",
251
+ "table": "tokens",
252
+ "entityType": "pks"
253
+ },
254
+ {
255
+ "columns": [
256
+ "path"
257
+ ],
258
+ "nameExplicit": false,
259
+ "name": "projects_path_unique",
260
+ "entityType": "uniques",
261
+ "table": "projects"
262
+ }
263
+ ],
264
+ "renames": []
265
+ }
@@ -0,0 +1,3 @@
1
+ DELETE FROM `push_subscriptions`;--> statement-breakpoint
2
+ ALTER TABLE `push_subscriptions` ADD `machine` text NOT NULL;--> statement-breakpoint
3
+ DROP TABLE `machine`;
@@ -0,0 +1,252 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "sqlite",
4
+ "id": "9e5cda03-49dc-4c0f-9826-0e6cbc5da59a",
5
+ "prevIds": [
6
+ "aff0cac7-eef8-4916-a9f1-b8d98ee87aae"
7
+ ],
8
+ "ddl": [
9
+ {
10
+ "name": "projects",
11
+ "entityType": "tables"
12
+ },
13
+ {
14
+ "name": "push_subscriptions",
15
+ "entityType": "tables"
16
+ },
17
+ {
18
+ "name": "sessions",
19
+ "entityType": "tables"
20
+ },
21
+ {
22
+ "name": "tokens",
23
+ "entityType": "tables"
24
+ },
25
+ {
26
+ "type": "text",
27
+ "notNull": false,
28
+ "autoincrement": false,
29
+ "default": null,
30
+ "generated": null,
31
+ "name": "id",
32
+ "entityType": "columns",
33
+ "table": "projects"
34
+ },
35
+ {
36
+ "type": "text",
37
+ "notNull": true,
38
+ "autoincrement": false,
39
+ "default": null,
40
+ "generated": null,
41
+ "name": "path",
42
+ "entityType": "columns",
43
+ "table": "projects"
44
+ },
45
+ {
46
+ "type": "text",
47
+ "notNull": true,
48
+ "autoincrement": false,
49
+ "default": null,
50
+ "generated": null,
51
+ "name": "name",
52
+ "entityType": "columns",
53
+ "table": "projects"
54
+ },
55
+ {
56
+ "type": "text",
57
+ "notNull": false,
58
+ "autoincrement": false,
59
+ "default": null,
60
+ "generated": null,
61
+ "name": "logo",
62
+ "entityType": "columns",
63
+ "table": "projects"
64
+ },
65
+ {
66
+ "type": "text",
67
+ "notNull": false,
68
+ "autoincrement": false,
69
+ "default": null,
70
+ "generated": null,
71
+ "name": "endpoint",
72
+ "entityType": "columns",
73
+ "table": "push_subscriptions"
74
+ },
75
+ {
76
+ "type": "text",
77
+ "notNull": true,
78
+ "autoincrement": false,
79
+ "default": null,
80
+ "generated": null,
81
+ "name": "p256dh",
82
+ "entityType": "columns",
83
+ "table": "push_subscriptions"
84
+ },
85
+ {
86
+ "type": "text",
87
+ "notNull": true,
88
+ "autoincrement": false,
89
+ "default": null,
90
+ "generated": null,
91
+ "name": "auth",
92
+ "entityType": "columns",
93
+ "table": "push_subscriptions"
94
+ },
95
+ {
96
+ "type": "text",
97
+ "notNull": true,
98
+ "autoincrement": false,
99
+ "default": null,
100
+ "generated": null,
101
+ "name": "public_key",
102
+ "entityType": "columns",
103
+ "table": "push_subscriptions"
104
+ },
105
+ {
106
+ "type": "text",
107
+ "notNull": true,
108
+ "autoincrement": false,
109
+ "default": null,
110
+ "generated": null,
111
+ "name": "private_key",
112
+ "entityType": "columns",
113
+ "table": "push_subscriptions"
114
+ },
115
+ {
116
+ "type": "text",
117
+ "notNull": true,
118
+ "autoincrement": false,
119
+ "default": null,
120
+ "generated": null,
121
+ "name": "machine",
122
+ "entityType": "columns",
123
+ "table": "push_subscriptions"
124
+ },
125
+ {
126
+ "type": "text",
127
+ "notNull": true,
128
+ "autoincrement": false,
129
+ "default": null,
130
+ "generated": null,
131
+ "name": "server",
132
+ "entityType": "columns",
133
+ "table": "push_subscriptions"
134
+ },
135
+ {
136
+ "type": "text",
137
+ "notNull": false,
138
+ "autoincrement": false,
139
+ "default": null,
140
+ "generated": null,
141
+ "name": "session_id",
142
+ "entityType": "columns",
143
+ "table": "sessions"
144
+ },
145
+ {
146
+ "type": "integer",
147
+ "notNull": false,
148
+ "autoincrement": false,
149
+ "default": null,
150
+ "generated": null,
151
+ "name": "interacted_at",
152
+ "entityType": "columns",
153
+ "table": "sessions"
154
+ },
155
+ {
156
+ "type": "text",
157
+ "notNull": true,
158
+ "autoincrement": false,
159
+ "default": null,
160
+ "generated": null,
161
+ "name": "status",
162
+ "entityType": "columns",
163
+ "table": "sessions"
164
+ },
165
+ {
166
+ "type": "text",
167
+ "notNull": false,
168
+ "autoincrement": false,
169
+ "default": null,
170
+ "generated": null,
171
+ "name": "hash",
172
+ "entityType": "columns",
173
+ "table": "tokens"
174
+ },
175
+ {
176
+ "type": "text",
177
+ "notNull": false,
178
+ "autoincrement": false,
179
+ "default": null,
180
+ "generated": null,
181
+ "name": "name",
182
+ "entityType": "columns",
183
+ "table": "tokens"
184
+ },
185
+ {
186
+ "type": "integer",
187
+ "notNull": true,
188
+ "autoincrement": false,
189
+ "default": null,
190
+ "generated": null,
191
+ "name": "created_at",
192
+ "entityType": "columns",
193
+ "table": "tokens"
194
+ },
195
+ {
196
+ "type": "integer",
197
+ "notNull": false,
198
+ "autoincrement": false,
199
+ "default": null,
200
+ "generated": null,
201
+ "name": "last_used_at",
202
+ "entityType": "columns",
203
+ "table": "tokens"
204
+ },
205
+ {
206
+ "columns": [
207
+ "id"
208
+ ],
209
+ "nameExplicit": false,
210
+ "name": "projects_pk",
211
+ "table": "projects",
212
+ "entityType": "pks"
213
+ },
214
+ {
215
+ "columns": [
216
+ "endpoint"
217
+ ],
218
+ "nameExplicit": false,
219
+ "name": "push_subscriptions_pk",
220
+ "table": "push_subscriptions",
221
+ "entityType": "pks"
222
+ },
223
+ {
224
+ "columns": [
225
+ "session_id"
226
+ ],
227
+ "nameExplicit": false,
228
+ "name": "sessions_pk",
229
+ "table": "sessions",
230
+ "entityType": "pks"
231
+ },
232
+ {
233
+ "columns": [
234
+ "hash"
235
+ ],
236
+ "nameExplicit": false,
237
+ "name": "tokens_pk",
238
+ "table": "tokens",
239
+ "entityType": "pks"
240
+ },
241
+ {
242
+ "columns": [
243
+ "path"
244
+ ],
245
+ "nameExplicit": false,
246
+ "name": "projects_path_unique",
247
+ "entityType": "uniques",
248
+ "table": "projects"
249
+ }
250
+ ],
251
+ "renames": []
252
+ }
@@ -0,0 +1,15 @@
1
+ CREATE TABLE `devices` (
2
+ `hash` text PRIMARY KEY,
3
+ `name` text,
4
+ `created_at` integer NOT NULL,
5
+ `expires_at` integer NOT NULL,
6
+ `last_used_at` integer
7
+ );
8
+ --> statement-breakpoint
9
+ CREATE TABLE `pairing_codes` (
10
+ `hash` text PRIMARY KEY,
11
+ `name` text,
12
+ `expires_at` integer NOT NULL
13
+ );
14
+ --> statement-breakpoint
15
+ DROP TABLE `tokens`;