MCPcopy Index your code
hub / github.com/DeepNotesApp/DeepNotes / addPageBacklink

Function addPageBacklink

apps/app-server/src/utils/pages.ts:26–65  ·  view source on GitHub ↗
(input: {
  targetPageId: string;
  sourcePageId: string;
  dataAbstraction: ReturnType<typeof dataAbstraction>;
})

Source from the content-addressed store, hash-verified

24);
25
26export async function addPageBacklink(input: {
27 targetPageId: string;
28 sourcePageId: string;
29 dataAbstraction: ReturnType<typeof dataAbstraction>;
30}) {
31 // Insert page link
32
33 await PageLinkModel.query()
34 .insert({
35 target_page_id: input.targetPageId,
36 source_page_id: input.sourcePageId,
37
38 last_activity_date: new Date(),
39 })
40 .onConflict(['source_page_id', 'target_page_id'])
41 .merge();
42
43 // Update backlinks on cache
44
45 const pageBacklinks: string[] = await input.dataAbstraction.hget(
46 'page-backlinks',
47 input.targetPageId,
48 'list',
49 );
50
51 // Prepend source page ID to backlinks
52
53 pull(pageBacklinks, input.sourcePageId);
54 pageBacklinks.splice(0, 0, input.sourcePageId);
55
56 while (pageBacklinks.length > 100) {
57 pageBacklinks.pop();
58 }
59
60 // Update backlinks
61
62 await input.dataAbstraction.hmset('page-backlinks', input.targetPageId, {
63 list: pageBacklinks,
64 });
65}

Callers 2

_updatePageBacklinkFunction · 0.90
createFunction · 0.90

Calls 3

insertMethod · 0.80
hgetMethod · 0.45
hmsetMethod · 0.45

Tested by

no test coverage detected