fix(deploy): pin bcrypt==4.3.0 for passlib compat, fix seed model imports, fix AppLayout TS blur handler

This commit is contained in:
kevin-asprec
2026-03-16 14:53:10 +08:00
parent 9ef8f1a421
commit 56ecdbead3
3 changed files with 8 additions and 1 deletions

View File

@@ -8,6 +8,7 @@ pydantic[email]==2.10.3
pydantic-settings==2.7.0 pydantic-settings==2.7.0
python-jose[cryptography]==3.3.0 python-jose[cryptography]==3.3.0
passlib[bcrypt]==1.7.4 passlib[bcrypt]==1.7.4
bcrypt==4.3.0
python-multipart==0.0.20 python-multipart==0.0.20
celery==5.4.0 celery==5.4.0
redis==5.2.1 redis==5.2.1

View File

@@ -7,6 +7,8 @@ sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker
from sqlalchemy import select from sqlalchemy import select
from app.database import Base from app.database import Base
# Import all models so Base.metadata has the complete schema
from app.models import user, school, license, sms, billing, ticket, audit, announcement, email_log, report # noqa
from app.models.user import HubUser, UserRole from app.models.user import HubUser, UserRole
from app.auth.password import hash_password from app.auth.password import hash_password

View File

@@ -15,7 +15,7 @@
<input <input
v-model="searchQuery" v-model="searchQuery"
@focus="showSearch = true" @focus="showSearch = true"
@blur="setTimeout(() => showSearch = false, 200)" @blur="onSearchBlur"
@keydown.escape="showSearch = false; searchQuery = ''" @keydown.escape="showSearch = false; searchQuery = ''"
type="text" type="text"
placeholder="Search schools, invoices, tickets…" placeholder="Search schools, invoices, tickets…"
@@ -96,6 +96,10 @@ watch(searchQuery, (q) => {
}, 300) }, 300)
}) })
function onSearchBlur() {
setTimeout(() => { showSearch.value = false }, 200)
}
function navigate(item: any) { function navigate(item: any) {
showSearch.value = false showSearch.value = false
searchQuery.value = '' searchQuery.value = ''