@growth-labs/cms 0.5.10 → 0.5.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.
- package/README.md +28 -0
- package/dist/engine/index.d.ts +3 -2
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +3 -2
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/publication.d.ts.map +1 -1
- package/dist/engine/publication.js +23 -5
- package/dist/engine/publication.js.map +1 -1
- package/dist/engine/published-content.d.ts.map +1 -1
- package/dist/engine/published-content.js +14 -5
- package/dist/engine/published-content.js.map +1 -1
- package/dist/engine/publisher.d.ts +3 -1
- package/dist/engine/publisher.d.ts.map +1 -1
- package/dist/engine/publisher.js +39 -31
- package/dist/engine/publisher.js.map +1 -1
- package/dist/engine/revisions.d.ts +3 -0
- package/dist/engine/revisions.d.ts.map +1 -1
- package/dist/engine/revisions.js +7 -1
- package/dist/engine/revisions.js.map +1 -1
- package/dist/engine/tags.d.ts +9 -2
- package/dist/engine/tags.d.ts.map +1 -1
- package/dist/engine/tags.js +32 -21
- package/dist/engine/tags.js.map +1 -1
- package/dist/engine/taxonomy.d.ts +31 -0
- package/dist/engine/taxonomy.d.ts.map +1 -0
- package/dist/engine/taxonomy.js +125 -0
- package/dist/engine/taxonomy.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/routes/content.d.ts.map +1 -1
- package/dist/routes/content.js +80 -24
- package/dist/routes/content.js.map +1 -1
- package/dist/routes/tags.d.ts.map +1 -1
- package/dist/routes/tags.js +36 -3
- package/dist/routes/tags.js.map +1 -1
- package/dist/schema/migrations.d.ts.map +1 -1
- package/dist/schema/migrations.js +15 -1
- package/dist/schema/migrations.js.map +1 -1
- package/dist/schema/types.d.ts +1 -0
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/types.js.map +1 -1
- package/dist/ui/editor/Rte.d.ts.map +1 -1
- package/dist/ui/editor/Rte.js +2 -12
- package/dist/ui/editor/Rte.js.map +1 -1
- package/dist/ui/editor/extensions.d.ts +3 -0
- package/dist/ui/editor/extensions.d.ts.map +1 -0
- package/dist/ui/editor/extensions.js +18 -0
- package/dist/ui/editor/extensions.js.map +1 -0
- package/dist/ui/editor/serialize.d.ts.map +1 -1
- package/dist/ui/editor/serialize.js +4 -2
- package/dist/ui/editor/serialize.js.map +1 -1
- package/dist/ui/editor/trim-boundary-marks.d.ts +11 -0
- package/dist/ui/editor/trim-boundary-marks.d.ts.map +1 -0
- package/dist/ui/editor/trim-boundary-marks.js +157 -0
- package/dist/ui/editor/trim-boundary-marks.js.map +1 -0
- package/migrations/0023_content_tag_link_labels.sql +11 -0
- package/package.json +1 -1
- package/src/engine/index.ts +14 -0
- package/src/engine/publication.ts +27 -12
- package/src/engine/published-content.ts +14 -8
- package/src/engine/publisher.ts +76 -39
- package/src/engine/revisions.ts +10 -1
- package/src/engine/tags.ts +39 -19
- package/src/engine/taxonomy.ts +226 -0
- package/src/index.ts +2 -0
- package/src/routes/content.ts +72 -26
- package/src/routes/tags.ts +36 -3
- package/src/schema/migrations.ts +15 -1
- package/src/schema/types.ts +1 -0
- package/src/ui/editor/Rte.tsx +2 -12
- package/src/ui/editor/extensions.ts +18 -0
- package/src/ui/editor/serialize.ts +4 -2
- package/src/ui/editor/trim-boundary-marks.ts +181 -0
|
@@ -2,6 +2,8 @@ import type { ContentType } from '../schema/types.js';
|
|
|
2
2
|
import { type ContentMetadata } from './content-metadata.js';
|
|
3
3
|
import type { D1Database } from './d1.js';
|
|
4
4
|
import { type PublishGuardOutcome } from './publish-guard.js';
|
|
5
|
+
import { type TaxonomyTag } from './taxonomy.js';
|
|
6
|
+
export { MAX_ITEM_TAG_COUNT, MAX_ITEM_TAGS_TOTAL_BYTES, MAX_TAG_LABEL_BYTES, TagInputError, validateDeclaredTagList, validateRevisionTaxonomy, validateSingleDeclaredTag, } from './taxonomy.js';
|
|
5
7
|
type ContentVisibility = 'free' | 'premium';
|
|
6
8
|
export declare class PublishContentValidationError extends Error {
|
|
7
9
|
readonly errors: PublishGuardOutcome['errors'];
|
|
@@ -155,6 +157,7 @@ export interface ContentItemRecord {
|
|
|
155
157
|
}
|
|
156
158
|
export declare function ensureUniqueSlug(db: D1Database, slug: string, excludeId?: string): Promise<string>;
|
|
157
159
|
export declare function setContentTags(db: D1Database, contentId: string, tags: string[]): Promise<void>;
|
|
160
|
+
export declare function getContentTagPairs(db: D1Database, contentId: string): Promise<TaxonomyTag[]>;
|
|
158
161
|
export declare function setContentRelations(db: D1Database, contentId: string, relations: Array<{
|
|
159
162
|
relatedId: string;
|
|
160
163
|
rank: number;
|
|
@@ -197,5 +200,4 @@ export declare function duplicateContentItem(db: D1Database, sourceId: string):
|
|
|
197
200
|
} | null>;
|
|
198
201
|
export declare function createRevision(db: D1Database, contentId: string, createdBy?: string | null): Promise<void>;
|
|
199
202
|
export declare function getContentSnapshot(db: D1Database, contentId: string): Promise<Record<string, unknown> | null>;
|
|
200
|
-
export {};
|
|
201
203
|
//# sourceMappingURL=publisher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../src/engine/publisher.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,KAAK,eAAe,EAA4B,MAAM,uBAAuB,CAAA;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAuB,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../src/engine/publisher.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/publisher.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { serializeContentMetadata } from './content-metadata.js';
|
|
2
2
|
import { evaluateArticleBody } from './publish-guard.js';
|
|
3
3
|
import { slugify } from './slug.js';
|
|
4
|
+
import { MAX_ITEM_TAG_COUNT, validateDeclaredTagList, validateStoredTaxonomyRows, } from './taxonomy.js';
|
|
5
|
+
export { MAX_ITEM_TAG_COUNT, MAX_ITEM_TAGS_TOTAL_BYTES, MAX_TAG_LABEL_BYTES, TagInputError, validateDeclaredTagList, validateRevisionTaxonomy, validateSingleDeclaredTag, } from './taxonomy.js';
|
|
4
6
|
function isBodyBackedContentType(type) {
|
|
5
7
|
return type === 'article' || type === 'newsletter' || type === 'page';
|
|
6
8
|
}
|
|
@@ -195,14 +197,6 @@ export async function ensureUniqueSlug(db, slug, excludeId) {
|
|
|
195
197
|
suffix += 1;
|
|
196
198
|
}
|
|
197
199
|
}
|
|
198
|
-
function normalizeTags(tags) {
|
|
199
|
-
if (!tags)
|
|
200
|
-
return [];
|
|
201
|
-
return tags
|
|
202
|
-
.map((tag) => slugify(tag))
|
|
203
|
-
.filter(Boolean)
|
|
204
|
-
.slice(0, 10);
|
|
205
|
-
}
|
|
206
200
|
function serializeTakeaways(value) {
|
|
207
201
|
if (!value)
|
|
208
202
|
return null;
|
|
@@ -212,10 +206,9 @@ function serializeTakeaways(value) {
|
|
|
212
206
|
.slice(0, 4);
|
|
213
207
|
return normalized.length > 0 ? JSON.stringify(normalized) : null;
|
|
214
208
|
}
|
|
215
|
-
async function ensureTags(db,
|
|
216
|
-
const normalized = normalizeTags(tags);
|
|
209
|
+
async function ensureTags(db, pairs) {
|
|
217
210
|
const results = [];
|
|
218
|
-
for (const
|
|
211
|
+
for (const { slug, label } of pairs) {
|
|
219
212
|
// Concurrency-safe upsert. A plain SELECT-then-INSERT races under parallel
|
|
220
213
|
// import shards: two shards can both miss the same shared tag slug and both
|
|
221
214
|
// INSERT it, and the second hits `UNIQUE constraint failed: content_tags.slug`
|
|
@@ -225,30 +218,45 @@ async function ensureTags(db, tags) {
|
|
|
225
218
|
// keyed by tag_id, so shards converging on one shared tag id is correct.
|
|
226
219
|
await db
|
|
227
220
|
.prepare('INSERT INTO content_tags (id, slug, label) VALUES (?, ?, ?) ON CONFLICT(slug) DO NOTHING')
|
|
228
|
-
.bind(crypto.randomUUID(),
|
|
221
|
+
.bind(crypto.randomUUID(), slug, label)
|
|
229
222
|
.run();
|
|
230
223
|
const row = await db
|
|
231
224
|
.prepare('SELECT id, slug FROM content_tags WHERE slug = ? LIMIT 1')
|
|
232
|
-
.bind(
|
|
225
|
+
.bind(slug)
|
|
233
226
|
.first();
|
|
234
227
|
if (!row) {
|
|
235
|
-
throw new Error(`content tag "${
|
|
228
|
+
throw new Error(`content tag "${slug}" could not be resolved after upsert`);
|
|
236
229
|
}
|
|
237
|
-
results.push(row);
|
|
230
|
+
results.push({ ...row, label });
|
|
238
231
|
}
|
|
239
232
|
return results;
|
|
240
233
|
}
|
|
241
234
|
export async function setContentTags(db, contentId, tags) {
|
|
242
|
-
const
|
|
235
|
+
const pairs = validateDeclaredTagList(tags);
|
|
236
|
+
await setContentTagPairs(db, contentId, pairs);
|
|
237
|
+
}
|
|
238
|
+
async function setContentTagPairs(db, contentId, pairs) {
|
|
243
239
|
await db.prepare('DELETE FROM content_tag_links WHERE content_id = ?').bind(contentId).run();
|
|
244
|
-
if (
|
|
240
|
+
if (pairs.length === 0)
|
|
245
241
|
return;
|
|
246
|
-
const tagRows = await ensureTags(db,
|
|
247
|
-
const insert = db.prepare('INSERT INTO content_tag_links (content_id, tag_id) VALUES (?, ?)');
|
|
242
|
+
const tagRows = await ensureTags(db, pairs);
|
|
243
|
+
const insert = db.prepare('INSERT INTO content_tag_links (content_id, tag_id, label) VALUES (?, ?, ?)');
|
|
248
244
|
for (const tag of tagRows) {
|
|
249
|
-
await insert.bind(contentId, tag.id).run();
|
|
245
|
+
await insert.bind(contentId, tag.id, tag.label).run();
|
|
250
246
|
}
|
|
251
247
|
}
|
|
248
|
+
export async function getContentTagPairs(db, contentId) {
|
|
249
|
+
const tags = await db
|
|
250
|
+
.prepare(`SELECT t.slug, COALESCE(l.label, t.label) AS label
|
|
251
|
+
FROM content_tag_links l
|
|
252
|
+
JOIN content_tags t ON t.id = l.tag_id
|
|
253
|
+
WHERE l.content_id = ?
|
|
254
|
+
ORDER BY t.slug ASC
|
|
255
|
+
LIMIT ?`)
|
|
256
|
+
.bind(contentId, MAX_ITEM_TAG_COUNT + 1)
|
|
257
|
+
.all();
|
|
258
|
+
return validateStoredTaxonomyRows(tags.results || []);
|
|
259
|
+
}
|
|
252
260
|
export async function setContentRelations(db, contentId, relations) {
|
|
253
261
|
await db.prepare('DELETE FROM content_relations WHERE content_id = ?').bind(contentId).run();
|
|
254
262
|
if (relations.length === 0)
|
|
@@ -271,6 +279,7 @@ export async function createContent(db, input) {
|
|
|
271
279
|
: input.type === 'podcast'
|
|
272
280
|
? await resolveMediaDuration(db, 'podcast', input.content.audioR2Key, input.content.durationSeconds)
|
|
273
281
|
: null;
|
|
282
|
+
const tagPairs = input.tags === undefined ? null : validateDeclaredTagList(input.tags);
|
|
274
283
|
const id = crypto.randomUUID();
|
|
275
284
|
const slug = await ensureUniqueSlug(db, input.slug);
|
|
276
285
|
const visibility = input.visibility || 'free';
|
|
@@ -321,8 +330,8 @@ export async function createContent(db, input) {
|
|
|
321
330
|
.bind(id, input.content.transcript, input.content.audioR2Key, resolvedMediaDuration)
|
|
322
331
|
.run();
|
|
323
332
|
}
|
|
324
|
-
if (
|
|
325
|
-
await
|
|
333
|
+
if (tagPairs) {
|
|
334
|
+
await setContentTagPairs(db, id, tagPairs);
|
|
326
335
|
}
|
|
327
336
|
return { id, slug };
|
|
328
337
|
}
|
|
@@ -333,6 +342,7 @@ export async function getContentItem(db, id) {
|
|
|
333
342
|
.first();
|
|
334
343
|
}
|
|
335
344
|
export async function updateContentItem(db, id, input) {
|
|
345
|
+
const tagPairs = input.tags === undefined ? null : validateDeclaredTagList(input.tags);
|
|
336
346
|
const existing = await getContentItem(db, id);
|
|
337
347
|
if (!existing)
|
|
338
348
|
return null;
|
|
@@ -489,7 +499,7 @@ export async function updateContentItem(db, id, input) {
|
|
|
489
499
|
.bind(slug, title, seoTitle, description, excerpt, byline, primaryCategory, primaryTopic, featured, visibility, authorId, heroImageId, heroImageAlt, heroImageCaption, socialImageId, canonicalUrl, aiLockedFields, seoFocusKeyword, metadataJson, id)
|
|
490
500
|
.run();
|
|
491
501
|
if (input.tags !== undefined) {
|
|
492
|
-
await
|
|
502
|
+
await setContentTagPairs(db, id, tagPairs ?? []);
|
|
493
503
|
}
|
|
494
504
|
if (input.relations !== undefined) {
|
|
495
505
|
await setContentRelations(db, id, input.relations);
|
|
@@ -740,10 +750,10 @@ export async function duplicateContentItem(db, sourceId) {
|
|
|
740
750
|
.bind(newId, sourceId)
|
|
741
751
|
.run();
|
|
742
752
|
}
|
|
743
|
-
// INSERT…SELECT copy #4 — content_tag_links (carry the same tags).
|
|
753
|
+
// INSERT…SELECT copy #4 — content_tag_links (carry the same canonical tags and labels).
|
|
744
754
|
await db
|
|
745
|
-
.prepare(`INSERT INTO content_tag_links (content_id, tag_id)
|
|
746
|
-
SELECT ?, tag_id FROM content_tag_links WHERE content_id = ?`)
|
|
755
|
+
.prepare(`INSERT INTO content_tag_links (content_id, tag_id, label)
|
|
756
|
+
SELECT ?, tag_id, label FROM content_tag_links WHERE content_id = ?`)
|
|
747
757
|
.bind(newId, sourceId)
|
|
748
758
|
.run();
|
|
749
759
|
return { id: newId, slug: newSlug };
|
|
@@ -789,10 +799,7 @@ export async function getContentSnapshot(db, contentId) {
|
|
|
789
799
|
.bind(contentId)
|
|
790
800
|
.first();
|
|
791
801
|
}
|
|
792
|
-
const tags = await db
|
|
793
|
-
.prepare('SELECT t.slug FROM content_tag_links l JOIN content_tags t ON t.id = l.tag_id WHERE l.content_id = ? ORDER BY t.slug ASC')
|
|
794
|
-
.bind(contentId)
|
|
795
|
-
.all();
|
|
802
|
+
const tags = await getContentTagPairs(db, contentId);
|
|
796
803
|
const related = await db
|
|
797
804
|
.prepare('SELECT related_id, rank, reason FROM content_relations WHERE content_id = ? ORDER BY rank ASC, related_id ASC')
|
|
798
805
|
.bind(contentId)
|
|
@@ -800,7 +807,8 @@ export async function getContentSnapshot(db, contentId) {
|
|
|
800
807
|
return {
|
|
801
808
|
item: base,
|
|
802
809
|
content,
|
|
803
|
-
tags:
|
|
810
|
+
tags: tags.map((row) => row.slug),
|
|
811
|
+
tagLabels: tags.map((row) => row.label),
|
|
804
812
|
related: related.results || [],
|
|
805
813
|
};
|
|
806
814
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../src/engine/publisher.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"publisher.js","sourceRoot":"","sources":["../../src/engine/publisher.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,10 @@ import type { D1Database } from './d1.js';
|
|
|
3
3
|
export interface ContentRevisionPayload {
|
|
4
4
|
item: Record<string, unknown>;
|
|
5
5
|
content: Record<string, unknown> | null;
|
|
6
|
+
/** Canonical tag slugs, ordered ascending. */
|
|
6
7
|
tags: string[];
|
|
8
|
+
/** NFC-normalized display labels parallel to tags[]; preserves original casing through revisions. */
|
|
9
|
+
tagLabels?: string[];
|
|
7
10
|
related: Array<{
|
|
8
11
|
related_id: string;
|
|
9
12
|
rank: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revisions.d.ts","sourceRoot":"","sources":["../../src/engine/revisions.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"revisions.d.ts","sourceRoot":"","sources":["../../src/engine/revisions.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAIzC,oFAAoF;AACpF,MAAM,WAAW,sBAAsB;IACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACvC,8CAA8C;IAC9C,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,qGAAqG;IACrG,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;CAC3E;AAED,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAClB;AA4BD,6EAA6E;AAC7E,wBAAsB,uBAAuB,CAC5C,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GAC3D,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAyCjC;AAED,wBAAsB,aAAa,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAwBjG;AAED,wBAAsB,WAAW,CAChC,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,sBAAsB,CAAA;CAAE,GAAG,IAAI,CAAC,CAmC/E;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACpC,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,GACtC,OAAO,CAAC,OAAO,CAAC,CAyHlB"}
|
package/dist/engine/revisions.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
// ContentRevisionPayload, aligned to getContentSnapshot's output.
|
|
7
7
|
import { parseContentMetadata } from './content-metadata.js';
|
|
8
8
|
import { countWords, getContentItem, getContentSnapshot, updateContentItem } from './publisher.js';
|
|
9
|
+
import { validateRevisionTaxonomy } from './taxonomy.js';
|
|
9
10
|
function bodyWordCount(payload) {
|
|
10
11
|
const md = payload?.content && typeof payload.content.body_markdown === 'string'
|
|
11
12
|
? payload.content.body_markdown
|
|
@@ -132,6 +133,11 @@ export async function restoreRevision(db, contentId, revisionId, opts = {}) {
|
|
|
132
133
|
}
|
|
133
134
|
}
|
|
134
135
|
const restoredTakeaways = parseTakeaways(body?.editor_takeaways);
|
|
136
|
+
const restoredTags = validateRevisionTaxonomy({
|
|
137
|
+
tags: target.payload.tags,
|
|
138
|
+
tagLabels: target.payload.tagLabels,
|
|
139
|
+
allowLegacyLabels: true,
|
|
140
|
+
}).map((tag) => tag.label);
|
|
135
141
|
// Restore intentionally rolls back CONTENT fields (title/body/tags/relations/
|
|
136
142
|
// featured/seo/hero/etc.) to the snapshot, but NOT publication state
|
|
137
143
|
// (status / publish_at / published_at / published_revision_id) — that is by
|
|
@@ -155,7 +161,7 @@ export async function restoreRevision(db, contentId, revisionId, opts = {}) {
|
|
|
155
161
|
// SEO focus keyword is part of the snapshot — restore it too.
|
|
156
162
|
seoFocusKeyword: item.seo_focus_keyword ?? null,
|
|
157
163
|
metadata: parseContentMetadata(typeof item.metadata_json === 'string' ? item.metadata_json : '{}'),
|
|
158
|
-
tags:
|
|
164
|
+
tags: restoredTags,
|
|
159
165
|
relations: target.payload.related.map((r) => ({
|
|
160
166
|
relatedId: r.related_id,
|
|
161
167
|
rank: r.rank,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revisions.js","sourceRoot":"","sources":["../../src/engine/revisions.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,qEAAqE;AACrE,kEAAkE;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"revisions.js","sourceRoot":"","sources":["../../src/engine/revisions.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,qEAAqE;AACrE,kEAAkE;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClG,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAuBxD,SAAS,aAAa,CAAC,OAAsC;IAC5D,MAAM,EAAE,GACP,OAAO,EAAE,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,KAAK,QAAQ;QACpE,CAAC,CAAE,OAAO,CAAC,OAAO,CAAC,aAAwB;QAC3C,CAAC,CAAC,EAAE,CAAA;IACN,OAAO,UAAU,CAAC,EAAE,CAAC,CAAA;AACtB,CAAC;AAED,KAAK,UAAU,qBAAqB,CACnC,EAAc,EACd,SAAiB;IAEjB,MAAM,GAAG,GAAG,MAAM,EAAE;SAClB,OAAO,CACP,8GAA8G,CAC9G;SACA,IAAI,CAAC,SAAS,CAAC;SACf,KAAK,EAA4B,CAAA;IACnC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAA2B,CAAA;IAC9D,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAA;IACZ,CAAC;AACF,CAAC;AAED,6EAA6E;AAC7E,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC5C,EAAc,EACd,SAAiB,EACjB,OAA2D,EAAE;IAE7D,MAAM,QAAQ,GAAG,CAAC,MAAM,kBAAkB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAkC,CAAA;IAC3F,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC1B,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;IACvD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;IACjD,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;IAC9B,MAAM,EAAE;SACN,OAAO,CACP,iKAAiK,CACjK;SACA,IAAI,CACJ,EAAE,EACF,SAAS,EACT,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EACxB,IAAI,CAAC,SAAS,IAAI,IAAI,EACtB,UAAU,EACV,YAAY,EACZ,IAAI,CAAC,GAAG,IAAI,IAAI,CAChB;SACA,GAAG,EAAE,CAAA;IACP,wEAAwE;IACxE,6DAA6D;IAC7D,0EAA0E;IAC1E,uEAAuE;IACvE,iBAAiB;IACjB,MAAM,GAAG,GAAG,MAAM,EAAE;SAClB,OAAO,CAAC,uDAAuD,CAAC;SAChE,IAAI,CAAC,EAAE,CAAC;SACR,KAAK,EAA0B,CAAA;IACjC,OAAO;QACN,EAAE;QACF,SAAS;QACT,SAAS,EAAE,GAAG,EAAE,UAAU,IAAI,CAAC;QAC/B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;QACjC,UAAU;QACV,YAAY;QACZ,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI;KACrB,CAAA;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAc,EAAE,SAAiB;IACpE,MAAM,MAAM,GAAG,MAAM,EAAE;SACrB,OAAO,CACP,iKAAiK,CACjK;SACA,IAAI,CAAC,SAAS,CAAC;SACf,GAAG,EAQA,CAAA;IACL,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzC,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,SAAS,EAAE,CAAC,CAAC,UAAU;QACvB,SAAS,EAAE,CAAC,CAAC,UAAU;QACvB,SAAS,EAAE,CAAC,CAAC,UAAU;QACvB,UAAU,EAAE,CAAC,CAAC,WAAW;QACzB,YAAY,EAAE,CAAC,CAAC,aAAa;QAC7B,GAAG,EAAE,CAAC,CAAC,GAAG;KACV,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,EAAc,EACd,SAAiB,EACjB,UAAkB;IAElB,MAAM,GAAG,GAAG,MAAM,EAAE;SAClB,OAAO,CACP,6JAA6J,CAC7J;SACA,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;SAC3B,KAAK,EASF,CAAA;IACL,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,IAAI,OAA+B,CAAA;IACnC,IAAI,CAAC;QACJ,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAA2B,CAAA;IACjE,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAA;IACZ,CAAC;IACD,OAAO;QACN,OAAO,EAAE;YACR,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,YAAY,EAAE,GAAG,CAAC,aAAa;YAC/B,GAAG,EAAE,GAAG,CAAC,GAAG;SACZ;QACD,OAAO;KACP,CAAA;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,EAAc,EACd,SAAiB,EACjB,UAAkB,EAClB,OAAsC,EAAE;IAExC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IACzB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;IACpD,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAA+B,CAAA;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAyC,CAAA;IACxE,qFAAqF;IACrF,MAAM,IAAI,GAAG,OAYL,CAAA;IAER,iFAAiF;IACjF,6EAA6E;IAC7E,8EAA8E;IAC9E,SAAS,cAAc,CAAC,GAA8B;QACrD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QACrB,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAE,MAAmB,CAAC,CAAC,CAAC,IAAI,CAAA;QAC3D,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,IAAI,CAAA;QACZ,CAAC;IACF,CAAC;IACD,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;IAChE,MAAM,YAAY,GAAG,wBAAwB,CAAC;QAC7C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI;QACzB,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;QACnC,iBAAiB,EAAE,IAAI;KACvB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC1B,8EAA8E;IAC9E,qEAAqE;IACrE,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,iBAAiB,CAAC,EAAE,EAAE,SAAS,EAAE;QACtC,KAAK,EAAG,IAAI,CAAC,KAAgB,IAAI,QAAQ,CAAC,KAAK;QAC/C,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;QAChC,QAAQ,EAAG,IAAI,CAAC,SAA2B,IAAI,IAAI;QACnD,WAAW,EAAG,IAAI,CAAC,WAA6B,IAAI,IAAI;QACxD,OAAO,EAAG,IAAI,CAAC,OAAyB,IAAI,IAAI;QAChD,MAAM,EAAG,IAAI,CAAC,MAAwB,IAAI,IAAI;QAC9C,eAAe,EAAG,IAAI,CAAC,OAAyB,IAAI,IAAI;QACxD,YAAY,EAAG,IAAI,CAAC,aAA+B,IAAI,IAAI;QAC3D,UAAU,EAAG,IAAI,CAAC,UAAiC,IAAI,QAAQ,CAAC,UAAU;QAC1E,QAAQ,EAAG,IAAI,CAAC,SAA2B,IAAI,IAAI;QACnD,WAAW,EAAG,IAAI,CAAC,aAA+B,IAAI,IAAI;QAC1D,YAAY,EAAG,IAAI,CAAC,cAAgC,IAAI,IAAI;QAC5D,gBAAgB,EAAG,IAAI,CAAC,kBAAoC,IAAI,IAAI;QACpE,aAAa,EAAG,IAAI,CAAC,eAAiC,IAAI,IAAI;QAC9D,YAAY,EAAG,IAAI,CAAC,aAA+B,IAAI,IAAI;QAC3D,8DAA8D;QAC9D,eAAe,EAAG,IAAI,CAAC,iBAAmC,IAAI,IAAI;QAClE,QAAQ,EAAE,oBAAoB,CAC7B,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAClE;QACD,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7C,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;SAChB,CAAC,CAAC;QACH,OAAO,EACN,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY;YAC5D,CAAC,CAAC;gBACA,YAAY,EAAE,IAAI,EAAE,aAAa,IAAI,EAAE;gBACvC,QAAQ,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI;gBACjC,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,IAAI;gBAChC,mEAAmE;gBACnE,eAAe,EAAE,iBAAiB;aAClC;YACF,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO;gBAC1B,CAAC,CAAC;oBACA,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,EAAE;oBAC1B,OAAO,EAAE,IAAI,EAAE,QAAQ,IAAI,EAAE;oBAC7B,eAAe,EAAE,IAAI,EAAE,gBAAgB,IAAI,IAAI;oBAC/C,gBAAgB,EAAE,IAAI,EAAE,kBAAkB,IAAI,IAAI;iBAClD;gBACF,CAAC,CAAC;oBACA,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,EAAE;oBAClC,UAAU,EAAE,IAAI,EAAE,YAAY,IAAI,EAAE;oBACpC,eAAe,EAAE,IAAI,EAAE,gBAAgB,IAAI,IAAI;iBAC/C;KACL,CAAC,CAAA;IAEF,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,0EAA0E;IAC1E,MAAM,EAAE;SACN,OAAO,CACP,mGAAmG,CACnG;SACA,IAAI,CACH,IAAI,CAAC,SAA2B,IAAI,IAAI,EACxC,IAAI,CAAC,cAAgC,IAAI,IAAI,EAC9C,SAAS,CACT;SACA,GAAG,EAAE,CAAA;IAEP,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QACnE,MAAM,EAAE;aACN,OAAO,CAAC,8DAA8D,CAAC;aACvE,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,EAAE,SAAS,CAAC;aACvC,GAAG,EAAE,CAAA;IACR,CAAC;IAED,MAAM,uBAAuB,CAAC,EAAE,EAAE,SAAS,EAAE;QAC5C,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;QACjC,GAAG,EAAE,SAAS;KACd,CAAC,CAAA;IACF,OAAO,IAAI,CAAA;AACZ,CAAC"}
|
package/dist/engine/tags.d.ts
CHANGED
|
@@ -5,10 +5,17 @@ export interface TagSummary {
|
|
|
5
5
|
label: string;
|
|
6
6
|
count: number;
|
|
7
7
|
}
|
|
8
|
+
export declare const DEFAULT_TAG_LIST_LIMIT = 100;
|
|
9
|
+
export declare const MAX_TAG_LIST_LIMIT = 500;
|
|
10
|
+
export declare const DEFAULT_TAG_SEARCH_LIMIT = 50;
|
|
8
11
|
export declare function getTag(db: D1Database, tagId: string): Promise<TagSummary | null>;
|
|
9
12
|
export declare function createTag(db: D1Database, label: string): Promise<TagSummary | null>;
|
|
10
|
-
export declare function listTags(db: D1Database
|
|
11
|
-
|
|
13
|
+
export declare function listTags(db: D1Database, options?: {
|
|
14
|
+
limit?: number;
|
|
15
|
+
}): Promise<TagSummary[]>;
|
|
16
|
+
export declare function searchTags(db: D1Database, q: string, options?: {
|
|
17
|
+
limit?: number;
|
|
18
|
+
}): Promise<TagSummary[]>;
|
|
12
19
|
export declare function renameTag(db: D1Database, tagId: string, label: string): Promise<boolean>;
|
|
13
20
|
export declare function deleteTag(db: D1Database, tagId: string): Promise<boolean>;
|
|
14
21
|
//# sourceMappingURL=tags.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/engine/tags.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/engine/tags.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAIzC,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,sBAAsB,MAAM,CAAA;AACzC,eAAO,MAAM,kBAAkB,MAAM,CAAA;AACrC,eAAO,MAAM,wBAAwB,KAAK,CAAA;AAQ1C,wBAAsB,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAYtF;AAED,wBAAsB,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAazF;AAED,wBAAsB,QAAQ,CAC7B,EAAE,EAAE,UAAU,EACd,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9B,OAAO,CAAC,UAAU,EAAE,CAAC,CAYvB;AAED,wBAAsB,UAAU,CAC/B,EAAE,EAAE,UAAU,EACd,CAAC,EAAE,MAAM,EACT,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC9B,OAAO,CAAC,UAAU,EAAE,CAAC,CAcvB;AAED,wBAAsB,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiB9F;AAED,wBAAsB,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAI/E"}
|
package/dist/engine/tags.js
CHANGED
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
// setContentTags / ensureTags (auto-create on assign) stay in publisher.ts;
|
|
3
3
|
// this module adds management over content_tags + content_tag_links.
|
|
4
4
|
import { slugify } from './slug.js';
|
|
5
|
+
import { validateSingleDeclaredTag } from './taxonomy.js';
|
|
6
|
+
export const DEFAULT_TAG_LIST_LIMIT = 100;
|
|
7
|
+
export const MAX_TAG_LIST_LIMIT = 500;
|
|
8
|
+
export const DEFAULT_TAG_SEARCH_LIMIT = 50;
|
|
9
|
+
function normalizeLimit(value, fallback, max) {
|
|
10
|
+
const limit = value ?? fallback;
|
|
11
|
+
if (!Number.isSafeInteger(limit) || limit < 1 || limit > max)
|
|
12
|
+
return fallback;
|
|
13
|
+
return limit;
|
|
14
|
+
}
|
|
5
15
|
export async function getTag(db, tagId) {
|
|
6
16
|
const row = await db
|
|
7
17
|
.prepare(`SELECT t.id, t.slug, t.label, COUNT(l.content_id) AS count
|
|
@@ -14,61 +24,62 @@ export async function getTag(db, tagId) {
|
|
|
14
24
|
return row ?? null;
|
|
15
25
|
}
|
|
16
26
|
export async function createTag(db, label) {
|
|
17
|
-
const
|
|
18
|
-
const trimmed = label.trim();
|
|
19
|
-
if (!slug || !trimmed)
|
|
20
|
-
return null;
|
|
27
|
+
const tag = validateSingleDeclaredTag(label);
|
|
21
28
|
const existing = await db
|
|
22
29
|
.prepare('SELECT id FROM content_tags WHERE slug = ? LIMIT 1')
|
|
23
|
-
.bind(slug)
|
|
30
|
+
.bind(tag.slug)
|
|
24
31
|
.first();
|
|
25
32
|
if (existing)
|
|
26
33
|
return null;
|
|
27
34
|
const id = crypto.randomUUID();
|
|
28
35
|
await db
|
|
29
36
|
.prepare('INSERT INTO content_tags (id, slug, label) VALUES (?, ?, ?)')
|
|
30
|
-
.bind(id, slug,
|
|
37
|
+
.bind(id, tag.slug, tag.label)
|
|
31
38
|
.run();
|
|
32
|
-
return { id, slug, label:
|
|
39
|
+
return { id, slug: tag.slug, label: tag.label, count: 0 };
|
|
33
40
|
}
|
|
34
|
-
export async function listTags(db) {
|
|
41
|
+
export async function listTags(db, options = {}) {
|
|
42
|
+
const limit = normalizeLimit(options.limit, DEFAULT_TAG_LIST_LIMIT, MAX_TAG_LIST_LIMIT);
|
|
35
43
|
const result = await db
|
|
36
44
|
.prepare(`SELECT t.id, t.slug, t.label, COUNT(l.content_id) AS count
|
|
37
45
|
FROM content_tags t
|
|
38
46
|
LEFT JOIN content_tag_links l ON l.tag_id = t.id
|
|
39
|
-
GROUP BY t.id ORDER BY count DESC, t.label ASC
|
|
47
|
+
GROUP BY t.id ORDER BY count DESC, t.label ASC LIMIT ?`)
|
|
48
|
+
.bind(limit)
|
|
40
49
|
.all();
|
|
41
50
|
return result.results || [];
|
|
42
51
|
}
|
|
43
|
-
export async function searchTags(db, q) {
|
|
52
|
+
export async function searchTags(db, q, options = {}) {
|
|
44
53
|
const needle = `${slugify(q)}%`;
|
|
54
|
+
if (needle === '%')
|
|
55
|
+
return [];
|
|
56
|
+
const limit = normalizeLimit(options.limit, DEFAULT_TAG_SEARCH_LIMIT, MAX_TAG_LIST_LIMIT);
|
|
45
57
|
const result = await db
|
|
46
58
|
.prepare(`SELECT t.id, t.slug, t.label, COUNT(l.content_id) AS count
|
|
47
59
|
FROM content_tags t
|
|
48
60
|
LEFT JOIN content_tag_links l ON l.tag_id = t.id
|
|
49
|
-
WHERE t.slug LIKE ? GROUP BY t.id ORDER BY t.label ASC LIMIT
|
|
50
|
-
.bind(needle)
|
|
61
|
+
WHERE t.slug LIKE ? GROUP BY t.id ORDER BY t.label ASC LIMIT ?`)
|
|
62
|
+
.bind(needle, limit)
|
|
51
63
|
.all();
|
|
52
64
|
return result.results || [];
|
|
53
65
|
}
|
|
54
66
|
export async function renameTag(db, tagId, label) {
|
|
55
|
-
const
|
|
56
|
-
const trimmed = label.trim();
|
|
57
|
-
if (!slug || !trimmed)
|
|
58
|
-
return false;
|
|
67
|
+
const tag = validateSingleDeclaredTag(label);
|
|
59
68
|
// content_tags.slug is UNIQUE — a rename whose target slug is already taken by
|
|
60
69
|
// a DIFFERENT tag would throw a constraint error. Fail gracefully (the
|
|
61
70
|
// Promise<boolean> contract) instead, matching the empty-slug early return.
|
|
62
71
|
const clash = await db
|
|
63
72
|
.prepare('SELECT id FROM content_tags WHERE slug = ? AND id != ? LIMIT 1')
|
|
64
|
-
.bind(slug, tagId)
|
|
73
|
+
.bind(tag.slug, tagId)
|
|
65
74
|
.first();
|
|
66
75
|
if (clash)
|
|
67
76
|
return false;
|
|
68
|
-
const res = await db
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
77
|
+
const [res] = await db.batch([
|
|
78
|
+
db
|
|
79
|
+
.prepare('UPDATE content_tags SET label = ?, slug = ? WHERE id = ?')
|
|
80
|
+
.bind(tag.label, tag.slug, tagId),
|
|
81
|
+
db.prepare('UPDATE content_tag_links SET label = ? WHERE tag_id = ?').bind(tag.label, tagId),
|
|
82
|
+
]);
|
|
72
83
|
return Boolean(res.meta && res.meta.changes);
|
|
73
84
|
}
|
|
74
85
|
export async function deleteTag(db, tagId) {
|
package/dist/engine/tags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/engine/tags.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,4EAA4E;AAC5E,qEAAqE;AAGrE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/engine/tags.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** Maximum number of tags per content item. Covers the measured fleet max (16) with headroom. */
|
|
2
|
+
export declare const MAX_ITEM_TAG_COUNT = 32;
|
|
3
|
+
/** Maximum UTF-8 byte length for a single declared tag display label. */
|
|
4
|
+
export declare const MAX_TAG_LABEL_BYTES = 128;
|
|
5
|
+
/** Maximum total UTF-8 bytes across all declared tag labels for one content item. */
|
|
6
|
+
export declare const MAX_ITEM_TAGS_TOTAL_BYTES = 2048;
|
|
7
|
+
export type TagInputErrorCode = 'tags_not_array' | 'tag_not_string' | 'tag_blank' | 'tag_untrimmed' | 'tag_not_nfc' | 'tag_label_too_long' | 'tag_non_slugifiable' | 'tag_duplicate' | 'tag_count_exceeded' | 'tags_total_bytes_exceeded' | 'tag_canonical_invalid' | 'tag_labels_mismatch' | 'tag_label_mismatch';
|
|
8
|
+
export interface TaxonomyTag {
|
|
9
|
+
slug: string;
|
|
10
|
+
label: string;
|
|
11
|
+
}
|
|
12
|
+
export declare class TagInputError extends Error {
|
|
13
|
+
readonly code: TagInputErrorCode;
|
|
14
|
+
readonly limit: number;
|
|
15
|
+
readonly actual: number;
|
|
16
|
+
readonly index: number | null;
|
|
17
|
+
constructor(code: TagInputErrorCode, message: string, limit: number, actual: number, index?: number | null);
|
|
18
|
+
}
|
|
19
|
+
export declare function utf8ByteLength(value: string): number;
|
|
20
|
+
export declare function validateDeclaredTagList(tags: unknown): TaxonomyTag[];
|
|
21
|
+
export declare function validateSingleDeclaredTag(label: unknown): TaxonomyTag;
|
|
22
|
+
export declare function validateRevisionTaxonomy(input: {
|
|
23
|
+
tags: unknown;
|
|
24
|
+
tagLabels?: unknown;
|
|
25
|
+
allowLegacyLabels?: boolean;
|
|
26
|
+
}): TaxonomyTag[];
|
|
27
|
+
export declare function validateStoredTaxonomyRows(rows: readonly {
|
|
28
|
+
slug: unknown;
|
|
29
|
+
label: unknown;
|
|
30
|
+
}[]): TaxonomyTag[];
|
|
31
|
+
//# sourceMappingURL=taxonomy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taxonomy.d.ts","sourceRoot":"","sources":["../../src/engine/taxonomy.ts"],"names":[],"mappings":"AAEA,iGAAiG;AACjG,eAAO,MAAM,kBAAkB,KAAK,CAAA;AACpC,yEAAyE;AACzE,eAAO,MAAM,mBAAmB,MAAM,CAAA;AACtC,qFAAqF;AACrF,eAAO,MAAM,yBAAyB,OAAQ,CAAA;AAE9C,MAAM,MAAM,iBAAiB,GAC1B,gBAAgB,GAChB,gBAAgB,GAChB,WAAW,GACX,eAAe,GACf,aAAa,GACb,oBAAoB,GACpB,qBAAqB,GACrB,eAAe,GACf,oBAAoB,GACpB,2BAA2B,GAC3B,uBAAuB,GACvB,qBAAqB,GACrB,oBAAoB,CAAA;AAEvB,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACb;AAED,qBAAa,aAAc,SAAQ,KAAK;IAEtC,QAAQ,CAAC,IAAI,EAAE,iBAAiB;IAEhC,QAAQ,CAAC,KAAK,EAAE,MAAM;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;gBAJpB,IAAI,EAAE,iBAAiB,EAChC,OAAO,EAAE,MAAM,EACN,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAM,GAAG,IAAW;CAKrC;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD;AA6HD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,EAAE,CAMpE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAErE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC/C,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC3B,GAAG,WAAW,EAAE,CA8BhB;AAED,wBAAgB,0BAA0B,CACzC,IAAI,EAAE,SAAS;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,EAAE,GAChD,WAAW,EAAE,CAMf"}
|