@access-dlsu/leapify 0.260505.5 → 0.260507.1

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 (199) hide show
  1. package/dist/app.d.ts +15 -0
  2. package/dist/app.d.ts.map +1 -0
  3. package/dist/auth/auth.d.ts +99 -0
  4. package/dist/auth/auth.d.ts.map +1 -0
  5. package/dist/auth/middleware.d.ts +20 -0
  6. package/dist/auth/middleware.d.ts.map +1 -0
  7. package/dist/auth/types.d.ts +17 -0
  8. package/dist/auth/types.d.ts.map +1 -0
  9. package/dist/bun-sqlite-dialect-na--YwnN-NIYANHVJ.cjs +162 -0
  10. package/dist/bun-sqlite-dialect-na--YwnN-NIYANHVJ.cjs.map +1 -0
  11. package/dist/bun-sqlite-dialect-na--YwnN-XVQNOKSL.js +160 -0
  12. package/dist/bun-sqlite-dialect-na--YwnN-XVQNOKSL.js.map +1 -0
  13. package/dist/chunk-4DPT2KQR.cjs +467 -0
  14. package/dist/chunk-4DPT2KQR.cjs.map +1 -0
  15. package/dist/chunk-5JKLV7IE.cjs +2962 -0
  16. package/dist/chunk-5JKLV7IE.cjs.map +1 -0
  17. package/dist/chunk-5OQD5ALM.cjs +76 -0
  18. package/dist/chunk-5OQD5ALM.cjs.map +1 -0
  19. package/dist/{chunk-FLR7TNLN.js → chunk-63CUZGSZ.js} +4 -12
  20. package/dist/chunk-63CUZGSZ.js.map +1 -0
  21. package/dist/chunk-6MMWL46O.cjs +7170 -0
  22. package/dist/chunk-6MMWL46O.cjs.map +1 -0
  23. package/dist/chunk-ANNHE3PZ.js +2285 -0
  24. package/dist/chunk-ANNHE3PZ.js.map +1 -0
  25. package/dist/chunk-EGRHWZRV.js +3 -0
  26. package/dist/chunk-EGRHWZRV.js.map +1 -0
  27. package/dist/chunk-EMMSS5I5.cjs +37 -0
  28. package/dist/chunk-EMMSS5I5.cjs.map +1 -0
  29. package/dist/chunk-FUCJEA2S.js +6196 -0
  30. package/dist/chunk-FUCJEA2S.js.map +1 -0
  31. package/dist/chunk-G3PMV62Z.js +33 -0
  32. package/dist/chunk-G3PMV62Z.js.map +1 -0
  33. package/dist/chunk-GNRL67OU.js +2949 -0
  34. package/dist/chunk-GNRL67OU.js.map +1 -0
  35. package/dist/chunk-HHNEB7YR.js +8 -0
  36. package/dist/chunk-HHNEB7YR.js.map +1 -0
  37. package/dist/chunk-IQEWVHLM.js +889 -0
  38. package/dist/chunk-IQEWVHLM.js.map +1 -0
  39. package/dist/chunk-JIZPYG6H.js +72 -0
  40. package/dist/chunk-JIZPYG6H.js.map +1 -0
  41. package/dist/chunk-JPVIXCF5.cjs +10 -0
  42. package/dist/chunk-JPVIXCF5.cjs.map +1 -0
  43. package/dist/chunk-JQSZJWBN.cjs +3075 -0
  44. package/dist/chunk-JQSZJWBN.cjs.map +1 -0
  45. package/dist/chunk-MNEW2V4T.js +447 -0
  46. package/dist/chunk-MNEW2V4T.js.map +1 -0
  47. package/dist/chunk-MY37YE52.js +3034 -0
  48. package/dist/chunk-MY37YE52.js.map +1 -0
  49. package/dist/chunk-NKIQRCOM.cjs +4 -0
  50. package/dist/chunk-NKIQRCOM.cjs.map +1 -0
  51. package/dist/chunk-OK6RVPEH.cjs +6200 -0
  52. package/dist/chunk-OK6RVPEH.cjs.map +1 -0
  53. package/dist/chunk-QARF2YFF.cjs +2296 -0
  54. package/dist/chunk-QARF2YFF.cjs.map +1 -0
  55. package/dist/chunk-RFP2X2FA.cjs +903 -0
  56. package/dist/chunk-RFP2X2FA.cjs.map +1 -0
  57. package/dist/chunk-XJSWMHDL.js +7142 -0
  58. package/dist/chunk-XJSWMHDL.js.map +1 -0
  59. package/dist/{chunk-3ZWIJNZG.cjs → chunk-YFJBE3AU.cjs} +4 -12
  60. package/dist/chunk-YFJBE3AU.cjs.map +1 -0
  61. package/dist/client/{index.d.cts → auth.d.ts} +140 -394
  62. package/dist/client/auth.d.ts.map +1 -0
  63. package/dist/client/index.cjs +909 -48
  64. package/dist/client/index.cjs.map +1 -1
  65. package/dist/client/index.d.ts +83 -1134
  66. package/dist/client/index.d.ts.map +1 -0
  67. package/dist/client/index.js +908 -47
  68. package/dist/client/index.js.map +1 -1
  69. package/dist/client/pow.d.ts +28 -0
  70. package/dist/client/pow.d.ts.map +1 -0
  71. package/dist/client/session.d.ts +29 -0
  72. package/dist/client/session.d.ts.map +1 -0
  73. package/dist/client/types.d.ts +58 -38
  74. package/dist/client/types.d.ts.map +1 -0
  75. package/dist/cron/batch-release.d.ts +9 -0
  76. package/dist/cron/batch-release.d.ts.map +1 -0
  77. package/dist/cron/lifecycle-check.d.ts +10 -0
  78. package/dist/cron/lifecycle-check.d.ts.map +1 -0
  79. package/dist/cron/reconcile-slots.d.ts +10 -0
  80. package/dist/cron/reconcile-slots.d.ts.map +1 -0
  81. package/dist/cron/reminder-emails.d.ts +9 -0
  82. package/dist/cron/reminder-emails.d.ts.map +1 -0
  83. package/dist/cron/renew-watches.d.ts +9 -0
  84. package/dist/cron/renew-watches.d.ts.map +1 -0
  85. package/dist/d1-sqlite-dialect-C2B7YsIT-6TVV7EJ5.js +122 -0
  86. package/dist/d1-sqlite-dialect-C2B7YsIT-6TVV7EJ5.js.map +1 -0
  87. package/dist/d1-sqlite-dialect-C2B7YsIT-PE74FLHQ.cjs +124 -0
  88. package/dist/d1-sqlite-dialect-C2B7YsIT-PE74FLHQ.cjs.map +1 -0
  89. package/dist/db/index.d.ts +7 -0
  90. package/dist/db/index.d.ts.map +1 -0
  91. package/dist/db/migrate.d.ts +23 -0
  92. package/dist/db/migrate.d.ts.map +1 -0
  93. package/dist/db/schema/auth.d.ts +649 -0
  94. package/dist/db/schema/auth.d.ts.map +1 -0
  95. package/dist/db/schema/bookmarks.d.ts +88 -0
  96. package/dist/db/schema/bookmarks.d.ts.map +1 -0
  97. package/dist/db/schema/events.d.ts +546 -0
  98. package/dist/db/schema/events.d.ts.map +1 -0
  99. package/dist/db/schema/faqs.d.ts +137 -0
  100. package/dist/db/schema/faqs.d.ts.map +1 -0
  101. package/dist/db/schema/index.d.ts +9 -0
  102. package/dist/db/schema/index.d.ts.map +1 -0
  103. package/dist/db/schema/organizations.d.ts +125 -0
  104. package/dist/db/schema/organizations.d.ts.map +1 -0
  105. package/dist/db/schema/site-config.d.ts +64 -0
  106. package/dist/db/schema/site-config.d.ts.map +1 -0
  107. package/dist/db/schema/themes.d.ts +104 -0
  108. package/dist/db/schema/themes.d.ts.map +1 -0
  109. package/dist/{types-lTjxCp88.d.cts → db/schema/users.d.ts} +11 -96
  110. package/dist/db/schema/users.d.ts.map +1 -0
  111. package/dist/dist-DZHA5VYX.cjs +260 -0
  112. package/dist/dist-DZHA5VYX.cjs.map +1 -0
  113. package/dist/dist-RRQUBLLO.js +258 -0
  114. package/dist/dist-RRQUBLLO.js.map +1 -0
  115. package/dist/index.cjs +38065 -937
  116. package/dist/index.cjs.map +1 -1
  117. package/dist/index.d.ts +23 -1818
  118. package/dist/index.d.ts.map +1 -0
  119. package/dist/index.js +37940 -816
  120. package/dist/index.js.map +1 -1
  121. package/dist/kysely-adapter-C76KJVG7.js +10 -0
  122. package/dist/kysely-adapter-C76KJVG7.js.map +1 -0
  123. package/dist/kysely-adapter-TGY4UUP5.cjs +27 -0
  124. package/dist/kysely-adapter-TGY4UUP5.cjs.map +1 -0
  125. package/dist/lib/errors.d.ts +15 -0
  126. package/dist/lib/errors.d.ts.map +1 -0
  127. package/dist/lib/middleware/cors.d.ts +3 -0
  128. package/dist/lib/middleware/cors.d.ts.map +1 -0
  129. package/dist/lib/middleware/error-handler.d.ts +3 -0
  130. package/dist/lib/middleware/error-handler.d.ts.map +1 -0
  131. package/dist/lib/middleware/pow-challenge.cjs +7 -7
  132. package/dist/lib/middleware/pow-challenge.d.ts +29 -18
  133. package/dist/lib/middleware/pow-challenge.d.ts.map +1 -0
  134. package/dist/lib/middleware/pow-challenge.js +2 -2
  135. package/dist/lib/middleware/rate-limit.d.ts +48 -0
  136. package/dist/lib/middleware/rate-limit.d.ts.map +1 -0
  137. package/dist/lib/middleware/referer-guard.d.ts +18 -0
  138. package/dist/lib/middleware/referer-guard.d.ts.map +1 -0
  139. package/dist/lib/retry.d.ts +12 -0
  140. package/dist/lib/retry.d.ts.map +1 -0
  141. package/dist/node-sqlite-dialect-B3H37T3R.cjs +162 -0
  142. package/dist/node-sqlite-dialect-B3H37T3R.cjs.map +1 -0
  143. package/dist/node-sqlite-dialect-GDP7ZE54.js +160 -0
  144. package/dist/node-sqlite-dialect-GDP7ZE54.js.map +1 -0
  145. package/dist/queues/handlers.d.ts +13 -0
  146. package/dist/queues/handlers.d.ts.map +1 -0
  147. package/dist/queues/jobs.d.ts +42 -0
  148. package/dist/queues/jobs.d.ts.map +1 -0
  149. package/dist/routes/events.d.ts +4 -0
  150. package/dist/routes/events.d.ts.map +1 -0
  151. package/dist/routes/faqs.d.ts +4 -0
  152. package/dist/routes/faqs.d.ts.map +1 -0
  153. package/dist/routes/health.d.ts +4 -0
  154. package/dist/routes/health.d.ts.map +1 -0
  155. package/dist/routes/internal/gforms-webhook.d.ts +4 -0
  156. package/dist/routes/internal/gforms-webhook.d.ts.map +1 -0
  157. package/dist/routes/organizations.d.ts +4 -0
  158. package/dist/routes/organizations.d.ts.map +1 -0
  159. package/dist/routes/site-config.d.ts +4 -0
  160. package/dist/routes/site-config.d.ts.map +1 -0
  161. package/dist/routes/themes.d.ts +4 -0
  162. package/dist/routes/themes.d.ts.map +1 -0
  163. package/dist/routes/uploads.d.ts +4 -0
  164. package/dist/routes/uploads.d.ts.map +1 -0
  165. package/dist/routes/users.d.ts +4 -0
  166. package/dist/routes/users.d.ts.map +1 -0
  167. package/dist/services/cache.d.ts +22 -0
  168. package/dist/services/cache.d.ts.map +1 -0
  169. package/dist/services/contentful-management.d.ts +38 -0
  170. package/dist/services/contentful-management.d.ts.map +1 -0
  171. package/dist/services/contentful.d.ts +97 -0
  172. package/dist/services/contentful.d.ts.map +1 -0
  173. package/dist/services/email.d.ts +75 -0
  174. package/dist/services/email.d.ts.map +1 -0
  175. package/dist/services/gforms.d.ts +60 -0
  176. package/dist/services/gforms.d.ts.map +1 -0
  177. package/dist/services/resend.d.ts +35 -0
  178. package/dist/services/resend.d.ts.map +1 -0
  179. package/dist/services/ses.d.ts +58 -0
  180. package/dist/services/ses.d.ts.map +1 -0
  181. package/dist/services/slots.d.ts +48 -0
  182. package/dist/services/slots.d.ts.map +1 -0
  183. package/dist/services/snapshot.d.ts +95 -0
  184. package/dist/services/snapshot.d.ts.map +1 -0
  185. package/dist/types.d.ts +66 -0
  186. package/dist/types.d.ts.map +1 -0
  187. package/dist/worker-handler.d.ts +64 -0
  188. package/dist/worker-handler.d.ts.map +1 -0
  189. package/dist/worker.d.ts +36 -0
  190. package/dist/worker.d.ts.map +1 -0
  191. package/dist/worker.js +1172 -583
  192. package/dist/worker.js.map +1 -1
  193. package/package.json +153 -152
  194. package/dist/chunk-3ZWIJNZG.cjs.map +0 -1
  195. package/dist/chunk-FLR7TNLN.js.map +0 -1
  196. package/dist/client/types.d.cts +0 -192
  197. package/dist/index.d.cts +0 -1879
  198. package/dist/lib/middleware/pow-challenge.d.cts +0 -47
  199. package/dist/types-lTjxCp88.d.ts +0 -208
