Fix all Pydantic v2 deprecation warnings (17 model classes)

Convert deprecated class Config pattern to modern ConfigDict pattern
across all data models:

- models/asset.py: Updated 6 classes (AssetFolder, Asset, AssetUpload,
  AssetRename, AssetMove, FolderCreate)
- models/group.py: Updated 8 classes (GroupPermission, GroupPageRule,
  GroupUser, Group, GroupCreate, GroupUpdate, GroupAssignUser,
  GroupUnassignUser)
- models/user.py: Updated 3 classes (User, UserCreate, UserUpdate)

Changes:
- Added ConfigDict import from pydantic
- Replaced 'class Config:' with 'model_config = ConfigDict(...)'
- Preserved all config options (populate_by_name, str_strip_whitespace)

Impact:
- Eliminated 19 Pydantic deprecation warnings
- All 423 tests still passing
- No breaking changes to functionality
- Future-proofed for Pydantic v3

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Claude
2025-10-23 01:49:39 +00:00
parent 8e9bd5973a
commit c7e53b652b
3 changed files with 28 additions and 82 deletions

View File

@@ -3,7 +3,7 @@
import re
from typing import List, Optional
from pydantic import EmailStr, Field, field_validator
from pydantic import ConfigDict, EmailStr, Field, field_validator
from .base import BaseModel, TimestampedModel
@@ -63,11 +63,7 @@ class User(TimestampedModel):
return v.strip()
class Config:
"""Pydantic model configuration."""
populate_by_name = True
str_strip_whitespace = True
model_config = ConfigDict(populate_by_name=True, str_strip_whitespace=True)
class UserCreate(BaseModel):
@@ -122,11 +118,7 @@ class UserCreate(BaseModel):
return v
class Config:
"""Pydantic model configuration."""
populate_by_name = True
str_strip_whitespace = True
model_config = ConfigDict(populate_by_name=True, str_strip_whitespace=True)
class UserUpdate(BaseModel):
@@ -185,8 +177,4 @@ class UserUpdate(BaseModel):
return v
class Config:
"""Pydantic model configuration."""
populate_by_name = True
str_strip_whitespace = True
model_config = ConfigDict(populate_by_name=True, str_strip_whitespace=True)