Fix Person creation issues and enhance V3 CRUD robustness.

- Added Pydantic validators to Person_Base to handle null values for given_name and allow_auth_key, ensuring database NOT NULL constraints are met.
- Updated api_crud_v3.py (POST and PATCH) to filter out virtual *_id_random fields from data payloads before database operations to prevent "Unknown column" errors.
- Updated GEMINI.md with session progress.
This commit is contained in:
Scott Idem
2026-01-09 14:30:45 -05:00
parent d32304c50a
commit 29b4d5ae4b
3 changed files with 34 additions and 3 deletions

View File

@@ -216,10 +216,22 @@ class Person_Base(BaseModel):
log.debug(locals())
if isinstance(v, int) and v > 0: return v
elif id_random := values.get('user_id_random'):
elif id_random := values.get('id_random'):
return redis_lookup_id_random(record_id_random=id_random, table_name='user')
return None
@validator('given_name', always=True)
def given_name_validator(cls, v):
if v is None:
return ""
return v
@validator('allow_auth_key', always=True)
def allow_auth_key_validator(cls, v):
if v is None:
return True
return v
class Config:
underscore_attrs_are_private = True
allow_population_by_field_name = True