feat: update API endpoints for company-vendor architecture
- Add transfer-ownership endpoint to companies API - Add user search endpoint for autocomplete (/admin/users/search) - Update company detail endpoint to include owner info and vendors list - Update vendor endpoints to use company relationship for ownership - Update deps.py vendor access check to use company.owner_user_id 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
19
app/api/v1/vendor/auth.py
vendored
19
app/api/v1/vendor/auth.py
vendored
@@ -91,8 +91,8 @@ def vendor_login(
|
||||
vendor_role = "Member"
|
||||
|
||||
if vendor:
|
||||
# Check if user is vendor owner
|
||||
is_owner = vendor.owner_user_id == user.id
|
||||
# Check if user is vendor owner (via company ownership)
|
||||
is_owner = vendor.company and vendor.company.owner_user_id == user.id
|
||||
|
||||
if is_owner:
|
||||
vendor_role = "Owner"
|
||||
@@ -121,12 +121,15 @@ def vendor_login(
|
||||
)
|
||||
else:
|
||||
# No vendor context - find which vendor this user belongs to
|
||||
# Check owned vendors first
|
||||
if user.owned_vendors:
|
||||
vendor = user.owned_vendors[0]
|
||||
vendor_role = "Owner"
|
||||
# Check vendor memberships
|
||||
elif user.vendor_memberships:
|
||||
# Check owned vendors first (via company ownership)
|
||||
for company in user.owned_companies:
|
||||
if company.vendors:
|
||||
vendor = company.vendors[0]
|
||||
vendor_role = "Owner"
|
||||
break
|
||||
|
||||
# Check vendor memberships if no owned vendor found
|
||||
if not vendor and user.vendor_memberships:
|
||||
active_membership = next(
|
||||
(vm for vm in user.vendor_memberships if vm.is_active), None
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user