@access-dlsu/leapify 0.260507.5 → 0.260524.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 (135) hide show
  1. package/dist/app.d.ts.map +1 -1
  2. package/dist/chunk-64MMUYMK.cjs +167 -0
  3. package/dist/chunk-64MMUYMK.cjs.map +1 -0
  4. package/dist/chunk-AKCERDGP.js +161 -0
  5. package/dist/chunk-AKCERDGP.js.map +1 -0
  6. package/dist/client/index.cjs +55 -841
  7. package/dist/client/index.cjs.map +1 -1
  8. package/dist/client/index.d.ts +3 -8
  9. package/dist/client/index.d.ts.map +1 -1
  10. package/dist/client/index.js +53 -839
  11. package/dist/client/index.js.map +1 -1
  12. package/dist/client/turnstile.d.ts +25 -0
  13. package/dist/client/turnstile.d.ts.map +1 -0
  14. package/dist/client/types.d.ts +2 -15
  15. package/dist/client/types.d.ts.map +1 -1
  16. package/dist/db/migrate.d.ts.map +1 -1
  17. package/dist/db/schema/classes.d.ts +0 -19
  18. package/dist/db/schema/classes.d.ts.map +1 -1
  19. package/dist/db/schema/site-config.d.ts +0 -83
  20. package/dist/db/schema/site-config.d.ts.map +1 -1
  21. package/dist/index.cjs +666 -38320
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.d.ts +3 -5
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +520 -38167
  26. package/dist/index.js.map +1 -1
  27. package/dist/lib/middleware/cors.d.ts.map +1 -1
  28. package/dist/lib/middleware/rate-limit.d.ts.map +1 -1
  29. package/dist/lib/middleware/referer-guard.d.ts.map +1 -1
  30. package/dist/lib/middleware/turnstile-challenge.cjs +29 -0
  31. package/dist/lib/middleware/turnstile-challenge.cjs.map +1 -0
  32. package/dist/lib/middleware/turnstile-challenge.d.ts +45 -0
  33. package/dist/lib/middleware/turnstile-challenge.d.ts.map +1 -0
  34. package/dist/lib/middleware/turnstile-challenge.js +4 -0
  35. package/dist/lib/middleware/turnstile-challenge.js.map +1 -0
  36. package/dist/queues/jobs.d.ts +0 -5
  37. package/dist/queues/jobs.d.ts.map +1 -1
  38. package/dist/routes/classes.d.ts.map +1 -1
  39. package/dist/routes/faqs.d.ts.map +1 -1
  40. package/dist/routes/site-config.d.ts.map +1 -1
  41. package/dist/routes/themes.d.ts.map +1 -1
  42. package/dist/routes/uploads.d.ts.map +1 -1
  43. package/dist/types.d.ts +5 -26
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/worker-handler.d.ts +1 -0
  46. package/dist/worker-handler.d.ts.map +1 -1
  47. package/dist/worker.js +684 -64365
  48. package/dist/worker.js.map +1 -1
  49. package/package.json +11 -9
  50. package/dist/bun-sqlite-dialect-na--YwnN-NIYANHVJ.cjs +0 -162
  51. package/dist/bun-sqlite-dialect-na--YwnN-NIYANHVJ.cjs.map +0 -1
  52. package/dist/bun-sqlite-dialect-na--YwnN-XVQNOKSL.js +0 -160
  53. package/dist/bun-sqlite-dialect-na--YwnN-XVQNOKSL.js.map +0 -1
  54. package/dist/chunk-4DPT2KQR.cjs +0 -467
  55. package/dist/chunk-4DPT2KQR.cjs.map +0 -1
  56. package/dist/chunk-5JKLV7IE.cjs +0 -2962
  57. package/dist/chunk-5JKLV7IE.cjs.map +0 -1
  58. package/dist/chunk-5OQD5ALM.cjs +0 -76
  59. package/dist/chunk-5OQD5ALM.cjs.map +0 -1
  60. package/dist/chunk-5YYVBPAE.js +0 -2301
  61. package/dist/chunk-5YYVBPAE.js.map +0 -1
  62. package/dist/chunk-6MMWL46O.cjs +0 -7170
  63. package/dist/chunk-6MMWL46O.cjs.map +0 -1
  64. package/dist/chunk-EGRHWZRV.js +0 -3
  65. package/dist/chunk-EGRHWZRV.js.map +0 -1
  66. package/dist/chunk-EMMSS5I5.cjs +0 -37
  67. package/dist/chunk-EMMSS5I5.cjs.map +0 -1
  68. package/dist/chunk-FUCJEA2S.js +0 -6196
  69. package/dist/chunk-FUCJEA2S.js.map +0 -1
  70. package/dist/chunk-G3PMV62Z.js +0 -33
  71. package/dist/chunk-G3PMV62Z.js.map +0 -1
  72. package/dist/chunk-GNRL67OU.js +0 -2949
  73. package/dist/chunk-GNRL67OU.js.map +0 -1
  74. package/dist/chunk-HHNEB7YR.js +0 -8
  75. package/dist/chunk-HHNEB7YR.js.map +0 -1
  76. package/dist/chunk-IQEWVHLM.js +0 -889
  77. package/dist/chunk-IQEWVHLM.js.map +0 -1
  78. package/dist/chunk-JIZPYG6H.js +0 -72
  79. package/dist/chunk-JIZPYG6H.js.map +0 -1
  80. package/dist/chunk-JPVIXCF5.cjs +0 -10
  81. package/dist/chunk-JPVIXCF5.cjs.map +0 -1
  82. package/dist/chunk-JQSZJWBN.cjs +0 -3075
  83. package/dist/chunk-JQSZJWBN.cjs.map +0 -1
  84. package/dist/chunk-LVKPYSXI.cjs +0 -2312
  85. package/dist/chunk-LVKPYSXI.cjs.map +0 -1
  86. package/dist/chunk-MNEW2V4T.js +0 -447
  87. package/dist/chunk-MNEW2V4T.js.map +0 -1
  88. package/dist/chunk-MY37YE52.js +0 -3034
  89. package/dist/chunk-MY37YE52.js.map +0 -1
  90. package/dist/chunk-NKIQRCOM.cjs +0 -4
  91. package/dist/chunk-NKIQRCOM.cjs.map +0 -1
  92. package/dist/chunk-OK6RVPEH.cjs +0 -6200
  93. package/dist/chunk-OK6RVPEH.cjs.map +0 -1
  94. package/dist/chunk-OZ6HZKR5.js +0 -228
  95. package/dist/chunk-OZ6HZKR5.js.map +0 -1
  96. package/dist/chunk-RFP2X2FA.cjs +0 -903
  97. package/dist/chunk-RFP2X2FA.cjs.map +0 -1
  98. package/dist/chunk-S5DBMZVP.cjs +0 -234
  99. package/dist/chunk-S5DBMZVP.cjs.map +0 -1
  100. package/dist/chunk-XJSWMHDL.js +0 -7142
  101. package/dist/chunk-XJSWMHDL.js.map +0 -1
  102. package/dist/client/pow.d.ts +0 -28
  103. package/dist/client/pow.d.ts.map +0 -1
  104. package/dist/cron/lifecycle-check.d.ts +0 -10
  105. package/dist/cron/lifecycle-check.d.ts.map +0 -1
  106. package/dist/d1-sqlite-dialect-C2B7YsIT-6TVV7EJ5.js +0 -122
  107. package/dist/d1-sqlite-dialect-C2B7YsIT-6TVV7EJ5.js.map +0 -1
  108. package/dist/d1-sqlite-dialect-C2B7YsIT-PE74FLHQ.cjs +0 -124
  109. package/dist/d1-sqlite-dialect-C2B7YsIT-PE74FLHQ.cjs.map +0 -1
  110. package/dist/dist-DZHA5VYX.cjs +0 -260
  111. package/dist/dist-DZHA5VYX.cjs.map +0 -1
  112. package/dist/dist-RRQUBLLO.js +0 -258
  113. package/dist/dist-RRQUBLLO.js.map +0 -1
  114. package/dist/kysely-adapter-C76KJVG7.js +0 -10
  115. package/dist/kysely-adapter-C76KJVG7.js.map +0 -1
  116. package/dist/kysely-adapter-TGY4UUP5.cjs +0 -27
  117. package/dist/kysely-adapter-TGY4UUP5.cjs.map +0 -1
  118. package/dist/lib/middleware/pow-challenge.cjs +0 -29
  119. package/dist/lib/middleware/pow-challenge.cjs.map +0 -1
  120. package/dist/lib/middleware/pow-challenge.d.ts +0 -58
  121. package/dist/lib/middleware/pow-challenge.d.ts.map +0 -1
  122. package/dist/lib/middleware/pow-challenge.js +0 -4
  123. package/dist/lib/middleware/pow-challenge.js.map +0 -1
  124. package/dist/node-sqlite-dialect-B3H37T3R.cjs +0 -162
  125. package/dist/node-sqlite-dialect-B3H37T3R.cjs.map +0 -1
  126. package/dist/node-sqlite-dialect-GDP7ZE54.js +0 -160
  127. package/dist/node-sqlite-dialect-GDP7ZE54.js.map +0 -1
  128. package/dist/routes/contentful-sync.d.ts +0 -4
  129. package/dist/routes/contentful-sync.d.ts.map +0 -1
  130. package/dist/services/contentful-management.d.ts +0 -38
  131. package/dist/services/contentful-management.d.ts.map +0 -1
  132. package/dist/services/contentful.d.ts +0 -97
  133. package/dist/services/contentful.d.ts.map +0 -1
  134. package/dist/services/snapshot.d.ts +0 -95
  135. package/dist/services/snapshot.d.ts.map +0 -1
