Skip to main content

Web Menus (Menu Builder)

Overview

This domain has a single table, menu_builder, which stores the web menu definition for each LINE OA. The entire menu structure is kept as JSONB in the config column and is exposed publicly through public_token. The table uses soft delete via deleted_at

Table menu_builder

ColumnTypeNullableDefaultDescription
idSERIALNOnextval(...)Primary key
nameVARCHAR(255)NO-Menu name
configJSONBNO-Full menu structure and settings
public_tokenVARCHAR(255)YES-Token for opening the menu publicly (unique)
line_oa_idINTEGERNO-LINE OA the menu belongs to (FK to line_oa.id)
statusCommonStatus (ENUM)NOactiveMenu status
created_byINTEGERNO-Creator (user id)
updated_byINTEGERYES-Last updater (user id)
created_atTIMESTAMPTZ(3)NOnow()Creation timestamp
updated_atTIMESTAMPTZ(3)NOnow()Last update timestamp
deleted_atTIMESTAMPTZ(3)YES-Deletion timestamp (soft delete)

Notes

  • line_oa_id is a FK to line_oa.id — every menu must be bound to a LINE OA (NOT NULL)
  • public_token has a unique constraint and is the key used to open the menu page from its public link
  • Indexes exist on line_oa_id, status and created_at to support listing menus per OA with status filtering and creation-date ordering
  • Deletion is soft (deleted_at) alongside status — the row remains in the table