mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-09-20 04:37:09 +02:00
Update default assistants to all visible (#2490)
* update default assistants to all visible * update with catch-all * minor update * update
This commit is contained in:
@@ -20,10 +20,23 @@ DEFAULT_ASSISTANTS = [-2, -1, 0]
|
|||||||
|
|
||||||
def upgrade() -> None:
|
def upgrade() -> None:
|
||||||
# Step 1: Update any NULL values to the default value
|
# Step 1: Update any NULL values to the default value
|
||||||
|
# This upgrades existing users without ordered assistant
|
||||||
|
# to have default assistants set to visible assistants which are
|
||||||
|
# accessible by them.
|
||||||
op.execute(
|
op.execute(
|
||||||
f"""
|
"""
|
||||||
UPDATE "user"
|
UPDATE "user" u
|
||||||
SET chosen_assistants = '{DEFAULT_ASSISTANTS}'
|
SET chosen_assistants = (
|
||||||
|
SELECT jsonb_agg(
|
||||||
|
p.id ORDER BY
|
||||||
|
COALESCE(p.display_priority, 2147483647) ASC,
|
||||||
|
p.id ASC
|
||||||
|
)
|
||||||
|
FROM persona p
|
||||||
|
LEFT JOIN persona__user pu ON p.id = pu.persona_id AND pu.user_id = u.id
|
||||||
|
WHERE p.is_visible = true
|
||||||
|
AND (p.is_public = true OR pu.user_id IS NOT NULL)
|
||||||
|
)
|
||||||
WHERE chosen_assistants IS NULL
|
WHERE chosen_assistants IS NULL
|
||||||
OR chosen_assistants = 'null'
|
OR chosen_assistants = 'null'
|
||||||
OR jsonb_typeof(chosen_assistants) = 'null'
|
OR jsonb_typeof(chosen_assistants) = 'null'
|
||||||
|
@@ -306,9 +306,11 @@ export function AssistantsList({
|
|||||||
user?.preferences?.chosen_assistants &&
|
user?.preferences?.chosen_assistants &&
|
||||||
!user?.preferences?.chosen_assistants?.includes(assistant.id)
|
!user?.preferences?.chosen_assistants?.includes(assistant.id)
|
||||||
);
|
);
|
||||||
|
|
||||||
const allAssistantIds = assistants.map((assistant) =>
|
const allAssistantIds = assistants.map((assistant) =>
|
||||||
assistant.id.toString()
|
assistant.id.toString()
|
||||||
);
|
);
|
||||||
|
|
||||||
const [deletingPersona, setDeletingPersona] = useState<Persona | null>(null);
|
const [deletingPersona, setDeletingPersona] = useState<Persona | null>(null);
|
||||||
const [makePublicPersona, setMakePublicPersona] = useState<Persona | null>(
|
const [makePublicPersona, setMakePublicPersona] = useState<Persona | null>(
|
||||||
null
|
null
|
||||||
|
@@ -14,15 +14,20 @@ export function orderAssistantsForUser(
|
|||||||
])
|
])
|
||||||
);
|
);
|
||||||
|
|
||||||
assistants = assistants.filter((assistant) =>
|
let filteredAssistants = assistants.filter((assistant) =>
|
||||||
chosenAssistantsSet.has(assistant.id)
|
chosenAssistantsSet.has(assistant.id)
|
||||||
);
|
);
|
||||||
|
|
||||||
assistants.sort((a, b) => {
|
if (filteredAssistants.length == 0) {
|
||||||
|
return assistants;
|
||||||
|
}
|
||||||
|
|
||||||
|
filteredAssistants.sort((a, b) => {
|
||||||
const orderA = assistantOrderMap.get(a.id) ?? Number.MAX_SAFE_INTEGER;
|
const orderA = assistantOrderMap.get(a.id) ?? Number.MAX_SAFE_INTEGER;
|
||||||
const orderB = assistantOrderMap.get(b.id) ?? Number.MAX_SAFE_INTEGER;
|
const orderB = assistantOrderMap.get(b.id) ?? Number.MAX_SAFE_INTEGER;
|
||||||
return orderA - orderB;
|
return orderA - orderB;
|
||||||
});
|
});
|
||||||
|
return filteredAssistants;
|
||||||
}
|
}
|
||||||
|
|
||||||
return assistants;
|
return assistants;
|
||||||
|
Reference in New Issue
Block a user