@@ -1,47 +0,0 @@
1
- import * as hono_utils_http_status from 'hono/utils/http-status';
2
- import * as hono from 'hono';
3
- import { Context } from 'hono';
4
- import { L as LeapifyBindings } from '../../types-lTjxCp88.cjs';
5
- import 'drizzle-orm/sqlite-core';
6
- import '@cloudflare/workers-types';
7
-
8
- /** Base path for PoW challenge routes */
9
- declare const POW_PATH = "/.well-known/leapify/pow";
10
- /** Challenge verification endpoint */
11
- declare const POW_VERIFY_PATH = "/.well-known/leapify/pow/verify";
12
- /** Cookie name for PoW auth token */
13
- declare const POW_COOKIE_NAME = "leapify-pow";
14
- /**
15
- * POST /.well-known/leapify/pow/verify
16
- *
17
- * Validates a completed PoW challenge and issues a signed cookie.
18
- * Exported for mounting in app.ts.
19
- */
20
- declare function handlePowVerify(c: Context<{
21
- Bindings: LeapifyBindings;
22
- }>): Promise<(Response & hono.TypedResponse<{
23
- error: {
24
- code: string;
25
- message: string;
26
- };
27
- }, 422, "json">) | (Response & hono.TypedResponse<{
28
- error: {
29
- code: string;
30
- message: string;
31
- };
32
- }, 404, "json">) | (Response & hono.TypedResponse<{
33
- redirect: string;
34
- }, hono_utils_http_status.ContentfulStatusCode, "json">)>;
35
- /**
36
- * PoW challenge middleware.
37
- *
38
- * Mount AFTER cors, BEFORE everything else:
39
- * app.use('*', createCorsMiddleware(...))
40
- * app.use('*', createPowChallengeMiddleware()) ← here
41
- * app.use('*', createRefererGuard(...))
42
- */
43
- declare function createPowChallengeMiddleware(): hono.MiddlewareHandler<{
44
- Bindings: LeapifyBindings;
45
- }, string, {}, Response>;
46
-
47
- export { POW_COOKIE_NAME, POW_PATH, POW_VERIFY_PATH, createPowChallengeMiddleware, handlePowVerify };
@@ -1,208 +0,0 @@
1
- import * as drizzle_orm_sqlite_core from 'drizzle-orm/sqlite-core';
2
- import { D1Database, KVNamespace, R2Bucket, Queue } from '@cloudflare/workers-types';
3
-
4
- declare const users: drizzle_orm_sqlite_core.SQLiteTableWithColumns<{
5
- name: "users";
6
- schema: undefined;
7
- columns: {
8
- id: drizzle_orm_sqlite_core.SQLiteColumn<{
9
- name: "id";
10
- tableName: "users";
11
- dataType: "string";
12
- columnType: "SQLiteText";
13
- data: string;
14
- driverParam: string;
15
- notNull: true;
16
- hasDefault: true;
17
- isPrimaryKey: true;
18
- isAutoincrement: false;
19
- hasRuntimeDefault: true;
20
- enumValues: [string, ...string[]];
21
- baseColumn: never;
22
- identity: undefined;
23
- generated: undefined;
24
- }, {}, {
25
- length: number | undefined;
26
- }>;
27
- betterAuthId: drizzle_orm_sqlite_core.SQLiteColumn<{
28
- name: "better_auth_id";
29
- tableName: "users";
30
- dataType: "string";
31
- columnType: "SQLiteText";
32
- data: string;
33
- driverParam: string;
34
- notNull: true;
35
- hasDefault: false;
36
- isPrimaryKey: false;
37
- isAutoincrement: false;
38
- hasRuntimeDefault: false;
39
- enumValues: [string, ...string[]];
40
- baseColumn: never;
41
- identity: undefined;
42
- generated: undefined;
43
- }, {}, {
44
- length: number | undefined;
45
- }>;
46
- email: drizzle_orm_sqlite_core.SQLiteColumn<{
47
- name: "email";
48
- tableName: "users";
49
- dataType: "string";
50
- columnType: "SQLiteText";
51
- data: string;
52
- driverParam: string;
53
- notNull: true;
54
- hasDefault: false;
55
- isPrimaryKey: false;
56
- isAutoincrement: false;
57
- hasRuntimeDefault: false;
58
- enumValues: [string, ...string[]];
59
- baseColumn: never;
60
- identity: undefined;
61
- generated: undefined;
62
- }, {}, {
63
- length: number | undefined;
64
- }>;
65
- name: drizzle_orm_sqlite_core.SQLiteColumn<{
66
- name: "name";
67
- tableName: "users";
68
- dataType: "string";
69
- columnType: "SQLiteText";
70
- data: string;
71
- driverParam: string;
72
- notNull: true;
73
- hasDefault: false;
74
- isPrimaryKey: false;
75
- isAutoincrement: false;
76
- hasRuntimeDefault: false;
77
- enumValues: [string, ...string[]];
78
- baseColumn: never;
79
- identity: undefined;
80
- generated: undefined;
81
- }, {}, {
82
- length: number | undefined;
83
- }>;
84
- role: drizzle_orm_sqlite_core.SQLiteColumn<{
85
- name: "role";
86
- tableName: "users";
87
- dataType: "string";
88
- columnType: "SQLiteText";
89
- data: "student" | "admin" | "super_admin";
90
- driverParam: string;
91
- notNull: true;
92
- hasDefault: true;
93
- isPrimaryKey: false;
94
- isAutoincrement: false;
95
- hasRuntimeDefault: false;
96
- enumValues: ["student", "admin", "super_admin"];
97
- baseColumn: never;
98
- identity: undefined;
99
- generated: undefined;
100
- }, {}, {
101
- length: number | undefined;
102
- }>;
103
- createdAt: drizzle_orm_sqlite_core.SQLiteColumn<{
104
- name: "created_at";
105
- tableName: "users";
106
- dataType: "number";
107
- columnType: "SQLiteInteger";
108
- data: number;
109
- driverParam: number;
110
- notNull: true;
111
- hasDefault: true;
112
- isPrimaryKey: false;
113
- isAutoincrement: false;
114
- hasRuntimeDefault: false;
115
- enumValues: undefined;
116
- baseColumn: never;
117
- identity: undefined;
118
- generated: undefined;
119
- }, {}, {}>;
120
- };
121
- dialect: "sqlite";
122
- }>;
123
- type User = typeof users.$inferSelect;
124
- type NewUser = typeof users.$inferInsert;
125
- type UserRole = 'student' | 'admin' | 'super_admin';
126
-
127
- /**
128
- * Leapify application user.
129
- * Built from the Better Auth session + our `users` D1 row.
130
- * Cached in KV under `auth:session:<token>` for the session's lifetime.
131
- */
132
- interface LeapifyUser {
133
- /** Better Auth user.id (stored as users.better_auth_id) */
134
- uid: string;
135
- /** Our internal users.id (used for FK joins in bookmarks, etc.) */
136
- dbId: string;
137
- role: UserRole;
138
- email: string;
139
- name: string;
140
- emailVerified: boolean;
141
- }
142
-
143
- /**
144
- * Cloudflare bindings expected in the Worker environment.
145
- * These map directly to wrangler.toml bindings + Worker Secrets.
146
- */
147
- interface LeapifyBindings {
148
- DB: D1Database;
149
- KV: KVNamespace;
150
- FILES?: R2Bucket;
151
- EMAIL_QUEUE?: Queue;
152
- /**
153
- * Standalone mode only: comma-separated list of allowed origins.
154
- * Example: "https://mysite.com,https://www.mysite.com"
155
- * In npm module mode, pass allowedOrigins to createLeapify() instead.
156
- */
157
- ALLOWED_ORIGINS?: string;
158
- BETTER_AUTH_SECRET: string;
159
- /**
160
- * Public HTTPS base URL of this Worker, used by Better Auth for OAuth redirects.
161
- * Example: "https://leap.yourdomain.com"
162
- */
163
- BETTER_AUTH_URL: string;
164
- GOOGLE_CLIENT_ID: string;
165
- GOOGLE_CLIENT_SECRET: string;
166
- /** Optional Google Workspace hosted domain (e.g. "dlsu.edu.ph"). Restricts the OAuth account picker to this domain. */
167
- GOOGLE_HD?: string;
168
- GFORMS_SERVICE_ACCOUNT_JSON: string;
169
- GFORMS_WEBHOOK_SECRET: string;
170
- CONTENTFUL_SPACE_ID?: string;
171
- CONTENTFUL_ACCESS_TOKEN?: string;
172
- CONTENTFUL_MANAGEMENT_TOKEN?: string;
173
- CONTENTFUL_ENVIRONMENT?: string;
174
- SES_REGION?: string;
175
- SES_ACCESS_KEY_ID?: string;
176
- SES_SECRET_ACCESS_KEY?: string;
177
- SES_FROM_ADDRESS?: string;
178
- EMAIL_FROM_NAME?: string;
179
- RESEND_API_KEY?: string;
180
- RESEND_FROM_ADDRESS?: string;
181
- INTERNAL_API_SECRET: string;
182
- /** PoW challenge difficulty (leading zero bits). Default: 4. Range: 1-8. */
183
- POW_DIFFICULTY?: string;
184
- }
185
- /**
186
- * Hono environment type for use across all route handlers.
187
- */
188
- interface LeapifyEnv {
189
- Bindings: LeapifyBindings;
190
- Variables: {
191
- user: LeapifyUser;
192
- gformsWebhookUrl: string | undefined;
193
- };
194
- }
195
- /**
196
- * Known site_config keys with their value types.
197
- */
198
- interface SiteConfigMap {
199
- coming_soon_until: number;
200
- site_ends_at: number;
201
- site_name: string;
202
- registration_globally_open: boolean;
203
- maintenance_mode: boolean;
204
- snapshot_completed: boolean;
205
- }
206
- type SiteConfigKey = keyof SiteConfigMap;
207
-
208
- export { type LeapifyBindings as L, type NewUser as N, type SiteConfigKey as S, type User as U, type UserRole as a, type LeapifyEnv as b, type LeapifyUser as c, type SiteConfigMap as d, users as u };