ensure unique niceId for site resources and normal resources

This commit is contained in:
miloschwartz
2025-12-04 21:07:14 -05:00
parent 078692c818
commit 761ed1de9a

View File

@@ -42,11 +42,17 @@ export async function getUniqueResourceName(orgId: string): Promise<string> {
} }
const name = generateName(); const name = generateName();
const count = await db const [resourceCount, siteResourceCount] = await Promise.all([
.select({ niceId: resources.niceId, orgId: resources.orgId }) db
.from(resources) .select({ niceId: resources.niceId, orgId: resources.orgId })
.where(and(eq(resources.niceId, name), eq(resources.orgId, orgId))); .from(resources)
if (count.length === 0) { .where(and(eq(resources.niceId, name), eq(resources.orgId, orgId))),
db
.select({ niceId: siteResources.niceId, orgId: siteResources.orgId })
.from(siteResources)
.where(and(eq(siteResources.niceId, name), eq(siteResources.orgId, orgId)))
]);
if (resourceCount.length === 0 && siteResourceCount.length === 0) {
return name; return name;
} }
loops++; loops++;
@@ -61,11 +67,17 @@ export async function getUniqueSiteResourceName(orgId: string): Promise<string>
} }
const name = generateName(); const name = generateName();
const count = await db const [resourceCount, siteResourceCount] = await Promise.all([
.select({ niceId: siteResources.niceId, orgId: siteResources.orgId }) db
.from(siteResources) .select({ niceId: resources.niceId, orgId: resources.orgId })
.where(and(eq(siteResources.niceId, name), eq(siteResources.orgId, orgId))); .from(resources)
if (count.length === 0) { .where(and(eq(resources.niceId, name), eq(resources.orgId, orgId))),
db
.select({ niceId: siteResources.niceId, orgId: siteResources.orgId })
.from(siteResources)
.where(and(eq(siteResources.niceId, name), eq(siteResources.orgId, orgId)))
]);
if (resourceCount.length === 0 && siteResourceCount.length === 0) {
return name; return name;
} }
loops++; loops++;