@@ -1,160 +0,0 @@
1
- import { CompiledQuery, sql } from './chunk-XJSWMHDL.js';
2
- import { DefaultQueryCompiler, DEFAULT_MIGRATION_TABLE, DEFAULT_MIGRATION_LOCK_TABLE } from './chunk-MY37YE52.js';
3
- import './chunk-G3PMV62Z.js';
4
-
5
- // node_modules/@better-auth/kysely-adapter/dist/node-sqlite-dialect.mjs
6
- var NodeSqliteAdapter = class {
7
- get supportsCreateIfNotExists() {
8
- return true;
9
- }
10
- get supportsTransactionalDdl() {
11
- return false;
12
- }
13
- get supportsReturning() {
14
- return true;
15
- }
16
- async acquireMigrationLock() {
17
- }
18
- async releaseMigrationLock() {
19
- }
20
- get supportsOutput() {
21
- return true;
22
- }
23
- };
24
- var NodeSqliteDriver = class {
25
- #config;
26
- #connectionMutex = new ConnectionMutex();
27
- #db;
28
- #connection;
29
- constructor(config) {
30
- this.#config = { ...config };
31
- }
32
- async init() {
33
- this.#db = this.#config.database;
34
- this.#connection = new NodeSqliteConnection(this.#db);
35
- if (this.#config.onCreateConnection) await this.#config.onCreateConnection(this.#connection);
36
- }
37
- async acquireConnection() {
38
- await this.#connectionMutex.lock();
39
- return this.#connection;
40
- }
41
- async beginTransaction(connection) {
42
- await connection.executeQuery(CompiledQuery.raw("begin"));
43
- }
44
- async commitTransaction(connection) {
45
- await connection.executeQuery(CompiledQuery.raw("commit"));
46
- }
47
- async rollbackTransaction(connection) {
48
- await connection.executeQuery(CompiledQuery.raw("rollback"));
49
- }
50
- async releaseConnection() {
51
- this.#connectionMutex.unlock();
52
- }
53
- async destroy() {
54
- this.#db?.close();
55
- }
56
- };
57
- var NodeSqliteConnection = class {
58
- #db;
59
- constructor(db) {
60
- this.#db = db;
61
- }
62
- executeQuery(compiledQuery) {
63
- const { sql: sql2, parameters } = compiledQuery;
64
- const rows = this.#db.prepare(sql2).all(...parameters);
65
- return Promise.resolve({ rows });
66
- }
67
- async *streamQuery() {
68
- throw new Error("Streaming query is not supported by SQLite driver.");
69
- }
70
- };
71
- var ConnectionMutex = class {
72
- #promise;
73
- #resolve;
74
- async lock() {
75
- while (this.#promise !== void 0) await this.#promise;
76
- this.#promise = new Promise((resolve) => {
77
- this.#resolve = resolve;
78
- });
79
- }
80
- unlock() {
81
- const resolve = this.#resolve;
82
- this.#promise = void 0;
83
- this.#resolve = void 0;
84
- resolve?.();
85
- }
86
- };
87
- var NodeSqliteIntrospector = class {
88
- #db;
89
- constructor(db) {
90
- this.#db = db;
91
- }
92
- async getSchemas() {
93
- return [];
94
- }
95
- async getTables(options = { withInternalKyselyTables: false }) {
96
- let query = this.#db.selectFrom("sqlite_schema").where("type", "=", "table").where("name", "not like", "sqlite_%").select("name").$castTo();
97
- if (!options.withInternalKyselyTables) query = query.where("name", "!=", DEFAULT_MIGRATION_TABLE).where("name", "!=", DEFAULT_MIGRATION_LOCK_TABLE);
98
- const tables = await query.execute();
99
- return Promise.all(tables.map(({ name }) => this.#getTableMetadata(name)));
100
- }
101
- async getMetadata(options) {
102
- return { tables: await this.getTables(options) };
103
- }
104
- async #getTableMetadata(table) {
105
- const db = this.#db;
106
- const autoIncrementCol = (await db.selectFrom("sqlite_master").where("name", "=", table).select("sql").$castTo().execute())[0]?.sql?.split(/[\(\),]/)?.find((it) => it.toLowerCase().includes("autoincrement"))?.split(/\s+/)?.[0]?.replace(/["`]/g, "");
107
- return {
108
- name: table,
109
- columns: (await db.selectFrom(sql`pragma_table_info(${table})`.as("table_info")).select([
110
- "name",
111
- "type",
112
- "notnull",
113
- "dflt_value"
114
- ]).execute()).map((col) => ({
115
- name: col.name,
116
- dataType: col.type,
117
- isNullable: !col.notnull,
118
- isAutoIncrementing: col.name === autoIncrementCol,
119
- hasDefaultValue: col.dflt_value != null
120
- })),
121
- isView: true
122
- };
123
- }
124
- };
125
- var NodeSqliteQueryCompiler = class extends DefaultQueryCompiler {
126
- getCurrentParameterPlaceholder() {
127
- return "?";
128
- }
129
- getLeftIdentifierWrapper() {
130
- return '"';
131
- }
132
- getRightIdentifierWrapper() {
133
- return '"';
134
- }
135
- getAutoIncrement() {
136
- return "autoincrement";
137
- }
138
- };
139
- var NodeSqliteDialect = class {
140
- #config;
141
- constructor(config) {
142
- this.#config = { ...config };
143
- }
144
- createDriver() {
145
- return new NodeSqliteDriver(this.#config);
146
- }
147
- createQueryCompiler() {
148
- return new NodeSqliteQueryCompiler();
149
- }
150
- createAdapter() {
151
- return new NodeSqliteAdapter();
152
- }
153
- createIntrospector(db) {
154
- return new NodeSqliteIntrospector(db);
155
- }
156
- };
157
-
158
- export { NodeSqliteDialect };
159
- //# sourceMappingURL=node-sqlite-dialect-GDP7ZE54.js.map
160
- //# sourceMappingURL=node-sqlite-dialect-GDP7ZE54.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../node_modules/@better-auth/kysely-adapter/dist/node-sqlite-dialect.mjs"],"names":["sql"],"mappings":"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","file":"node-sqlite-dialect-GDP7ZE54.js","sourcesContent":["import { CompiledQuery, DEFAULT_MIGRATION_LOCK_TABLE, DEFAULT_MIGRATION_TABLE, DefaultQueryCompiler, sql } from \"kysely\";\n//#region src/node-sqlite-dialect.ts\nvar NodeSqliteAdapter = class {\n\tget supportsCreateIfNotExists() {\n\t\treturn true;\n\t}\n\tget supportsTransactionalDdl() {\n\t\treturn false;\n\t}\n\tget supportsReturning() {\n\t\treturn true;\n\t}\n\tasync acquireMigrationLock() {}\n\tasync releaseMigrationLock() {}\n\tget supportsOutput() {\n\t\treturn true;\n\t}\n};\nvar NodeSqliteDriver = class {\n\t#config;\n\t#connectionMutex = new ConnectionMutex();\n\t#db;\n\t#connection;\n\tconstructor(config) {\n\t\tthis.#config = { ...config };\n\t}\n\tasync init() {\n\t\tthis.#db = this.#config.database;\n\t\tthis.#connection = new NodeSqliteConnection(this.#db);\n\t\tif (this.#config.onCreateConnection) await this.#config.onCreateConnection(this.#connection);\n\t}\n\tasync acquireConnection() {\n\t\tawait this.#connectionMutex.lock();\n\t\treturn this.#connection;\n\t}\n\tasync beginTransaction(connection) {\n\t\tawait connection.executeQuery(CompiledQuery.raw(\"begin\"));\n\t}\n\tasync commitTransaction(connection) {\n\t\tawait connection.executeQuery(CompiledQuery.raw(\"commit\"));\n\t}\n\tasync rollbackTransaction(connection) {\n\t\tawait connection.executeQuery(CompiledQuery.raw(\"rollback\"));\n\t}\n\tasync releaseConnection() {\n\t\tthis.#connectionMutex.unlock();\n\t}\n\tasync destroy() {\n\t\tthis.#db?.close();\n\t}\n};\nvar NodeSqliteConnection = class {\n\t#db;\n\tconstructor(db) {\n\t\tthis.#db = db;\n\t}\n\texecuteQuery(compiledQuery) {\n\t\tconst { sql, parameters } = compiledQuery;\n\t\tconst rows = this.#db.prepare(sql).all(...parameters);\n\t\treturn Promise.resolve({ rows });\n\t}\n\tasync *streamQuery() {\n\t\tthrow new Error(\"Streaming query is not supported by SQLite driver.\");\n\t}\n};\nvar ConnectionMutex = class {\n\t#promise;\n\t#resolve;\n\tasync lock() {\n\t\twhile (this.#promise !== void 0) await this.#promise;\n\t\tthis.#promise = new Promise((resolve) => {\n\t\t\tthis.#resolve = resolve;\n\t\t});\n\t}\n\tunlock() {\n\t\tconst resolve = this.#resolve;\n\t\tthis.#promise = void 0;\n\t\tthis.#resolve = void 0;\n\t\tresolve?.();\n\t}\n};\nvar NodeSqliteIntrospector = class {\n\t#db;\n\tconstructor(db) {\n\t\tthis.#db = db;\n\t}\n\tasync getSchemas() {\n\t\treturn [];\n\t}\n\tasync getTables(options = { withInternalKyselyTables: false }) {\n\t\tlet query = this.#db.selectFrom(\"sqlite_schema\").where(\"type\", \"=\", \"table\").where(\"name\", \"not like\", \"sqlite_%\").select(\"name\").$castTo();\n\t\tif (!options.withInternalKyselyTables) query = query.where(\"name\", \"!=\", DEFAULT_MIGRATION_TABLE).where(\"name\", \"!=\", DEFAULT_MIGRATION_LOCK_TABLE);\n\t\tconst tables = await query.execute();\n\t\treturn Promise.all(tables.map(({ name }) => this.#getTableMetadata(name)));\n\t}\n\tasync getMetadata(options) {\n\t\treturn { tables: await this.getTables(options) };\n\t}\n\tasync #getTableMetadata(table) {\n\t\tconst db = this.#db;\n\t\tconst autoIncrementCol = (await db.selectFrom(\"sqlite_master\").where(\"name\", \"=\", table).select(\"sql\").$castTo().execute())[0]?.sql?.split(/[\\(\\),]/)?.find((it) => it.toLowerCase().includes(\"autoincrement\"))?.split(/\\s+/)?.[0]?.replace(/[\"`]/g, \"\");\n\t\treturn {\n\t\t\tname: table,\n\t\t\tcolumns: (await db.selectFrom(sql`pragma_table_info(${table})`.as(\"table_info\")).select([\n\t\t\t\t\"name\",\n\t\t\t\t\"type\",\n\t\t\t\t\"notnull\",\n\t\t\t\t\"dflt_value\"\n\t\t\t]).execute()).map((col) => ({\n\t\t\t\tname: col.name,\n\t\t\t\tdataType: col.type,\n\t\t\t\tisNullable: !col.notnull,\n\t\t\t\tisAutoIncrementing: col.name === autoIncrementCol,\n\t\t\t\thasDefaultValue: col.dflt_value != null\n\t\t\t})),\n\t\t\tisView: true\n\t\t};\n\t}\n};\nvar NodeSqliteQueryCompiler = class extends DefaultQueryCompiler {\n\tgetCurrentParameterPlaceholder() {\n\t\treturn \"?\";\n\t}\n\tgetLeftIdentifierWrapper() {\n\t\treturn \"\\\"\";\n\t}\n\tgetRightIdentifierWrapper() {\n\t\treturn \"\\\"\";\n\t}\n\tgetAutoIncrement() {\n\t\treturn \"autoincrement\";\n\t}\n};\nvar NodeSqliteDialect = class {\n\t#config;\n\tconstructor(config) {\n\t\tthis.#config = { ...config };\n\t}\n\tcreateDriver() {\n\t\treturn new NodeSqliteDriver(this.#config);\n\t}\n\tcreateQueryCompiler() {\n\t\treturn new NodeSqliteQueryCompiler();\n\t}\n\tcreateAdapter() {\n\t\treturn new NodeSqliteAdapter();\n\t}\n\tcreateIntrospector(db) {\n\t\treturn new NodeSqliteIntrospector(db);\n\t}\n};\n//#endregion\nexport { NodeSqliteDialect };\n"]}
@@ -1,4 +0,0 @@
1
- import { Hono } from 'hono';
2
- import type { LeapifyEnv } from '../types';
3
- export declare const contentfulSyncRoute: Hono<LeapifyEnv, import("hono/types").BlankSchema, "/">;
4
- //# sourceMappingURL=contentful-sync.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contentful-sync.d.ts","sourceRoot":"","sources":["../../src/routes/contentful-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAO1C,eAAO,MAAM,mBAAmB,yDAAyB,CAAA"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Contentful Content Management API client.
3
- * Uses the official `contentful-management` SDK with the plain client API.
4
- */
5
- export interface ContentTypeField {
6
- id: string;
7
- name: string;
8
- type: 'Symbol' | 'Text' | 'Integer' | 'Number' | 'Boolean' | 'Date' | 'Object' | 'Link' | 'Array';
9
- required?: boolean;
10
- localized?: boolean;
11
- validations?: unknown[];
12
- items?: {
13
- type: string;
14
- validations?: unknown[];
15
- };
16
- linkType?: 'Entry' | 'Asset';
17
- }
18
- export declare class ContentfulManagement {
19
- private readonly client;
20
- constructor(spaceId: string, token: string, environment?: string);
21
- static isConfigured(spaceId?: string, token?: string): boolean;
22
- getContentType(contentTypeId: string): Promise<any | null>;
23
- ensureContentType(contentTypeId: string, name: string, fields: ContentTypeField[]): Promise<void>;
24
- private tryPublishExisting;
25
- getEntry(entryId: string): Promise<any | null>;
26
- upsertEntry(contentTypeId: string, entryId: string, fields: Record<string, Record<string, unknown>>): Promise<any>;
27
- unpublishEntry(entryId: string): Promise<any>;
28
- deleteEntry(entryId: string): Promise<void>;
29
- uploadFile(_fileName: string, data: ArrayBuffer, _contentType: string): Promise<string>;
30
- createAssetFromUpload(uploadId: string, title: string, fileName: string, contentType: string): Promise<{
31
- id: string;
32
- url: string;
33
- }>;
34
- static locale(value: unknown): Record<string, unknown>;
35
- static entryRef(entryId: string): Record<string, unknown>;
36
- static assetRef(assetId: string): Record<string, unknown>;
37
- }
38
- //# sourceMappingURL=contentful-management.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contentful-management.d.ts","sourceRoot":"","sources":["../../src/services/contentful-management.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IACjG,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,WAAW,CAAC,EAAE,OAAO,EAAE,CAAA;IACvB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE,CAAA;IACjD,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CAC7B;AAID,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAK;gBAEhB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,SAAW;IAUlE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAMxD,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAU1D,iBAAiB,CACrB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,gBAAgB,EAAE,GACzB,OAAO,CAAC,IAAI,CAAC;YA0EF,kBAAkB;IAgC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAS9C,WAAW,CACf,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC9C,OAAO,CAAC,GAAG,CAAC;IAmBT,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAM7C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKvF,qBAAqB,CACzB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IA6BvC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAItD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIzD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAG1D"}
@@ -1,97 +0,0 @@
1
- /**
2
- * Contentful Delivery API client.
3
- * Fully fetch-native — no SDK (edge compatible).
4
- *
5
- * Uses the Content Delivery API (read-only, published content only).
6
- * All responses are JSON; asset files are fetched separately via their CDN URL.
7
- */
8
- interface ContentfulSys {
9
- id: string;
10
- type: string;
11
- createdAt: string;
12
- updatedAt: string;
13
- contentType?: {
14
- sys: {
15
- type: string;
16
- linkType: string;
17
- id: string;
18
- };
19
- };
20
- }
21
- interface ContentfulAssetFile {
22
- url: string;
23
- details: {
24
- size: number;
25
- image?: {
26
- width: number;
27
- height: number;
28
- };
29
- };
30
- fileName: string;
31
- contentType: string;
32
- }
33
- export interface ContentfulEntry {
34
- sys: ContentfulSys;
35
- fields: Record<string, unknown>;
36
- }
37
- export interface ContentfulAsset {
38
- sys: {
39
- id: string;
40
- type: 'Asset';
41
- createdAt: string;
42
- updatedAt: string;
43
- };
44
- fields: {
45
- title?: string;
46
- description?: string;
47
- file?: ContentfulAssetFile;
48
- };
49
- }
50
- export declare class ContentfulService {
51
- private readonly spaceId;
52
- private readonly accessToken;
53
- private readonly environment;
54
- constructor(spaceId: string, accessToken: string, environment?: string);
55
- /**
56
- * Returns true if the required Contentful credentials are configured.
57
- */
58
- static isConfigured(spaceId?: string, accessToken?: string): boolean;
59
- /**
60
- * Fetch all entries of a given content type.
61
- * Handles pagination automatically (100 per page, Contentful max).
62
- */
63
- getEntries(contentTypeId: string): Promise<ContentfulEntry[]>;
64
- /**
65
- * Fetch all assets. Handles pagination.
66
- */
67
- getAssets(): Promise<ContentfulAsset[]>;
68
- /**
69
- * Download an asset file from Contentful's CDN.
70
- * Returns the raw ArrayBuffer and content type.
71
- */
72
- downloadAsset(assetUrl: string): Promise<{
73
- data: ArrayBuffer;
74
- contentType: string;
75
- }>;
76
- /**
77
- * Extract a field value from a Contentful entry, handling locale wrapping.
78
- * Contentful fields are often `{ "en-US": value }` — this unwraps them.
79
- */
80
- static getField<T = unknown>(entry: ContentfulEntry, fieldName: string): T | undefined;
81
- /**
82
- * Extract a linked entry/sys reference ID from a reference field.
83
- */
84
- static getRefId(entry: ContentfulEntry, fieldName: string): string | undefined;
85
- /**
86
- * Extract an asset URL from a linked asset field.
87
- */
88
- static getAssetUrl(entry: ContentfulEntry, fieldName: string): string | undefined;
89
- /**
90
- * Resolve an asset URL by ID from a list of fetched assets.
91
- */
92
- static resolveAssetUrl(assets: ContentfulAsset[], assetId: string): string | undefined;
93
- private headers;
94
- private buildUrl;
95
- }
96
- export {};
97
- //# sourceMappingURL=contentful.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contentful.d.ts","sourceRoot":"","sources":["../../src/services/contentful.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE;QAAE,GAAG,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;CACtE;AAED,UAAU,mBAAmB;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAA;IACpE,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,aAAa,CAAA;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACxE,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,IAAI,CAAC,EAAE,mBAAmB,CAAA;KAC3B,CAAA;CACF;AAgBD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;gBAExB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,SAAW;IAMxE;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,OAAO,CAAC,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO;IAMV;;;OAGG;IACG,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IA4BnE;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IA+B7C;;;OAGG;IACG,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAiB1F;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAYtF;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAK9E;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAKjF;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAOtF,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,QAAQ;CAajB"}
@@ -1,95 +0,0 @@
1
- /**
2
- * Contentful → D1 + R2 snapshot service.
3
- *
4
- * Pulls published content from Contentful, downloads images into R2
5
- * (with SHA-256 dedup to skip unchanged files), and upserts rows into D1.
6
- * Caches fetched Contentful entries in KV to reduce API strain.
7
- *
8
- * Called by the `snapshot_content` queue handler and the admin sync endpoint.
9
- */
10
- import type { R2Bucket, KVNamespace } from '@cloudflare/workers-types';
11
- import { ContentfulService } from './contentful';
12
- import { ContentfulManagement } from './contentful-management';
13
- import type { LeapifyDb } from '../db';
14
- export interface SnapshotConfig {
15
- eventTypeId: string;
16
- themeTypeId: string;
17
- faqTypeId: string;
18
- organizationTypeId: string;
19
- fields: {
20
- event: {
21
- title: string;
22
- slug: string;
23
- theme: string;
24
- organization: string;
25
- venue: string;
26
- date: string;
27
- startTime: string;
28
- endTime: string;
29
- price: string;
30
- image: string;
31
- isSpotlight: string;
32
- maxSlots: string;
33
- gformsUrl: string;
34
- gformsEditorUrl: string;
35
- registrationClosesAt: string;
36
- classCode: string;
37
- };
38
- theme: {
39
- name: string;
40
- path: string;
41
- };
42
- faq: {
43
- question: string;
44
- answer: string;
45
- category: string;
46
- sortOrder: string;
47
- };
48
- organization: {
49
- name: string;
50
- acronym: string;
51
- logoUrl: string;
52
- link: string;
53
- };
54
- siteConfig: {
55
- key: string;
56
- value: string;
57
- };
58
- };
59
- }
60
- export interface SnapshotResult {
61
- themesSynced: number;
62
- eventsSynced: number;
63
- faqsSynced: number;
64
- organizationsSynced: number;
65
- imagesUploaded: number;
66
- imagesSkipped: number;
67
- errors: string[];
68
- }
69
- /**
70
- * Run a full Contentful → D1 + R2 snapshot.
71
- *
72
- * 1. Fetches all themes, events, and FAQs from Contentful (or KV cache).
73
- * 2. For each image asset: downloads from Contentful CDN, computes SHA-256,
74
- * checks R2 for an existing object with the same SHA, and skips the upload
75
- * if unchanged (dedup).
76
- * 3. Upserts all entries into D1.
77
- * 4. Caches fetched Contentful entries in KV for 5 minutes.
78
- */
79
- export declare function snapshotAllContent(db: LeapifyDb, bucket: R2Bucket | undefined, contentful: ContentfulService, config?: Partial<SnapshotConfig>, kv?: KVNamespace): Promise<SnapshotResult>;
80
- /**
81
- * Ensure all Leapify content types exist in Contentful.
82
- * Creates them if missing, updates if fields changed.
83
- *
84
- * Call this once on first sync or when the schema changes.
85
- */
86
- export declare function ensureContentTypes(mgmt: ContentfulManagement, config?: Partial<SnapshotConfig>): Promise<void>;
87
- /**
88
- * Push D1 content to Contentful, skipping entities that haven't changed
89
- * since the last successful push.
90
- *
91
- * Uses KV to store the last push timestamp. If `forceFull` is true,
92
- * pushes all entities regardless of changes.
93
- */
94
- export declare function pushToContentful(db: LeapifyDb, mgmt: ContentfulManagement, config?: Partial<SnapshotConfig>, kv?: KVNamespace, forceFull?: boolean): Promise<SnapshotResult>;
95
- //# sourceMappingURL=snapshot.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../src/services/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAEtE,OAAO,EAAE,iBAAiB,EAA8C,MAAM,cAAc,CAAA;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAQtC,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,MAAM,EAAE;QACN,KAAK,EAAE;YACL,KAAK,EAAE,MAAM,CAAA;YACb,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;YACb,YAAY,EAAE,MAAM,CAAA;YACpB,KAAK,EAAE,MAAM,CAAA;YACb,IAAI,EAAE,MAAM,CAAA;YACZ,SAAS,EAAE,MAAM,CAAA;YACjB,OAAO,EAAE,MAAM,CAAA;YACf,KAAK,EAAE,MAAM,CAAA;YACb,KAAK,EAAE,MAAM,CAAA;YACb,WAAW,EAAE,MAAM,CAAA;YACnB,QAAQ,EAAE,MAAM,CAAA;YAChB,SAAS,EAAE,MAAM,CAAA;YACjB,eAAe,EAAE,MAAM,CAAA;YACvB,oBAAoB,EAAE,MAAM,CAAA;YAC5B,SAAS,EAAE,MAAM,CAAA;SAClB,CAAA;QACD,KAAK,EAAE;YACL,IAAI,EAAE,MAAM,CAAA;YACZ,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;QACD,GAAG,EAAE;YACH,QAAQ,EAAE,MAAM,CAAA;YAChB,MAAM,EAAE,MAAM,CAAA;YACd,QAAQ,EAAE,MAAM,CAAA;YAChB,SAAS,EAAE,MAAM,CAAA;SAClB,CAAA;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,MAAM,CAAA;YACZ,OAAO,EAAE,MAAM,CAAA;YACf,OAAO,EAAE,MAAM,CAAA;YACf,IAAI,EAAE,MAAM,CAAA;SACb,CAAA;QACD,UAAU,EAAE;YACV,GAAG,EAAE,MAAM,CAAA;YACX,KAAK,EAAE,MAAM,CAAA;SACd,CAAA;KACF,CAAA;CACF;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAkDD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,QAAQ,GAAG,SAAS,EAC5B,UAAU,EAAE,iBAAiB,EAC7B,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM,EACpC,EAAE,CAAC,EAAE,WAAW,GACf,OAAO,CAAC,cAAc,CAAC,CA2HzB;AAkTD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,oBAAoB,EAC1B,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM,GACnC,OAAO,CAAC,IAAI,CAAC,CA+Cf;AAMD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,SAAS,EACb,IAAI,EAAE,oBAAoB,EAC1B,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM,EACpC,EAAE,CAAC,EAAE,WAAW,EAChB,SAAS,UAAQ,GAChB,OAAO,CAAC,cAAc,CAAC,CAwJzB"}