fix(deploy): pin bcrypt==4.3.0 for passlib compat, fix seed model imports, fix AppLayout TS blur handler
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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 = ''
|
||||||
|
|||||||
Reference in New Issue
Block a user