Merge branch 'dev' into feat/openwebui-integration

Resolve conflicts by keeping both openWebUi and dev-side registry entries
(integration/widget kinds, creators, docs sitemap). Take dev's next.config
turbopack settings. Reset SQLite migration base to dev's 0040_add_widget_secret;
the integration.creator_id migrations are regenerated for all dialects in a
follow-up commit.
This commit is contained in:
Thomas Camlong committed 2026-07-11 18:11:03 +02:00
commit 411c809c55
517 files changed
+30974 -14645

No files matched your search

+27
View File
@@ -531,6 +531,25 @@ export const customWidgetSecrets = sqliteTable(
}),
);
export const widgetSecrets = sqliteTable(
"widget_secret",
{
itemId: text()
.notNull()
.references(() => items.id, { onDelete: "cascade" }),
kind: text().notNull(),
value: text().$type<`${string}.${string}`>().notNull(),
updatedAt: int({ mode: "timestamp" })
.$onUpdateFn(() => new Date())
.notNull(),
},
(table) => ({
compoundKey: primaryKey({
columns: [table.itemId, table.kind],
}),
}),
);
export const cronJobConfigurations = sqliteTable("cron_job_configuration", {
name: text().notNull().primaryKey(),
cronExpression: text().notNull(),
@@ -740,12 +759,20 @@ export const sectionCollapseStateRelations = relations(sectionCollapseStates, ({
export const itemRelations = relations(items, ({ one, many }) => ({
integrations: many(integrationItems),
layouts: many(itemLayouts),
secrets: many(widgetSecrets),
board: one(boards, {
fields: [items.boardId],
references: [boards.id],
}),
}));
export const widgetSecretRelations = relations(widgetSecrets, ({ one }) => ({
item: one(items, {
fields: [widgetSecrets.itemId],
references: [items.id],
}),
}));
export const integrationItemRelations = relations(integrationItems, ({ one }) => ({
integration: one(integrations, {
fields: [integrationItems.integrationId],