mirror of
https://github.com/fosrl/pangolin.git
synced 2026-03-04 09:46:40 +00:00
remove org settings json
This commit is contained in:
@@ -25,8 +25,7 @@ export const orgs = pgTable("orgs", {
|
|||||||
orgId: varchar("orgId").primaryKey(),
|
orgId: varchar("orgId").primaryKey(),
|
||||||
name: varchar("name").notNull(),
|
name: varchar("name").notNull(),
|
||||||
subnet: varchar("subnet"),
|
subnet: varchar("subnet"),
|
||||||
createdAt: text("createdAt"),
|
createdAt: text("createdAt")
|
||||||
settings: text("settings") // JSON blob of org-specific settings
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export const orgDomains = pgTable("orgDomains", {
|
export const orgDomains = pgTable("orgDomains", {
|
||||||
|
|||||||
@@ -18,8 +18,7 @@ export const orgs = sqliteTable("orgs", {
|
|||||||
orgId: text("orgId").primaryKey(),
|
orgId: text("orgId").primaryKey(),
|
||||||
name: text("name").notNull(),
|
name: text("name").notNull(),
|
||||||
subnet: text("subnet"),
|
subnet: text("subnet"),
|
||||||
createdAt: text("createdAt"),
|
createdAt: text("createdAt")
|
||||||
settings: text("settings") // JSON blob of org-specific settings
|
|
||||||
});
|
});
|
||||||
|
|
||||||
export const userDomains = sqliteTable("userDomains", {
|
export const userDomains = sqliteTable("userDomains", {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ const getOrgSchema = z
|
|||||||
.strict();
|
.strict();
|
||||||
|
|
||||||
export type GetOrgResponse = {
|
export type GetOrgResponse = {
|
||||||
org: Org & { settings: { } | null };
|
org: Org;
|
||||||
};
|
};
|
||||||
|
|
||||||
registry.registerPath({
|
registry.registerPath({
|
||||||
@@ -64,23 +64,9 @@ export async function getOrg(
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Parse settings from JSON string back to object
|
|
||||||
let parsedSettings = null;
|
|
||||||
if (org[0].settings) {
|
|
||||||
try {
|
|
||||||
parsedSettings = JSON.parse(org[0].settings);
|
|
||||||
} catch (error) {
|
|
||||||
// If parsing fails, keep as string for backward compatibility
|
|
||||||
parsedSettings = org[0].settings;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return response<GetOrgResponse>(res, {
|
return response<GetOrgResponse>(res, {
|
||||||
data: {
|
data: {
|
||||||
org: {
|
org: org[0]
|
||||||
...org[0],
|
|
||||||
settings: parsedSettings
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
success: true,
|
success: true,
|
||||||
error: false,
|
error: false,
|
||||||
|
|||||||
@@ -12,15 +12,13 @@ import { OpenAPITags, registry } from "@server/openApi";
|
|||||||
|
|
||||||
const updateOrgParamsSchema = z
|
const updateOrgParamsSchema = z
|
||||||
.object({
|
.object({
|
||||||
orgId: z.string(),
|
orgId: z.string()
|
||||||
})
|
})
|
||||||
.strict();
|
.strict();
|
||||||
|
|
||||||
const updateOrgBodySchema = z
|
const updateOrgBodySchema = z
|
||||||
.object({
|
.object({
|
||||||
name: z.string().min(1).max(255).optional(),
|
name: z.string().min(1).max(255).optional()
|
||||||
settings: z.object({
|
|
||||||
}).optional(),
|
|
||||||
})
|
})
|
||||||
.strict()
|
.strict()
|
||||||
.refine((data) => Object.keys(data).length > 0, {
|
.refine((data) => Object.keys(data).length > 0, {
|
||||||
@@ -73,13 +71,10 @@ export async function updateOrg(
|
|||||||
|
|
||||||
const { orgId } = parsedParams.data;
|
const { orgId } = parsedParams.data;
|
||||||
|
|
||||||
const settings = parsedBody.data.settings ? JSON.stringify(parsedBody.data.settings) : undefined;
|
|
||||||
|
|
||||||
const updatedOrg = await db
|
const updatedOrg = await db
|
||||||
.update(orgs)
|
.update(orgs)
|
||||||
.set({
|
.set({
|
||||||
name: parsedBody.data.name,
|
name: parsedBody.data.name
|
||||||
settings: settings
|
|
||||||
})
|
})
|
||||||
.where(eq(orgs.orgId, orgId))
|
.where(eq(orgs.orgId, orgId))
|
||||||
.returning();
|
.returning();
|
||||||
|
|||||||
Reference in New Issue
Block a user