refactor(services): update service creation logic and enhance service group schema
- Changed service creation to default `enabled` to true in the database schema. - Updated service group schema to set default values for `icon`, `domain`, and health check parameters. - Refactored service routes to use `await` for fetching service views, ensuring proper asynchronous handling. - Improved error handling in service groups query to provide clearer feedback on response validation. This commit enhances the overall service management experience by ensuring services are enabled by default and improving the robustness of the service group schema.
This commit is contained in:
Vendored
+2
-2
@@ -29,7 +29,7 @@ var services = sqliteTable("services", {
|
||||
{ onDelete: "set null" }
|
||||
),
|
||||
subdomain: text("subdomain"),
|
||||
enabled: integer("enabled", { mode: "boolean" }).notNull().default(false),
|
||||
enabled: integer("enabled", { mode: "boolean" }).notNull().default(true),
|
||||
sort_order: integer("sort_order").notNull().default(0),
|
||||
lb_weight: integer("lb_weight").notNull().default(1),
|
||||
lb_priority: integer("lb_priority").notNull().default(1),
|
||||
@@ -932,7 +932,7 @@ function getService(db, id) {
|
||||
}
|
||||
function createService(db, name, slug) {
|
||||
const sortOrder = maxSortOrderInGroup(db, null) + 1;
|
||||
const id = db.insert(services).values({ name, slug, subdomain: slug, sort_order: sortOrder }).returning({ id: services.id }).get().id;
|
||||
const id = db.insert(services).values({ name, slug, subdomain: slug, sort_order: sortOrder, enabled: true }).returning({ id: services.id }).get().id;
|
||||
return getService(db, id);
|
||||
}
|
||||
function updateService(db, id, name, slug) {
|
||||
|
||||
@@ -649,7 +649,7 @@ export function createService(db: Db, name: string, slug: string): Service {
|
||||
const sortOrder = maxSortOrderInGroup(db, null) + 1;
|
||||
const id = db
|
||||
.insert(services)
|
||||
.values({ name, slug, subdomain: slug, sort_order: sortOrder })
|
||||
.values({ name, slug, subdomain: slug, sort_order: sortOrder, enabled: true })
|
||||
.returning({ id: services.id })
|
||||
.get()!.id;
|
||||
return getService(db, id);
|
||||
|
||||
@@ -28,7 +28,7 @@ export const services = sqliteTable("services", {
|
||||
{ onDelete: "set null" },
|
||||
),
|
||||
subdomain: text("subdomain"),
|
||||
enabled: integer("enabled", { mode: "boolean" }).notNull().default(false),
|
||||
enabled: integer("enabled", { mode: "boolean" }).notNull().default(true),
|
||||
sort_order: integer("sort_order").notNull().default(0),
|
||||
lb_weight: integer("lb_weight").notNull().default(1),
|
||||
lb_priority: integer("lb_priority").notNull().default(1),
|
||||
|
||||
Reference in New Issue
Block a user