Fix transpiler: function hoisting + re-export paths + DB seed
Transpiler fixes:
- export function declarations now use hoisted function syntax instead
of var assignments, fixing modules that reference functions before
their declaration (e.g., rpc.setCache before export function rpc)
- Re-export paths (export { X } from "./relative") now resolve to
full module names in require() calls
DB seed fixes:
- Remove SQL comments from multi-value INSERT (pgx doesn't support --)
- Split multi-statement setval into individual Exec calls
Middleware:
- Add /web/database/* to public endpoint whitelist
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -258,21 +258,17 @@ func SeedWithSetup(ctx context.Context, pool *pgxpool.Pool, cfg SetupConfig) err
|
||||
seedDemoData(ctx, tx)
|
||||
}
|
||||
|
||||
// 11. Reset sequences
|
||||
tx.Exec(ctx, `
|
||||
SELECT setval('res_currency_id_seq', (SELECT COALESCE(MAX(id),0) FROM res_currency));
|
||||
SELECT setval('res_country_id_seq', (SELECT COALESCE(MAX(id),0) FROM res_country));
|
||||
SELECT setval('res_partner_id_seq', (SELECT COALESCE(MAX(id),0) FROM res_partner));
|
||||
SELECT setval('res_company_id_seq', (SELECT COALESCE(MAX(id),0) FROM res_company));
|
||||
SELECT setval('res_users_id_seq', (SELECT COALESCE(MAX(id),0) FROM res_users));
|
||||
SELECT setval('ir_sequence_id_seq', (SELECT COALESCE(MAX(id),0) FROM ir_sequence));
|
||||
SELECT setval('account_journal_id_seq', (SELECT COALESCE(MAX(id),0) FROM account_journal));
|
||||
SELECT setval('account_account_id_seq', (SELECT COALESCE(MAX(id),0) FROM account_account));
|
||||
SELECT setval('account_tax_id_seq', (SELECT COALESCE(MAX(id),0) FROM account_tax));
|
||||
SELECT setval('sale_order_id_seq', (SELECT COALESCE(MAX(id),0) FROM sale_order));
|
||||
SELECT setval('sale_order_line_id_seq', (SELECT COALESCE(MAX(id),0) FROM sale_order_line));
|
||||
SELECT setval('account_move_id_seq', (SELECT COALESCE(MAX(id),0) FROM account_move));
|
||||
`)
|
||||
// 12. Reset sequences (each individually — pgx doesn't support multi-statement)
|
||||
seqs := []string{
|
||||
"res_currency", "res_country", "res_partner", "res_company",
|
||||
"res_users", "ir_sequence", "account_journal", "account_account",
|
||||
"account_tax", "sale_order", "sale_order_line", "account_move",
|
||||
}
|
||||
for _, table := range seqs {
|
||||
tx.Exec(ctx, fmt.Sprintf(
|
||||
`SELECT setval('%s_id_seq', GREATEST((SELECT COALESCE(MAX(id),0) FROM %q), 1))`,
|
||||
table, table))
|
||||
}
|
||||
|
||||
if err := tx.Commit(ctx); err != nil {
|
||||
return fmt.Errorf("db: commit seed: %w", err)
|
||||
@@ -287,7 +283,6 @@ func seedViews(ctx context.Context, tx pgx.Tx) {
|
||||
log.Println("db: seeding UI views...")
|
||||
|
||||
tx.Exec(ctx, `INSERT INTO ir_ui_view (name, model, type, arch, priority, active, mode) VALUES
|
||||
-- res.partner views
|
||||
('partner.list', 'res.partner', 'list', '<list>
|
||||
<field name="name"/>
|
||||
<field name="email"/>
|
||||
@@ -332,7 +327,6 @@ func seedViews(ctx context.Context, tx pgx.Tx) {
|
||||
<field name="city"/>
|
||||
</search>', 16, true, 'primary'),
|
||||
|
||||
-- account.move views
|
||||
('invoice.list', 'account.move', 'list', '<list>
|
||||
<field name="name"/>
|
||||
<field name="partner_id"/>
|
||||
@@ -343,7 +337,6 @@ func seedViews(ctx context.Context, tx pgx.Tx) {
|
||||
<field name="amount_total"/>
|
||||
</list>', 16, true, 'primary'),
|
||||
|
||||
-- sale.order views
|
||||
('sale.list', 'sale.order', 'list', '<list>
|
||||
<field name="name"/>
|
||||
<field name="partner_id"/>
|
||||
@@ -352,7 +345,6 @@ func seedViews(ctx context.Context, tx pgx.Tx) {
|
||||
<field name="amount_total"/>
|
||||
</list>', 16, true, 'primary'),
|
||||
|
||||
-- crm.lead views
|
||||
('lead.list', 'crm.lead', 'list', '<list>
|
||||
<field name="name"/>
|
||||
<field name="partner_name"/>
|
||||
@@ -363,7 +355,6 @@ func seedViews(ctx context.Context, tx pgx.Tx) {
|
||||
<field name="user_id"/>
|
||||
</list>', 16, true, 'primary'),
|
||||
|
||||
-- res.partner kanban
|
||||
('partner.kanban', 'res.partner', 'kanban', '<kanban>
|
||||
<templates>
|
||||
<t t-name="card">
|
||||
@@ -377,7 +368,6 @@ func seedViews(ctx context.Context, tx pgx.Tx) {
|
||||
</templates>
|
||||
</kanban>', 16, true, 'primary'),
|
||||
|
||||
-- crm.lead kanban (pipeline)
|
||||
('lead.kanban', 'crm.lead', 'kanban', '<kanban default_group_by="stage_id">
|
||||
<templates>
|
||||
<t t-name="card">
|
||||
|
||||
Reference in New Issue
Block a user