Adding working board
This commit is contained in:
+17
-6
@@ -10,7 +10,7 @@ function mapped(ids: IdMap, sourceId: string, label: string) {
|
||||
}
|
||||
|
||||
export async function clearBoard(client: PoolClient, boardId: string) {
|
||||
await client.query('DELETE FROM osint.board_timeline_settings WHERE board_id=$1', [boardId])
|
||||
await client.query('DELETE FROM osint.board_views WHERE board_id=$1', [boardId])
|
||||
await client.query('DELETE FROM osint.brief_concepts WHERE board_id=$1', [boardId])
|
||||
await client.query('DELETE FROM osint.level_briefs WHERE board_id=$1', [boardId])
|
||||
await client.query('DELETE FROM osint.metadata_fields WHERE board_id=$1', [boardId])
|
||||
@@ -24,11 +24,22 @@ export async function cloneBoard(client: PoolClient, sourceBoardId: string, targ
|
||||
const regionIds: IdMap = new Map()
|
||||
const fieldIds: IdMap = new Map()
|
||||
|
||||
const timeline = await client.query<{ range_start: string; range_end: string }>(
|
||||
'SELECT range_start::text,range_end::text FROM osint.board_timeline_settings WHERE board_id=$1', [sourceBoardId])
|
||||
if (timeline.rows[0]) await client.query(
|
||||
'INSERT INTO osint.board_timeline_settings (board_id,range_start,range_end) VALUES ($1,$2,$3)',
|
||||
[targetBoardId, timeline.rows[0].range_start, timeline.rows[0].range_end])
|
||||
const views = await client.query<{
|
||||
id: string; view_type_id: string; placement_mode: string; dock_edge: string | null; xpos: number | null; ypos: number | null
|
||||
width: number | null; height: number; z_index: number; visible: boolean; range_mode: string | null; range_start: string | null; range_end: string | null
|
||||
}>(`SELECT v.id,v.view_type_id,v.placement_mode,v.dock_edge,v.xpos,v.ypos,v.width,v.height,v.z_index,v.visible,
|
||||
t.range_mode,t.range_start::text,t.range_end::text FROM osint.board_views v
|
||||
LEFT JOIN osint.timeline_views t ON t.view_id=v.id WHERE v.board_id=$1 ORDER BY v.z_index,v.created_at`, [sourceBoardId])
|
||||
for (const row of views.rows) {
|
||||
const viewId = randomUUID()
|
||||
await client.query(`INSERT INTO osint.board_views
|
||||
(id,board_id,view_type_id,origin_view_id,placement_mode,dock_edge,xpos,ypos,width,height,z_index,visible)
|
||||
VALUES ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12)`, [viewId,targetBoardId,row.view_type_id,row.id,row.placement_mode,row.dock_edge,
|
||||
row.xpos,row.ypos,row.width,row.height,row.z_index,row.visible])
|
||||
if (row.view_type_id === 'timeline') await client.query(
|
||||
'INSERT INTO osint.timeline_views (view_id,range_mode,range_start,range_end) VALUES ($1,$2,$3,$4)',
|
||||
[viewId,row.range_mode || 'auto',row.range_start,row.range_end])
|
||||
}
|
||||
|
||||
const exhibits = await client.query<{
|
||||
id: string; exhibit_type_id: string; xpos: number; ypos: number; width: number; height: number
|
||||
|
||||
Reference in New Issue
Block a user