28 lines
1.7 KiB
Markdown
28 lines
1.7 KiB
Markdown
# apps/api/src/models/user
|
|
dir: apps/api/src/models/user
|
|
|
|
index: apps/api/src/models/user/.pi-map.index.md
|
|
|
|
## role
|
|
Database models package defining user-related entities including users, SSH keys, and user configuration with their relationships.
|
|
## files
|
|
- __init__.py | Exports user-related model classes from a package for clean external imports. | dep: src.models.user.ssh_key, src.models.user.user, src.models.user.user_config
|
|
- ssh_key.py | Defines an SSHKey database model for storing encrypted SSH key pairs with associations to users and optional projects. | exp: class:SSHKey | dep: uuid, typing, sqlalchemy, sqlalchemy.orm, src.models.base, src.models.project, src.models.user
|
|
- user.py | Defines a SQLAlchemy ORM model for a User entity with authentication fields and relationships to projects, SSH keys, and user configuration. | exp: class:User | dep: typing, sqlalchemy, sqlalchemy.orm, src.models.base, src.models.project, src.models, src.models.SSHKey, src.models.UserConfig
|
|
- user_config.py | Defines a SQLAlchemy model for storing per-user JSON configuration data with typed property accessors for profile IDs. | exp: class:UserConfig | dep: uuid, typing, sqlalchemy, sqlalchemy.orm, src.models.base, src.models.user
|
|
## arch
|
|
SQLAlchemy ORM with declarative models, one-to-many relationships (User→SSHKey, User→Project, User→UserConfig), encrypted field storage for SSH keys, and JSON-typed configuration with property accessors for schema flexibility.
|
|
## tags
|
|
user, src, models, sqlalchemy, model, sshkey, ssh, orm
|
|
## symbols
|
|
- SSHKey
|
|
- User
|
|
- UserConfig
|
|
## workflows
|
|
- change user behavior
|
|
read: __init__.py, ssh_key.py, user.py
|
|
- change user config
|
|
read: user_config.py
|
|
## dirty
|
|
-
|