- 267 nodes, 518 edges across 9 architectural layers - 13-step guided tour in French - 9 languages detected (Python, JavaScript, HTML, CSS, YAML, JSON, Markdown, Dockerfile, TOML) - 6 frameworks (FastAPI, Pydantic, Uvicorn, pytest, Docker, Docker Compose) - Generated via Understand-Anything multi-agent pipeline
4098 lines
93 KiB
JSON
4098 lines
93 KiB
JSON
{
|
|
"version": "1.0.0",
|
|
"gitCommitHash": "c86c04ca220672fb012bb69916e930102be44ef4",
|
|
"generatedAt": "2026-07-10T12:53:39.706Z",
|
|
"files": {
|
|
".dockerignore": {
|
|
"filePath": ".dockerignore",
|
|
"contentHash": "72d51e57c64e7583ccb9b122eca019a2a4e49244463af8d4adf6342ac4739047",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 17,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
".env.example": {
|
|
"filePath": ".env.example",
|
|
"contentHash": "8e05f50c3676e3d6bc2d2eb5baff7308efa83e6563a074562dc0b10f6a3f6621",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 23,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
".gitea/workflows/ci.yml": {
|
|
"filePath": ".gitea/workflows/ci.yml",
|
|
"contentHash": "1e72222548adfad22b442eae11a55041dc6de667741b131cd060e08fd26fb7ed",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 36,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
".ua/.understandignore": {
|
|
"filePath": ".ua/.understandignore",
|
|
"contentHash": "27a2034ecb02b6e160e33cc37257d2492552856f76550bd3c91af50e61a2d79f",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 53,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
".ua/config.json": {
|
|
"filePath": ".ua/config.json",
|
|
"contentHash": "3a60666fa673e1d392185dec6f91c716860a481acd510ac86736cd6c832e2809",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 2,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/__init__.py": {
|
|
"filePath": "app/__init__.py",
|
|
"contentHash": "abf9e17668dd6c771481dd5daf0f0439a3bba0be70165baa09ae1a9c82380112",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 2,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/auth/__init__.py": {
|
|
"filePath": "app/auth/__init__.py",
|
|
"contentHash": "9b2c4beedc2273bdd8c348b6f7247fe5fa7b722dc5617006a291048973a76843",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "app.auth.oauth",
|
|
"specifiers": [
|
|
"GiteaOAuth"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.auth.session",
|
|
"specifiers": [
|
|
"SessionManager",
|
|
"get_current_user"
|
|
]
|
|
}
|
|
],
|
|
"exports": [],
|
|
"totalLines": 4,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/auth/oauth.py": {
|
|
"filePath": "app/auth/oauth.py",
|
|
"contentHash": "62fca284b1c19a1513ec58cd4b8960eac1b4d14e5b5e9802480608fe406d4e4f",
|
|
"functions": [],
|
|
"classes": [
|
|
{
|
|
"name": "GiteaOAuth",
|
|
"methods": [
|
|
"__init__",
|
|
"enabled",
|
|
"get_authorize_url",
|
|
"exchange_code",
|
|
"get_user"
|
|
],
|
|
"properties": [],
|
|
"exported": true,
|
|
"lineCount": 60
|
|
}
|
|
],
|
|
"imports": [
|
|
{
|
|
"source": "logging",
|
|
"specifiers": [
|
|
"logging"
|
|
]
|
|
},
|
|
{
|
|
"source": "urllib.parse",
|
|
"specifiers": [
|
|
"urlencode"
|
|
]
|
|
},
|
|
{
|
|
"source": "httpx",
|
|
"specifiers": [
|
|
"httpx"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.config",
|
|
"specifiers": [
|
|
"settings"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"GiteaOAuth"
|
|
],
|
|
"totalLines": 78,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/auth/session.py": {
|
|
"filePath": "app/auth/session.py",
|
|
"contentHash": "1706b71bfa6546d954796e4444c3410dcd70d62c221441c36318fbece0fe487a",
|
|
"functions": [
|
|
{
|
|
"name": "get_current_user",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"returnType": "dict | None",
|
|
"exported": true,
|
|
"lineCount": 7
|
|
}
|
|
],
|
|
"classes": [
|
|
{
|
|
"name": "SessionManager",
|
|
"methods": [
|
|
"create_session",
|
|
"decode_session",
|
|
"store_token",
|
|
"get_token"
|
|
],
|
|
"properties": [],
|
|
"exported": true,
|
|
"lineCount": 45
|
|
}
|
|
],
|
|
"imports": [
|
|
{
|
|
"source": "json",
|
|
"specifiers": [
|
|
"json"
|
|
]
|
|
},
|
|
{
|
|
"source": "datetime",
|
|
"specifiers": [
|
|
"datetime",
|
|
"timedelta"
|
|
]
|
|
},
|
|
{
|
|
"source": "itsdangerous",
|
|
"specifiers": [
|
|
"URLSafeTimedSerializer",
|
|
"BadSignature",
|
|
"SignatureExpired"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.config",
|
|
"specifiers": [
|
|
"settings"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"SessionManager",
|
|
"get_current_user"
|
|
],
|
|
"totalLines": 69,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/config.py": {
|
|
"filePath": "app/config.py",
|
|
"contentHash": "dd5a86aae2cd722b90028f2d3fa8ad6afc21aacfe92ad3b2a15506463ce7f8fa",
|
|
"functions": [],
|
|
"classes": [
|
|
{
|
|
"name": "Settings",
|
|
"methods": [
|
|
"db_path"
|
|
],
|
|
"properties": [
|
|
"gitea_url",
|
|
"gitea_token",
|
|
"gitea_oauth_client_id",
|
|
"gitea_oauth_client_secret",
|
|
"gitea_webhook_secret",
|
|
"oauth_redirect_uri",
|
|
"webhook_base_url",
|
|
"app_secret_key",
|
|
"app_host",
|
|
"app_port",
|
|
"log_level",
|
|
"default_lang",
|
|
"rate_limit_enabled",
|
|
"rate_limit_requests",
|
|
"database_url",
|
|
"sync_interval",
|
|
"gitea_cache_ttl"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 43
|
|
}
|
|
],
|
|
"imports": [
|
|
{
|
|
"source": "pathlib",
|
|
"specifiers": [
|
|
"Path"
|
|
]
|
|
},
|
|
{
|
|
"source": "pydantic_settings",
|
|
"specifiers": [
|
|
"BaseSettings",
|
|
"SettingsConfigDict"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"Settings"
|
|
],
|
|
"totalLines": 54,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/db.py": {
|
|
"filePath": "app/db.py",
|
|
"contentHash": "7354c63a66ecc73a9228816edeaef575e85492b0a13e8a273ad123a6e63d5e58",
|
|
"functions": [
|
|
{
|
|
"name": "get_db_path",
|
|
"params": [],
|
|
"returnType": "Path",
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "init_db",
|
|
"params": [],
|
|
"exported": true,
|
|
"lineCount": 282
|
|
},
|
|
{
|
|
"name": "get_conn",
|
|
"params": [],
|
|
"exported": true,
|
|
"lineCount": 11
|
|
}
|
|
],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "sqlite3",
|
|
"specifiers": [
|
|
"sqlite3"
|
|
]
|
|
},
|
|
{
|
|
"source": "contextlib",
|
|
"specifiers": [
|
|
"contextmanager"
|
|
]
|
|
},
|
|
{
|
|
"source": "pathlib",
|
|
"specifiers": [
|
|
"Path"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"get_db_path",
|
|
"init_db",
|
|
"get_conn"
|
|
],
|
|
"totalLines": 310,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/main.py": {
|
|
"filePath": "app/main.py",
|
|
"contentHash": "6ce18cabb0f092319d7657ad2ca7a39b2ab40d215edb8e85b3f748b86de8fd14",
|
|
"functions": [
|
|
{
|
|
"name": "lifespan",
|
|
"params": [
|
|
"_app"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 11
|
|
},
|
|
{
|
|
"name": "pwa_manifest",
|
|
"params": [],
|
|
"exported": true,
|
|
"lineCount": 10
|
|
}
|
|
],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "logging",
|
|
"specifiers": [
|
|
"logging"
|
|
]
|
|
},
|
|
{
|
|
"source": "contextlib",
|
|
"specifiers": [
|
|
"asynccontextmanager"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi",
|
|
"specifiers": [
|
|
"FastAPI"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi.staticfiles",
|
|
"specifiers": [
|
|
"StaticFiles"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi.middleware.cors",
|
|
"specifiers": [
|
|
"CORSMiddleware"
|
|
]
|
|
},
|
|
{
|
|
"source": "starlette.middleware.sessions",
|
|
"specifiers": [
|
|
"SessionMiddleware"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.config",
|
|
"specifiers": [
|
|
"settings"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.db",
|
|
"specifiers": [
|
|
"init_db"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.middleware.csrf",
|
|
"specifiers": [
|
|
"CSRFMiddleware"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.routers",
|
|
"specifiers": [
|
|
"dashboard",
|
|
"board",
|
|
"notes",
|
|
"api",
|
|
"auth",
|
|
"webhooks",
|
|
"collections",
|
|
"my_tasks",
|
|
"workspace",
|
|
"public_api"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.services.gitea_client",
|
|
"specifiers": [
|
|
"gitea"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.services.webhook_outbound",
|
|
"specifiers": [
|
|
"init_webhook_tables"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"lifespan",
|
|
"pwa_manifest"
|
|
],
|
|
"totalLines": 77,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/middleware/__init__.py": {
|
|
"filePath": "app/middleware/__init__.py",
|
|
"contentHash": "e060b3e6ddbe46184e17ae08884508acbaa45cf80549b91c91bd592d0005c752",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "app.middleware.csrf",
|
|
"specifiers": [
|
|
"CSRFMiddleware"
|
|
]
|
|
}
|
|
],
|
|
"exports": [],
|
|
"totalLines": 3,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/middleware/csrf.py": {
|
|
"filePath": "app/middleware/csrf.py",
|
|
"contentHash": "41736bde320c1ceee4c6ff698da74b52017008935762a26ff045722eaa46dd35",
|
|
"functions": [],
|
|
"classes": [
|
|
{
|
|
"name": "CSRFMiddleware",
|
|
"methods": [
|
|
"dispatch"
|
|
],
|
|
"properties": [],
|
|
"exported": true,
|
|
"lineCount": 39
|
|
}
|
|
],
|
|
"imports": [
|
|
{
|
|
"source": "secrets",
|
|
"specifiers": [
|
|
"secrets"
|
|
]
|
|
},
|
|
{
|
|
"source": "starlette.middleware.base",
|
|
"specifiers": [
|
|
"BaseHTTPMiddleware"
|
|
]
|
|
},
|
|
{
|
|
"source": "starlette.responses",
|
|
"specifiers": [
|
|
"JSONResponse"
|
|
]
|
|
},
|
|
{
|
|
"source": "starlette.requests",
|
|
"specifiers": [
|
|
"Request"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"CSRFMiddleware"
|
|
],
|
|
"totalLines": 50,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/models/__init__.py": {
|
|
"filePath": "app/models/__init__.py",
|
|
"contentHash": "2d9800f0c58ae44cf71f439e9d8dd635bac5d9ee89d378f574b8e30b1641dcb9",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 2,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/routers/__init__.py": {
|
|
"filePath": "app/routers/__init__.py",
|
|
"contentHash": "953cd8e76e85d3d0a12706d5531ce1e6579db58b44329dd7d0859f543d747622",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 2,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/routers/api.py": {
|
|
"filePath": "app/routers/api.py",
|
|
"contentHash": "190f5c8953d8cf4b8cff28c0ab31b57110956d47c301655c09326b79c6586c2d",
|
|
"functions": [
|
|
{
|
|
"name": "_check_rate_limit",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"returnType": "bool",
|
|
"exported": true,
|
|
"lineCount": 14
|
|
},
|
|
{
|
|
"name": "health",
|
|
"params": [],
|
|
"exported": true,
|
|
"lineCount": 22
|
|
},
|
|
{
|
|
"name": "stats",
|
|
"params": [],
|
|
"exported": true,
|
|
"lineCount": 14
|
|
},
|
|
{
|
|
"name": "projects",
|
|
"params": [
|
|
"search",
|
|
"show_archived"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 13
|
|
},
|
|
{
|
|
"name": "move_card",
|
|
"params": [
|
|
"request",
|
|
"owner",
|
|
"repo",
|
|
"issue_id",
|
|
"column"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 67
|
|
},
|
|
{
|
|
"name": "_get_status_labels",
|
|
"params": [
|
|
"owner",
|
|
"repo",
|
|
"board_id"
|
|
],
|
|
"returnType": "list[str]",
|
|
"exported": true,
|
|
"lineCount": 7
|
|
},
|
|
{
|
|
"name": "set_col_mapping",
|
|
"params": [
|
|
"owner",
|
|
"repo",
|
|
"column",
|
|
"gitea_label",
|
|
"close_issue"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 27
|
|
},
|
|
{
|
|
"name": "delete_col_mapping",
|
|
"params": [
|
|
"owner",
|
|
"repo",
|
|
"column"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 22
|
|
},
|
|
{
|
|
"name": "get_board_config",
|
|
"params": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 18
|
|
},
|
|
{
|
|
"name": "update_board_config",
|
|
"params": [
|
|
"owner",
|
|
"repo",
|
|
"columns",
|
|
"wip_limits"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 23
|
|
},
|
|
{
|
|
"name": "create_issue",
|
|
"params": [
|
|
"request",
|
|
"owner",
|
|
"repo",
|
|
"title",
|
|
"body",
|
|
"labels",
|
|
"milestone",
|
|
"assignee"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 38
|
|
},
|
|
{
|
|
"name": "update_issue_api",
|
|
"params": [
|
|
"request",
|
|
"owner",
|
|
"repo",
|
|
"issue_id",
|
|
"title",
|
|
"body",
|
|
"state",
|
|
"labels",
|
|
"milestone",
|
|
"assignee"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 55
|
|
},
|
|
{
|
|
"name": "get_issue_detail",
|
|
"params": [
|
|
"owner",
|
|
"repo",
|
|
"issue_id",
|
|
"format"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 70
|
|
},
|
|
{
|
|
"name": "create_checklist",
|
|
"params": [
|
|
"owner",
|
|
"repo",
|
|
"issue_id",
|
|
"title"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 21
|
|
},
|
|
{
|
|
"name": "add_checklist_item",
|
|
"params": [
|
|
"owner",
|
|
"repo",
|
|
"issue_id",
|
|
"checklist_id",
|
|
"content"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 15
|
|
},
|
|
{
|
|
"name": "toggle_checklist_item",
|
|
"params": [
|
|
"item_id",
|
|
"checked",
|
|
"content"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 19
|
|
},
|
|
{
|
|
"name": "delete_checklist_item",
|
|
"params": [
|
|
"item_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 6
|
|
},
|
|
{
|
|
"name": "delete_checklist",
|
|
"params": [
|
|
"checklist_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
},
|
|
{
|
|
"name": "get_my_profile",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 12
|
|
},
|
|
{
|
|
"name": "update_my_profile",
|
|
"params": [
|
|
"request",
|
|
"full_name",
|
|
"email"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 14
|
|
},
|
|
{
|
|
"name": "update_card",
|
|
"params": [
|
|
"owner",
|
|
"repo",
|
|
"issue_id",
|
|
"priority",
|
|
"due_date"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 35
|
|
},
|
|
{
|
|
"name": "get_collaborators",
|
|
"params": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
}
|
|
],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "json",
|
|
"specifiers": [
|
|
"json"
|
|
]
|
|
},
|
|
{
|
|
"source": "logging",
|
|
"specifiers": [
|
|
"logging"
|
|
]
|
|
},
|
|
{
|
|
"source": "datetime",
|
|
"specifiers": [
|
|
"datetime"
|
|
]
|
|
},
|
|
{
|
|
"source": "typing",
|
|
"specifiers": [
|
|
"Optional"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi",
|
|
"specifiers": [
|
|
"APIRouter",
|
|
"HTTPException",
|
|
"Query",
|
|
"Request"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi.responses",
|
|
"specifiers": [
|
|
"HTMLResponse"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.config",
|
|
"specifiers": [
|
|
"settings"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.db",
|
|
"specifiers": [
|
|
"get_conn"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.routers.board",
|
|
"specifiers": [
|
|
"_issue_column",
|
|
"_map_issue_to_card",
|
|
"STATUS_COLORS",
|
|
"STATUS_LABELS"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.services.gitea_client",
|
|
"specifiers": [
|
|
"gitea"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.auth.session",
|
|
"specifiers": [
|
|
"SessionManager"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"_check_rate_limit",
|
|
"health",
|
|
"stats",
|
|
"projects",
|
|
"move_card",
|
|
"_get_status_labels",
|
|
"set_col_mapping",
|
|
"delete_col_mapping",
|
|
"get_board_config",
|
|
"update_board_config",
|
|
"create_issue",
|
|
"update_issue_api",
|
|
"get_issue_detail",
|
|
"create_checklist",
|
|
"add_checklist_item",
|
|
"toggle_checklist_item",
|
|
"delete_checklist_item",
|
|
"delete_checklist",
|
|
"get_my_profile",
|
|
"update_my_profile",
|
|
"update_card",
|
|
"get_collaborators"
|
|
],
|
|
"totalLines": 626,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/routers/auth.py": {
|
|
"filePath": "app/routers/auth.py",
|
|
"contentHash": "dd2bf3c70d14fd200aa1dc2e61db0336f9d9f8a6c0f802dcd858413dcc7ee9dc",
|
|
"functions": [
|
|
{
|
|
"name": "login",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 21
|
|
},
|
|
{
|
|
"name": "callback",
|
|
"params": [
|
|
"request",
|
|
"code",
|
|
"state"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 50
|
|
},
|
|
{
|
|
"name": "logout",
|
|
"params": [],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "current_user",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
}
|
|
],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "logging",
|
|
"specifiers": [
|
|
"logging"
|
|
]
|
|
},
|
|
{
|
|
"source": "secrets",
|
|
"specifiers": [
|
|
"secrets"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi",
|
|
"specifiers": [
|
|
"APIRouter",
|
|
"Request",
|
|
"Query"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi.responses",
|
|
"specifiers": [
|
|
"RedirectResponse",
|
|
"HTMLResponse"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.auth.session",
|
|
"specifiers": [
|
|
"SessionManager"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.auth.oauth",
|
|
"specifiers": [
|
|
"gitea_oauth"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.config",
|
|
"specifiers": [
|
|
"settings"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"login",
|
|
"callback",
|
|
"logout",
|
|
"current_user"
|
|
],
|
|
"totalLines": 111,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/routers/board.py": {
|
|
"filePath": "app/routers/board.py",
|
|
"contentHash": "5d076489d2b006a63393cc9e8e1e33c7400192ace26b039ad32e33f8fbafc67a",
|
|
"functions": [
|
|
{
|
|
"name": "_issue_column",
|
|
"params": [
|
|
"issue",
|
|
"columns",
|
|
"board_id"
|
|
],
|
|
"returnType": "str",
|
|
"exported": true,
|
|
"lineCount": 12
|
|
},
|
|
{
|
|
"name": "_map_issue_to_card",
|
|
"params": [
|
|
"issue",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"returnType": "dict",
|
|
"exported": true,
|
|
"lineCount": 75
|
|
},
|
|
{
|
|
"name": "_build_page_tree",
|
|
"params": [
|
|
"conn",
|
|
"parent_id",
|
|
"ws_key",
|
|
"depth",
|
|
"max_depth"
|
|
],
|
|
"returnType": "list[dict]",
|
|
"exported": true,
|
|
"lineCount": 23
|
|
},
|
|
{
|
|
"name": "_sidebar_data",
|
|
"params": [
|
|
"request",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"returnType": "dict",
|
|
"exported": true,
|
|
"lineCount": 34
|
|
},
|
|
{
|
|
"name": "_extract_ai_keywords",
|
|
"params": [
|
|
"owner",
|
|
"repo",
|
|
"labels",
|
|
"body"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 32
|
|
},
|
|
{
|
|
"name": "_get_project_properties",
|
|
"params": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"returnType": "list[dict]",
|
|
"exported": true,
|
|
"lineCount": 7
|
|
},
|
|
{
|
|
"name": "_get_dynamic_groups",
|
|
"params": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"returnType": "list[str]",
|
|
"exported": true,
|
|
"lineCount": 9
|
|
},
|
|
{
|
|
"name": "asyncio_get_labels",
|
|
"params": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 2
|
|
},
|
|
{
|
|
"name": "_apply_filters",
|
|
"params": [
|
|
"cards",
|
|
"status_filter",
|
|
"filters"
|
|
],
|
|
"returnType": "list[dict]",
|
|
"exported": true,
|
|
"lineCount": 16
|
|
},
|
|
{
|
|
"name": "_apply_sorts",
|
|
"params": [
|
|
"cards",
|
|
"sorts"
|
|
],
|
|
"returnType": "list[dict]",
|
|
"exported": true,
|
|
"lineCount": 18
|
|
},
|
|
{
|
|
"name": "library_page",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 12
|
|
},
|
|
{
|
|
"name": "list_trash",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 4
|
|
},
|
|
{
|
|
"name": "restore_page",
|
|
"params": [
|
|
"request",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "permanent_delete",
|
|
"params": [
|
|
"request",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 6
|
|
},
|
|
{
|
|
"name": "trash_page",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "board",
|
|
"params": [
|
|
"request",
|
|
"owner",
|
|
"repo",
|
|
"view"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
},
|
|
{
|
|
"name": "board_view",
|
|
"params": [
|
|
"request",
|
|
"owner",
|
|
"repo",
|
|
"view",
|
|
"status",
|
|
"filter",
|
|
"sort"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 72
|
|
},
|
|
{
|
|
"name": "get_properties",
|
|
"params": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 2
|
|
},
|
|
{
|
|
"name": "create_property",
|
|
"params": [
|
|
"owner",
|
|
"repo",
|
|
"name",
|
|
"prop_type",
|
|
"options"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 14
|
|
},
|
|
{
|
|
"name": "delete_property",
|
|
"params": [
|
|
"owner",
|
|
"repo",
|
|
"name"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 8
|
|
},
|
|
{
|
|
"name": "set_property_value",
|
|
"params": [
|
|
"owner",
|
|
"repo",
|
|
"issue_id",
|
|
"name",
|
|
"value"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 15
|
|
},
|
|
{
|
|
"name": "get_ai_keywords",
|
|
"params": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
},
|
|
{
|
|
"name": "extract_ai_keywords",
|
|
"params": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 10
|
|
},
|
|
{
|
|
"name": "create_page",
|
|
"params": [
|
|
"request",
|
|
"title",
|
|
"section",
|
|
"project",
|
|
"parent_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 24
|
|
},
|
|
{
|
|
"name": "get_page",
|
|
"params": [
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
},
|
|
{
|
|
"name": "update_page",
|
|
"params": [
|
|
"request",
|
|
"page_id",
|
|
"title",
|
|
"content",
|
|
"content_format"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 13
|
|
},
|
|
{
|
|
"name": "save_page_blocks",
|
|
"params": [
|
|
"request",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 17
|
|
},
|
|
{
|
|
"name": "move_page",
|
|
"params": [
|
|
"request",
|
|
"page_id",
|
|
"new_parent_id",
|
|
"new_order"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 36
|
|
},
|
|
{
|
|
"name": "delete_page",
|
|
"params": [
|
|
"request",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 10
|
|
},
|
|
{
|
|
"name": "view_page",
|
|
"params": [
|
|
"request",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 12
|
|
},
|
|
{
|
|
"name": "sync_project",
|
|
"params": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 25
|
|
}
|
|
],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "json",
|
|
"specifiers": [
|
|
"json"
|
|
]
|
|
},
|
|
{
|
|
"source": "logging",
|
|
"specifiers": [
|
|
"logging"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi",
|
|
"specifiers": [
|
|
"APIRouter",
|
|
"Request",
|
|
"HTTPException",
|
|
"Query"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi.responses",
|
|
"specifiers": [
|
|
"HTMLResponse"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.db",
|
|
"specifiers": [
|
|
"get_conn"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.services.gitea_client",
|
|
"specifiers": [
|
|
"gitea"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.auth.session",
|
|
"specifiers": [
|
|
"SessionManager"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"_issue_column",
|
|
"_map_issue_to_card",
|
|
"_build_page_tree",
|
|
"_sidebar_data",
|
|
"_extract_ai_keywords",
|
|
"_get_project_properties",
|
|
"_get_dynamic_groups",
|
|
"asyncio_get_labels",
|
|
"_apply_filters",
|
|
"_apply_sorts",
|
|
"library_page",
|
|
"list_trash",
|
|
"restore_page",
|
|
"permanent_delete",
|
|
"trash_page",
|
|
"board",
|
|
"board_view",
|
|
"get_properties",
|
|
"create_property",
|
|
"delete_property",
|
|
"set_property_value",
|
|
"get_ai_keywords",
|
|
"extract_ai_keywords",
|
|
"create_page",
|
|
"get_page",
|
|
"update_page",
|
|
"save_page_blocks",
|
|
"move_page",
|
|
"delete_page",
|
|
"view_page",
|
|
"sync_project"
|
|
],
|
|
"totalLines": 659,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/routers/collections.py": {
|
|
"filePath": "app/routers/collections.py",
|
|
"contentHash": "0f3a77021db14d77bb564b7d63d512f6ea543d9ece63ee5b3132b7b81c07ea80",
|
|
"functions": [
|
|
{
|
|
"name": "list_collections",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 13
|
|
},
|
|
{
|
|
"name": "list_collections_api",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
},
|
|
{
|
|
"name": "create_collection_api",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 40
|
|
},
|
|
{
|
|
"name": "update_collection_api",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 32
|
|
},
|
|
{
|
|
"name": "delete_collection_api",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 13
|
|
},
|
|
{
|
|
"name": "get_page_api",
|
|
"params": [
|
|
"request",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 10
|
|
},
|
|
{
|
|
"name": "update_page_api",
|
|
"params": [
|
|
"request",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 32
|
|
},
|
|
{
|
|
"name": "delete_page_api",
|
|
"params": [
|
|
"request",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 13
|
|
},
|
|
{
|
|
"name": "list_boards_as_collections",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "get_board_as_collection",
|
|
"params": [
|
|
"request",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 12
|
|
},
|
|
{
|
|
"name": "sync_board_to_collection",
|
|
"params": [
|
|
"request",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 11
|
|
},
|
|
{
|
|
"name": "list_property_types_api",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 4
|
|
},
|
|
{
|
|
"name": "list_properties_api",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 11
|
|
},
|
|
{
|
|
"name": "create_property_api",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 40
|
|
},
|
|
{
|
|
"name": "update_property_api",
|
|
"params": [
|
|
"request",
|
|
"prop_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 29
|
|
},
|
|
{
|
|
"name": "delete_property_api",
|
|
"params": [
|
|
"request",
|
|
"prop_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 12
|
|
},
|
|
{
|
|
"name": "create_relation_property",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 49
|
|
},
|
|
{
|
|
"name": "link_pages",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 71
|
|
},
|
|
{
|
|
"name": "compute_rollup",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 23
|
|
},
|
|
{
|
|
"name": "evaluate_formula",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 18
|
|
},
|
|
{
|
|
"name": "get_view_api",
|
|
"params": [
|
|
"request",
|
|
"view_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
},
|
|
{
|
|
"name": "update_view_config",
|
|
"params": [
|
|
"request",
|
|
"view_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 25
|
|
},
|
|
{
|
|
"name": "save_view_as",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 27
|
|
},
|
|
{
|
|
"name": "list_views_api",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 8
|
|
},
|
|
{
|
|
"name": "list_sub_items",
|
|
"params": [
|
|
"request",
|
|
"collection_id",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 8
|
|
},
|
|
{
|
|
"name": "create_sub_item",
|
|
"params": [
|
|
"request",
|
|
"collection_id",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 28
|
|
},
|
|
{
|
|
"name": "aggregate_child_status",
|
|
"params": [
|
|
"request",
|
|
"collection_id",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 21
|
|
},
|
|
{
|
|
"name": "set_dependencies",
|
|
"params": [
|
|
"request",
|
|
"collection_id",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 24
|
|
},
|
|
{
|
|
"name": "check_dependencies",
|
|
"params": [
|
|
"request",
|
|
"collection_id",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 42
|
|
},
|
|
{
|
|
"name": "view_collection",
|
|
"params": [
|
|
"request",
|
|
"collection_id",
|
|
"view_type"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 24
|
|
},
|
|
{
|
|
"name": "_render_view",
|
|
"params": [
|
|
"view_type",
|
|
"collection",
|
|
"pages",
|
|
"config"
|
|
],
|
|
"returnType": "str",
|
|
"exported": true,
|
|
"lineCount": 11
|
|
},
|
|
{
|
|
"name": "_base_html",
|
|
"params": [
|
|
"title",
|
|
"icon",
|
|
"view_type",
|
|
"body"
|
|
],
|
|
"returnType": "str",
|
|
"exported": true,
|
|
"lineCount": 21
|
|
},
|
|
{
|
|
"name": "_render_calendar",
|
|
"params": [
|
|
"view_type",
|
|
"collection",
|
|
"pages",
|
|
"config"
|
|
],
|
|
"returnType": "str",
|
|
"exported": true,
|
|
"lineCount": 65
|
|
},
|
|
{
|
|
"name": "_render_gallery",
|
|
"params": [
|
|
"view_type",
|
|
"collection",
|
|
"pages",
|
|
"config"
|
|
],
|
|
"returnType": "str",
|
|
"exported": true,
|
|
"lineCount": 44
|
|
},
|
|
{
|
|
"name": "_render_list",
|
|
"params": [
|
|
"view_type",
|
|
"collection",
|
|
"pages",
|
|
"config"
|
|
],
|
|
"returnType": "str",
|
|
"exported": true,
|
|
"lineCount": 25
|
|
},
|
|
{
|
|
"name": "_render_timeline",
|
|
"params": [
|
|
"view_type",
|
|
"collection",
|
|
"pages",
|
|
"config"
|
|
],
|
|
"returnType": "str",
|
|
"exported": true,
|
|
"lineCount": 57
|
|
},
|
|
{
|
|
"name": "_render_table",
|
|
"params": [
|
|
"view_type",
|
|
"collection",
|
|
"pages",
|
|
"config"
|
|
],
|
|
"returnType": "str",
|
|
"exported": true,
|
|
"lineCount": 17
|
|
},
|
|
{
|
|
"name": "get_collection_api",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 23
|
|
},
|
|
{
|
|
"name": "create_page_api",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 36
|
|
}
|
|
],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "json",
|
|
"specifiers": [
|
|
"json"
|
|
]
|
|
},
|
|
{
|
|
"source": "logging",
|
|
"specifiers": [
|
|
"logging"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi",
|
|
"specifiers": [
|
|
"APIRouter",
|
|
"Request",
|
|
"HTTPException",
|
|
"Query"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi.responses",
|
|
"specifiers": [
|
|
"HTMLResponse"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.db",
|
|
"specifiers": [
|
|
"get_conn"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.auth.session",
|
|
"specifiers": [
|
|
"SessionManager"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"list_collections",
|
|
"list_collections_api",
|
|
"create_collection_api",
|
|
"update_collection_api",
|
|
"delete_collection_api",
|
|
"get_page_api",
|
|
"update_page_api",
|
|
"delete_page_api",
|
|
"list_boards_as_collections",
|
|
"get_board_as_collection",
|
|
"sync_board_to_collection",
|
|
"list_property_types_api",
|
|
"list_properties_api",
|
|
"create_property_api",
|
|
"update_property_api",
|
|
"delete_property_api",
|
|
"create_relation_property",
|
|
"link_pages",
|
|
"compute_rollup",
|
|
"evaluate_formula",
|
|
"get_view_api",
|
|
"update_view_config",
|
|
"save_view_as",
|
|
"list_views_api",
|
|
"list_sub_items",
|
|
"create_sub_item",
|
|
"aggregate_child_status",
|
|
"set_dependencies",
|
|
"check_dependencies",
|
|
"view_collection",
|
|
"_render_view",
|
|
"_base_html",
|
|
"_render_calendar",
|
|
"_render_gallery",
|
|
"_render_list",
|
|
"_render_timeline",
|
|
"_render_table",
|
|
"get_collection_api",
|
|
"create_page_api"
|
|
],
|
|
"totalLines": 1113,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/routers/dashboard.py": {
|
|
"filePath": "app/routers/dashboard.py",
|
|
"contentHash": "74e1b45a18bef8d9fbf8ca738824c05db325a726ef5c3f4b46f7caa5922fe946",
|
|
"functions": [
|
|
{
|
|
"name": "_sidebar_data",
|
|
"params": [
|
|
"request",
|
|
"repos"
|
|
],
|
|
"returnType": "dict",
|
|
"exported": true,
|
|
"lineCount": 29
|
|
},
|
|
{
|
|
"name": "trash_page",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
},
|
|
{
|
|
"name": "library_page",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 10
|
|
},
|
|
{
|
|
"name": "view_page_root",
|
|
"params": [
|
|
"request",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 23
|
|
},
|
|
{
|
|
"name": "accounts_page",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 11
|
|
},
|
|
{
|
|
"name": "dashboard",
|
|
"params": [
|
|
"request",
|
|
"search",
|
|
"show_archived"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 24
|
|
}
|
|
],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "logging",
|
|
"specifiers": [
|
|
"logging"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi",
|
|
"specifiers": [
|
|
"APIRouter",
|
|
"Request",
|
|
"Query"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi.responses",
|
|
"specifiers": [
|
|
"HTMLResponse"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.services.gitea_client",
|
|
"specifiers": [
|
|
"gitea"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.auth.session",
|
|
"specifiers": [
|
|
"SessionManager"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.db",
|
|
"specifiers": [
|
|
"get_conn"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"_sidebar_data",
|
|
"trash_page",
|
|
"library_page",
|
|
"view_page_root",
|
|
"accounts_page",
|
|
"dashboard"
|
|
],
|
|
"totalLines": 136,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/routers/my_tasks.py": {
|
|
"filePath": "app/routers/my_tasks.py",
|
|
"contentHash": "204729bdd7ae5916255228c7a5b51a35176b673fb09dc95003a6c80b44feb04f",
|
|
"functions": [
|
|
{
|
|
"name": "_get_current_user",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"returnType": "dict | None",
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "my_tasks_dashboard",
|
|
"params": [
|
|
"request",
|
|
"view",
|
|
"days"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 126
|
|
},
|
|
{
|
|
"name": "my_tasks_api",
|
|
"params": [
|
|
"request",
|
|
"view",
|
|
"days"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 27
|
|
}
|
|
],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "json",
|
|
"specifiers": [
|
|
"json"
|
|
]
|
|
},
|
|
{
|
|
"source": "logging",
|
|
"specifiers": [
|
|
"logging"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi",
|
|
"specifiers": [
|
|
"APIRouter",
|
|
"Request",
|
|
"HTTPException",
|
|
"Query"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi.responses",
|
|
"specifiers": [
|
|
"HTMLResponse"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.db",
|
|
"specifiers": [
|
|
"get_conn"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.auth.session",
|
|
"specifiers": [
|
|
"SessionManager"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"_get_current_user",
|
|
"my_tasks_dashboard",
|
|
"my_tasks_api"
|
|
],
|
|
"totalLines": 179,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/routers/notes.py": {
|
|
"filePath": "app/routers/notes.py",
|
|
"contentHash": "a6bba0b09eb6957cbb4fc6b1e26b722414a9f3a91477fd917b896b6e2f715cd3",
|
|
"functions": [
|
|
{
|
|
"name": "get_notes",
|
|
"params": [
|
|
"request",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 14
|
|
},
|
|
{
|
|
"name": "save_notes",
|
|
"params": [
|
|
"request",
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 20
|
|
}
|
|
],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "logging",
|
|
"specifiers": [
|
|
"logging"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi",
|
|
"specifiers": [
|
|
"APIRouter",
|
|
"Request"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi.responses",
|
|
"specifiers": [
|
|
"HTMLResponse"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.db",
|
|
"specifiers": [
|
|
"get_conn"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"get_notes",
|
|
"save_notes"
|
|
],
|
|
"totalLines": 53,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/routers/public_api.py": {
|
|
"filePath": "app/routers/public_api.py",
|
|
"contentHash": "5b1cccebb692285c4a8d2df1f18aa9bc5e8d3a2b07efa99f1609fc21ec4676e2",
|
|
"functions": [
|
|
{
|
|
"name": "verify_token",
|
|
"params": [
|
|
"authorization"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 11
|
|
},
|
|
{
|
|
"name": "generate_token",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 10
|
|
},
|
|
{
|
|
"name": "public_list_collections",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 4
|
|
},
|
|
{
|
|
"name": "public_get_collection",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 10
|
|
},
|
|
{
|
|
"name": "public_list_pages",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
},
|
|
{
|
|
"name": "public_get_page",
|
|
"params": [
|
|
"request",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 6
|
|
},
|
|
{
|
|
"name": "public_my_tasks",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
}
|
|
],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "json",
|
|
"specifiers": [
|
|
"json"
|
|
]
|
|
},
|
|
{
|
|
"source": "logging",
|
|
"specifiers": [
|
|
"logging"
|
|
]
|
|
},
|
|
{
|
|
"source": "secrets",
|
|
"specifiers": [
|
|
"token_urlsafe"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi",
|
|
"specifiers": [
|
|
"APIRouter",
|
|
"Request",
|
|
"HTTPException",
|
|
"Header",
|
|
"Depends"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.db",
|
|
"specifiers": [
|
|
"get_conn"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"verify_token",
|
|
"generate_token",
|
|
"public_list_collections",
|
|
"public_get_collection",
|
|
"public_list_pages",
|
|
"public_get_page",
|
|
"public_my_tasks"
|
|
],
|
|
"totalLines": 90,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/routers/webhooks.py": {
|
|
"filePath": "app/routers/webhooks.py",
|
|
"contentHash": "276989c4b4dc1f90a654a2b5b35af5ec3db620c031121bc64554f9039c95faf3",
|
|
"functions": [
|
|
{
|
|
"name": "verify_signature",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"returnType": "bool",
|
|
"exported": true,
|
|
"lineCount": 17
|
|
},
|
|
{
|
|
"name": "receive_webhook",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 18
|
|
},
|
|
{
|
|
"name": "_handle_issue_event",
|
|
"params": [
|
|
"payload"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 64
|
|
},
|
|
{
|
|
"name": "_handle_pr_event",
|
|
"params": [
|
|
"payload"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 9
|
|
},
|
|
{
|
|
"name": "_handle_repo_event",
|
|
"params": [
|
|
"payload"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "register_webhook",
|
|
"params": [
|
|
"owner",
|
|
"repo",
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 22
|
|
},
|
|
{
|
|
"name": "webhook_status",
|
|
"params": [
|
|
"owner",
|
|
"repo"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 13
|
|
}
|
|
],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "json",
|
|
"specifiers": [
|
|
"json"
|
|
]
|
|
},
|
|
{
|
|
"source": "hmac",
|
|
"specifiers": [
|
|
"hmac"
|
|
]
|
|
},
|
|
{
|
|
"source": "hashlib",
|
|
"specifiers": [
|
|
"hashlib"
|
|
]
|
|
},
|
|
{
|
|
"source": "logging",
|
|
"specifiers": [
|
|
"logging"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi",
|
|
"specifiers": [
|
|
"APIRouter",
|
|
"Request",
|
|
"HTTPException"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.config",
|
|
"specifiers": [
|
|
"settings"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.db",
|
|
"specifiers": [
|
|
"get_conn"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.routers.board",
|
|
"specifiers": [
|
|
"_issue_column"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"verify_signature",
|
|
"receive_webhook",
|
|
"_handle_issue_event",
|
|
"_handle_pr_event",
|
|
"_handle_repo_event",
|
|
"register_webhook",
|
|
"webhook_status"
|
|
],
|
|
"totalLines": 182,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/routers/workspace.py": {
|
|
"filePath": "app/routers/workspace.py",
|
|
"contentHash": "7acfeec409fcaa2f1d4bf88c2133990a746b82afbe3ef215e279aed58bd70180",
|
|
"functions": [
|
|
{
|
|
"name": "_current_user",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"returnType": "dict",
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "list_workspaces",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 4
|
|
},
|
|
{
|
|
"name": "create_workspace",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 17
|
|
},
|
|
{
|
|
"name": "list_members",
|
|
"params": [
|
|
"request",
|
|
"ws_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
},
|
|
{
|
|
"name": "add_member",
|
|
"params": [
|
|
"request",
|
|
"ws_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 13
|
|
},
|
|
{
|
|
"name": "update_member_role",
|
|
"params": [
|
|
"request",
|
|
"ws_id",
|
|
"user_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 10
|
|
},
|
|
{
|
|
"name": "remove_member",
|
|
"params": [
|
|
"request",
|
|
"ws_id",
|
|
"user_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "list_comments",
|
|
"params": [
|
|
"request",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
},
|
|
{
|
|
"name": "add_comment",
|
|
"params": [
|
|
"request",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 15
|
|
},
|
|
{
|
|
"name": "update_comment",
|
|
"params": [
|
|
"request",
|
|
"comment_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 11
|
|
},
|
|
{
|
|
"name": "page_history",
|
|
"params": [
|
|
"request",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
},
|
|
{
|
|
"name": "record_history",
|
|
"params": [
|
|
"request",
|
|
"page_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 12
|
|
},
|
|
{
|
|
"name": "list_favorites",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 13
|
|
},
|
|
{
|
|
"name": "add_favorite",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 14
|
|
},
|
|
{
|
|
"name": "remove_favorite",
|
|
"params": [
|
|
"request",
|
|
"fav_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "list_db_templates",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 4
|
|
},
|
|
{
|
|
"name": "create_db_template",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 10
|
|
},
|
|
{
|
|
"name": "apply_db_template",
|
|
"params": [
|
|
"request",
|
|
"tid"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 17
|
|
},
|
|
{
|
|
"name": "list_page_templates",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 6
|
|
},
|
|
{
|
|
"name": "create_page_template",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 9
|
|
},
|
|
{
|
|
"name": "apply_page_template",
|
|
"params": [
|
|
"request",
|
|
"collection_id",
|
|
"tid"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 15
|
|
},
|
|
{
|
|
"name": "import_csv",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 23
|
|
},
|
|
{
|
|
"name": "export_csv",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 25
|
|
},
|
|
{
|
|
"name": "list_webhooks",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 4
|
|
},
|
|
{
|
|
"name": "create_webhook",
|
|
"params": [
|
|
"request"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 14
|
|
},
|
|
{
|
|
"name": "delete_webhook",
|
|
"params": [
|
|
"request",
|
|
"wh_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "public_view",
|
|
"params": [
|
|
"request",
|
|
"collection_id"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 20
|
|
}
|
|
],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "csv",
|
|
"specifiers": [
|
|
"csv"
|
|
]
|
|
},
|
|
{
|
|
"source": "io",
|
|
"specifiers": [
|
|
"io"
|
|
]
|
|
},
|
|
{
|
|
"source": "json",
|
|
"specifiers": [
|
|
"json"
|
|
]
|
|
},
|
|
{
|
|
"source": "logging",
|
|
"specifiers": [
|
|
"logging"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi",
|
|
"specifiers": [
|
|
"APIRouter",
|
|
"Request",
|
|
"HTTPException"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi.responses",
|
|
"specifiers": [
|
|
"HTMLResponse",
|
|
"StreamingResponse"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.db",
|
|
"specifiers": [
|
|
"get_conn"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.auth.session",
|
|
"specifiers": [
|
|
"SessionManager"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"_current_user",
|
|
"list_workspaces",
|
|
"create_workspace",
|
|
"list_members",
|
|
"add_member",
|
|
"update_member_role",
|
|
"remove_member",
|
|
"list_comments",
|
|
"add_comment",
|
|
"update_comment",
|
|
"page_history",
|
|
"record_history",
|
|
"list_favorites",
|
|
"add_favorite",
|
|
"remove_favorite",
|
|
"list_db_templates",
|
|
"create_db_template",
|
|
"apply_db_template",
|
|
"list_page_templates",
|
|
"create_page_template",
|
|
"apply_page_template",
|
|
"import_csv",
|
|
"export_csv",
|
|
"list_webhooks",
|
|
"create_webhook",
|
|
"delete_webhook",
|
|
"public_view"
|
|
],
|
|
"totalLines": 412,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/schemas/__init__.py": {
|
|
"filePath": "app/schemas/__init__.py",
|
|
"contentHash": "94bd9c3218f7f374a4a003bf05bc5582f34e81828c2f574f24277ddd5814fc5b",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 2,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/services/__init__.py": {
|
|
"filePath": "app/services/__init__.py",
|
|
"contentHash": "958ed8d2ca8109e250dd8e10ba66fa3dd2252f9e27466f5048fedb0a42e00123",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 2,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/services/collection_adapter.py": {
|
|
"filePath": "app/services/collection_adapter.py",
|
|
"contentHash": "7486fccf6d4e144098e1368f2b607813c806c85232bce6fd796903302d9af99e",
|
|
"functions": [],
|
|
"classes": [
|
|
{
|
|
"name": "GiteaBoardCompat",
|
|
"methods": [
|
|
"from_board",
|
|
"from_card",
|
|
"list_boards_as_collections",
|
|
"get_board_as_collection",
|
|
"get_board_cards",
|
|
"sync_to_collection"
|
|
],
|
|
"properties": [],
|
|
"exported": true,
|
|
"lineCount": 209
|
|
}
|
|
],
|
|
"imports": [
|
|
{
|
|
"source": "json",
|
|
"specifiers": [
|
|
"json"
|
|
]
|
|
},
|
|
{
|
|
"source": "typing",
|
|
"specifiers": [
|
|
"Optional"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.db",
|
|
"specifiers": [
|
|
"get_conn"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"GiteaBoardCompat"
|
|
],
|
|
"totalLines": 223,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/services/formula_engine.py": {
|
|
"filePath": "app/services/formula_engine.py",
|
|
"contentHash": "8223b1b9ae21c1771df27ef5fe857321fdfd3b65925b1d76ff2615365a0ec810",
|
|
"functions": [],
|
|
"classes": [
|
|
{
|
|
"name": "FormulaEngine",
|
|
"methods": [
|
|
"__init__",
|
|
"evaluate",
|
|
"_eval_expr",
|
|
"_parse_args",
|
|
"_prop",
|
|
"_now",
|
|
"_today",
|
|
"_if",
|
|
"_concat",
|
|
"_round",
|
|
"_contains",
|
|
"_length",
|
|
"_to_number",
|
|
"_format_date",
|
|
"_date_add",
|
|
"_date_subtract",
|
|
"_replace",
|
|
"_replace_all",
|
|
"_join",
|
|
"_empty",
|
|
"_and",
|
|
"_or",
|
|
"_not",
|
|
"_start",
|
|
"_end"
|
|
],
|
|
"properties": [],
|
|
"exported": true,
|
|
"lineCount": 216
|
|
}
|
|
],
|
|
"imports": [
|
|
{
|
|
"source": "datetime",
|
|
"specifiers": [
|
|
"datetime",
|
|
"date",
|
|
"timedelta"
|
|
]
|
|
},
|
|
{
|
|
"source": "typing",
|
|
"specifiers": [
|
|
"Any",
|
|
"Callable",
|
|
"Optional"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"FormulaEngine"
|
|
],
|
|
"totalLines": 224,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/services/gitea_client.py": {
|
|
"filePath": "app/services/gitea_client.py",
|
|
"contentHash": "e77ca458fbb565b6908302964df8d8ecde7d2d7f8b9d103b7a7b6e29814f6911",
|
|
"functions": [],
|
|
"classes": [
|
|
{
|
|
"name": "GiteaClient",
|
|
"methods": [
|
|
"__init__",
|
|
"_cached",
|
|
"_set_cache",
|
|
"get_user_repos",
|
|
"get_org_repos",
|
|
"get_user_orgs",
|
|
"get_issues",
|
|
"get_issue",
|
|
"create_issue",
|
|
"update_issue",
|
|
"update_issue_labels",
|
|
"close_issue",
|
|
"reopen_issue",
|
|
"get_issue_comments",
|
|
"_invalidate_issue_cache",
|
|
"get_labels",
|
|
"get_milestones",
|
|
"list_webhooks",
|
|
"create_webhook",
|
|
"delete_webhook",
|
|
"get_collaborators"
|
|
],
|
|
"properties": [],
|
|
"exported": true,
|
|
"lineCount": 281
|
|
}
|
|
],
|
|
"imports": [
|
|
{
|
|
"source": "logging",
|
|
"specifiers": [
|
|
"logging"
|
|
]
|
|
},
|
|
{
|
|
"source": "datetime",
|
|
"specifiers": [
|
|
"datetime",
|
|
"timedelta"
|
|
]
|
|
},
|
|
{
|
|
"source": "typing",
|
|
"specifiers": [
|
|
"Any"
|
|
]
|
|
},
|
|
{
|
|
"source": "httpx",
|
|
"specifiers": [
|
|
"httpx"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.config",
|
|
"specifiers": [
|
|
"settings"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"GiteaClient"
|
|
],
|
|
"totalLines": 301,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/services/property_types.py": {
|
|
"filePath": "app/services/property_types.py",
|
|
"contentHash": "d015fa13b16be6c32f9a421d41fee03b96db73ba2c35e6425522661b58ed9de8",
|
|
"functions": [
|
|
{
|
|
"name": "validate_property_value",
|
|
"params": [
|
|
"prop_type",
|
|
"value",
|
|
"options"
|
|
],
|
|
"returnType": "tuple[bool, str]",
|
|
"exported": true,
|
|
"lineCount": 41
|
|
},
|
|
{
|
|
"name": "get_auto_property_value",
|
|
"params": [
|
|
"prop_type",
|
|
"user"
|
|
],
|
|
"returnType": "Any",
|
|
"exported": true,
|
|
"lineCount": 9
|
|
},
|
|
{
|
|
"name": "get_next_unique_id",
|
|
"params": [
|
|
"collection_id",
|
|
"conn"
|
|
],
|
|
"returnType": "int",
|
|
"exported": true,
|
|
"lineCount": 8
|
|
},
|
|
{
|
|
"name": "format_number",
|
|
"params": [
|
|
"value",
|
|
"fmt"
|
|
],
|
|
"returnType": "str",
|
|
"exported": true,
|
|
"lineCount": 15
|
|
}
|
|
],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "json",
|
|
"specifiers": [
|
|
"json"
|
|
]
|
|
},
|
|
{
|
|
"source": "datetime",
|
|
"specifiers": [
|
|
"datetime",
|
|
"timezone"
|
|
]
|
|
},
|
|
{
|
|
"source": "typing",
|
|
"specifiers": [
|
|
"Any",
|
|
"Optional"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"validate_property_value",
|
|
"get_auto_property_value",
|
|
"get_next_unique_id",
|
|
"format_number"
|
|
],
|
|
"totalLines": 188,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/services/rollup_engine.py": {
|
|
"filePath": "app/services/rollup_engine.py",
|
|
"contentHash": "e6dc8c61a58f4b5b1b3c7e2b20d94d1b1c18175620f55c6d070af63be69cffc3",
|
|
"functions": [
|
|
{
|
|
"name": "_safe_avg",
|
|
"params": [
|
|
"values"
|
|
],
|
|
"returnType": "Optional[float]",
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "_safe_stat",
|
|
"params": [
|
|
"values",
|
|
"fn"
|
|
],
|
|
"returnType": "Optional[float]",
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "_numeric",
|
|
"params": [
|
|
"gen"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 6
|
|
},
|
|
{
|
|
"name": "_safe_range",
|
|
"params": [
|
|
"values"
|
|
],
|
|
"returnType": "Optional[float]",
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "_percent_checked",
|
|
"params": [
|
|
"values"
|
|
],
|
|
"returnType": "Optional[float]",
|
|
"exported": true,
|
|
"lineCount": 8
|
|
},
|
|
{
|
|
"name": "_percent_per_group",
|
|
"params": [
|
|
"values"
|
|
],
|
|
"returnType": "dict",
|
|
"exported": true,
|
|
"lineCount": 10
|
|
}
|
|
],
|
|
"classes": [
|
|
{
|
|
"name": "RollupEngine",
|
|
"methods": [
|
|
"compute"
|
|
],
|
|
"properties": [],
|
|
"exported": true,
|
|
"lineCount": 79
|
|
}
|
|
],
|
|
"imports": [
|
|
{
|
|
"source": "json",
|
|
"specifiers": [
|
|
"json"
|
|
]
|
|
},
|
|
{
|
|
"source": "statistics",
|
|
"specifiers": [
|
|
"statistics"
|
|
]
|
|
},
|
|
{
|
|
"source": "typing",
|
|
"specifiers": [
|
|
"Any",
|
|
"Optional"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.db",
|
|
"specifiers": [
|
|
"get_conn"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"RollupEngine",
|
|
"_safe_avg",
|
|
"_safe_stat",
|
|
"_numeric",
|
|
"_safe_range",
|
|
"_percent_checked",
|
|
"_percent_per_group"
|
|
],
|
|
"totalLines": 151,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/services/webhook_outbound.py": {
|
|
"filePath": "app/services/webhook_outbound.py",
|
|
"contentHash": "b9ccb68b7d18dd529d2509dca71bd0f0b66fb02c023aeb285659adaad82cd0d5",
|
|
"functions": [
|
|
{
|
|
"name": "fire_event",
|
|
"params": [
|
|
"event",
|
|
"payload"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 16
|
|
},
|
|
{
|
|
"name": "init_webhook_tables",
|
|
"params": [],
|
|
"exported": true,
|
|
"lineCount": 14
|
|
}
|
|
],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "json",
|
|
"specifiers": [
|
|
"json"
|
|
]
|
|
},
|
|
{
|
|
"source": "logging",
|
|
"specifiers": [
|
|
"logging"
|
|
]
|
|
},
|
|
{
|
|
"source": "httpx",
|
|
"specifiers": [
|
|
"httpx"
|
|
]
|
|
},
|
|
{
|
|
"source": "app.db",
|
|
"specifiers": [
|
|
"get_conn"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"fire_event",
|
|
"init_webhook_tables"
|
|
],
|
|
"totalLines": 52,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"app/templates/accounts.html": {
|
|
"filePath": "app/templates/accounts.html",
|
|
"contentHash": "104e075b4278a0fab324bf24d3da4c90bf2dba6f2bce262f2fb045c48bef502d",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 132,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"app/templates/base.html": {
|
|
"filePath": "app/templates/base.html",
|
|
"contentHash": "9997b65a9bf013d2a07a201cfafa058b5ca9028fff18b9572595351a9f001a3a",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 599,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"app/templates/board_fragment.html": {
|
|
"filePath": "app/templates/board_fragment.html",
|
|
"contentHash": "537ccb9630b60c599a4b421353dcadbf5d6f836012a0d43efb554a1f72881740",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 61,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"app/templates/board.html": {
|
|
"filePath": "app/templates/board.html",
|
|
"contentHash": "cfee7222d3bbf81c8b9abcab4e7f48877931d1254ad84bf9dfd59fafdb744186",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 301,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"app/templates/card_detail.html": {
|
|
"filePath": "app/templates/card_detail.html",
|
|
"contentHash": "806c6806b76343d7d6822aa16f4b63f81409dd2b957e700a0cbdd98c995a6f3a",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 149,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"app/templates/card.html": {
|
|
"filePath": "app/templates/card.html",
|
|
"contentHash": "53030391c81d49b9586de0dd153695f71e1935d6611fcb8a3f266ac8b8e131d6",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 29,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"app/templates/dashboard.html": {
|
|
"filePath": "app/templates/dashboard.html",
|
|
"contentHash": "ab756877ed0fd2788bc565e43421c16905488d0f5e2ce18a437b71cfad4e4ba1",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 82,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"app/templates/detailed_board.html": {
|
|
"filePath": "app/templates/detailed_board.html",
|
|
"contentHash": "367eff474c8017f33f511d31ff306c90815d6bb27ef11bd740b463b1f93a88a7",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 70,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"app/templates/library.html": {
|
|
"filePath": "app/templates/library.html",
|
|
"contentHash": "4d3de3fbb3ad1d9b289815550562cd544c16c0b33d2e2a2c35194c5eb4e990f6",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 122,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"app/templates/notes.html": {
|
|
"filePath": "app/templates/notes.html",
|
|
"contentHash": "e530dfbc410cfd6e06f7404c36221a00bafff6e3ef5e423ac59a12013fd571e9",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 31,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"app/templates/page_editor.html": {
|
|
"filePath": "app/templates/page_editor.html",
|
|
"contentHash": "2e7a87b2d1daa04fb283020139716d1300124f7e413e17976e9a2d4c7c656234",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 251,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"app/templates/status_overview.html": {
|
|
"filePath": "app/templates/status_overview.html",
|
|
"contentHash": "1e3bb60dfb393714d0a2217268e11aec8bc51a48a8876d7a099a37d989da892c",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 44,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"app/templates/table_view.html": {
|
|
"filePath": "app/templates/table_view.html",
|
|
"contentHash": "bc1f41147c5874951108686c489ba5355d7f98f48f4f45b6c795da2e93df2c8a",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 133,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"app/templates/team_load.html": {
|
|
"filePath": "app/templates/team_load.html",
|
|
"contentHash": "580841d5677fb9c67ff6d0ec9cd4f3c0e5347d45da41348d3c3538c8d3c8482b",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 50,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"app/templates/trash.html": {
|
|
"filePath": "app/templates/trash.html",
|
|
"contentHash": "b186beda0c363da4f55cbcf2519dd9e0636d69aeda20dfc2f2055bbb4b86f41f",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 96,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"ARCHITECTURE.md": {
|
|
"filePath": "ARCHITECTURE.md",
|
|
"contentHash": "ffa59fc0643beefc9500fb1ed19847fdca84f998f6cbc44bab2e00b84f83a84e",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 1309,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"CHANGELOG.md": {
|
|
"filePath": "CHANGELOG.md",
|
|
"contentHash": "b960c52dc284a5ee7e663b86551c78587348b677cfd41bf5cc0a379f3b4f380a",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 87,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"CONTRIBUTING.md": {
|
|
"filePath": "CONTRIBUTING.md",
|
|
"contentHash": "79bc0fc36ef57d406ef15c86cc1f1a7bb7c56ea29e024779430a9d6627cb99b4",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 33,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"docker-compose.yml": {
|
|
"filePath": "docker-compose.yml",
|
|
"contentHash": "d3ff0b583f596858669ffd241999845bc05abeab5a9e8f7999cd9ae6c53dc72d",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 15,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"Dockerfile": {
|
|
"filePath": "Dockerfile",
|
|
"contentHash": "1cbd3170df2d644b369508d5ba9999d920cccc2827f8b7bcb5872df0884b7bdd",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 20,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"docs/NOTION_DATABASE_TASKS_GUIDE.md": {
|
|
"filePath": "docs/NOTION_DATABASE_TASKS_GUIDE.md",
|
|
"contentHash": "303c8fcea02592d3087145a10e01b270e492df4f7b251fbc3065e6e712fb7a6e",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 823,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"images/Guide-complet-de-d-veloppement-du-panneau-lat-ral-de-navigat.html": {
|
|
"filePath": "images/Guide-complet-de-d-veloppement-du-panneau-lat-ral-de-navigat.html",
|
|
"contentHash": "b34a7ad9815a180f171f8a1ce6f6d4bf9fa43c6ce2f6cac2d50f19fbcc74a398",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 1692,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"images/Guide-pour-d-velopper-un-clone-de-Notion-Bases-de-donn-es-T-.html": {
|
|
"filePath": "images/Guide-pour-d-velopper-un-clone-de-Notion-Bases-de-donn-es-T-.html",
|
|
"contentHash": "a8b6cc2381825c9cd47526e56aa0fd53290ba7aab1f8eed837ae5fbc47a9b41a",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 1522,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"images/Guide-Technique-Complet-pour-Recr-er-l-diteur-Notion.html": {
|
|
"filePath": "images/Guide-Technique-Complet-pour-Recr-er-l-diteur-Notion.html",
|
|
"contentHash": "3f0c2d4dafa25b71a7749df5ad5bd8a34fbfdd5933687ea9402939d6c5d5fc80",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 1498,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"images/Kanban board - Kanban board.url": {
|
|
"filePath": "images/Kanban board - Kanban board.url",
|
|
"contentHash": "a6d96c62b7bfeb9703d030a22337b01c8b3cbf346cb4d6c0920a2c252fd9d004",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 3,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"pyproject.toml": {
|
|
"filePath": "pyproject.toml",
|
|
"contentHash": "6d7cd4157ad488b231b3759cd94ef8af8fb2e3599e9e58f030d06e914f5e3b0c",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 4,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"README.md": {
|
|
"filePath": "README.md",
|
|
"contentHash": "10093e4adb993a2245387c5ddd69326b2e1ea831f310185c65c3ad9872329f32",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 98,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"requirements.txt": {
|
|
"filePath": "requirements.txt",
|
|
"contentHash": "2471698d95faccb5e5af96cf7fd605cb4e9abbd9d15f5fdfefbe60f323149d2b",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 14,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"ROADMAP.md": {
|
|
"filePath": "ROADMAP.md",
|
|
"contentHash": "fdc287635aa60eb953cc2a14a2b644309574a9f310cb1102a52b413257b84635",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 204,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"static/css/app.css": {
|
|
"filePath": "static/css/app.css",
|
|
"contentHash": "206cd001f892e7546f84fef178f4640bbd1a50e6474d548ae1d8e9f3d5909c0d",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 2162,
|
|
"hasStructuralAnalysis": false
|
|
},
|
|
"static/js/app.js": {
|
|
"filePath": "static/js/app.js",
|
|
"contentHash": "72a3657551ac88b12f3d1242cf85b3437f5b315d693ea7b3325754b931923998",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 124,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"tests/test_app.py": {
|
|
"filePath": "tests/test_app.py",
|
|
"contentHash": "de11fa6b658f819e8224cbef753f23bf8a8701f4be4fd1c777612c149cc07855",
|
|
"functions": [
|
|
{
|
|
"name": "client",
|
|
"params": [],
|
|
"exported": true,
|
|
"lineCount": 17
|
|
},
|
|
{
|
|
"name": "test_health",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
},
|
|
{
|
|
"name": "test_dashboard",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "test_stats",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 6
|
|
},
|
|
{
|
|
"name": "test_projects",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "test_board_404",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "test_csrf_rejected",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "test_auth_user",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 4
|
|
},
|
|
{
|
|
"name": "test_board_page_renders",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "test_dashboard_notion_ui",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "test_kanban_view",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 4
|
|
},
|
|
{
|
|
"name": "test_detailed_view",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "test_card_detail_html",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 4
|
|
},
|
|
{
|
|
"name": "test_create_issue_api",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 4
|
|
},
|
|
{
|
|
"name": "test_table_view",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "test_table_view_with_sort",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "test_kanban_with_status_filter",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "test_kanban_with_assignee_filter",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "test_kanban_with_multiple_sorts",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "test_status_overview",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "test_team_load",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "test_get_properties",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "test_get_ai_keywords",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "test_csrf_protects_properties_post",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "test_csrf_protects_sync",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "test_version_in_health",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "test_db_tables_exist",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 15
|
|
},
|
|
{
|
|
"name": "test_cors_headers",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 6
|
|
},
|
|
{
|
|
"name": "test_all_view_endpoints_respond",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "test_collections_api_list_empty",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
},
|
|
{
|
|
"name": "test_collections_api_crud",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 48
|
|
},
|
|
{
|
|
"name": "test_collections_pages_crud",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 42
|
|
},
|
|
{
|
|
"name": "test_collections_api_validation",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "test_collections_db_page_renders",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 12
|
|
},
|
|
{
|
|
"name": "test_boards_as_collections",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 7
|
|
},
|
|
{
|
|
"name": "test_property_types_api",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 10
|
|
},
|
|
{
|
|
"name": "test_collection_properties_crud",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 71
|
|
},
|
|
{
|
|
"name": "test_collection_properties_duplicate",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 10
|
|
},
|
|
{
|
|
"name": "test_collection_properties_validation",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 9
|
|
},
|
|
{
|
|
"name": "test_create_relation_property",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 18
|
|
},
|
|
{
|
|
"name": "test_link_pages_via_relation",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 30
|
|
},
|
|
{
|
|
"name": "test_rollup_compute",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 42
|
|
},
|
|
{
|
|
"name": "test_formula_evaluate",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 32
|
|
},
|
|
{
|
|
"name": "test_formula_empty_expression",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 4
|
|
},
|
|
{
|
|
"name": "test_views_calendar",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 9
|
|
},
|
|
{
|
|
"name": "test_views_gallery",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 9
|
|
},
|
|
{
|
|
"name": "test_views_list",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 9
|
|
},
|
|
{
|
|
"name": "test_views_timeline",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 9
|
|
},
|
|
{
|
|
"name": "test_views_default_table",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 8
|
|
},
|
|
{
|
|
"name": "test_views_calendar_navigation",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 8
|
|
},
|
|
{
|
|
"name": "test_view_config_update",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 13
|
|
},
|
|
{
|
|
"name": "test_save_view_as",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 15
|
|
},
|
|
{
|
|
"name": "test_list_views",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 8
|
|
},
|
|
{
|
|
"name": "test_sub_items_crud",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 19
|
|
},
|
|
{
|
|
"name": "test_status_aggregate",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 17
|
|
},
|
|
{
|
|
"name": "test_dependencies_check",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 19
|
|
},
|
|
{
|
|
"name": "test_dependencies_blocked",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 16
|
|
},
|
|
{
|
|
"name": "test_my_tasks_page",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 5
|
|
},
|
|
{
|
|
"name": "test_my_tasks_api",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 13
|
|
},
|
|
{
|
|
"name": "test_my_tasks_view_today",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "test_my_tasks_view_overdue",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 3
|
|
},
|
|
{
|
|
"name": "test_workspace_crud",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 13
|
|
},
|
|
{
|
|
"name": "test_comments_crud",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 14
|
|
},
|
|
{
|
|
"name": "test_favorites_crud",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 14
|
|
},
|
|
{
|
|
"name": "test_csv_import_export",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 14
|
|
},
|
|
{
|
|
"name": "test_public_view",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 8
|
|
},
|
|
{
|
|
"name": "test_db_templates",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 13
|
|
},
|
|
{
|
|
"name": "test_page_history",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 12
|
|
},
|
|
{
|
|
"name": "test_public_api_token",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 6
|
|
},
|
|
{
|
|
"name": "test_public_api_with_default_key",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 8
|
|
},
|
|
{
|
|
"name": "test_public_api_unauthorized",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 4
|
|
},
|
|
{
|
|
"name": "test_public_api_pages",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 9
|
|
},
|
|
{
|
|
"name": "test_webhooks_crud",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 11
|
|
},
|
|
{
|
|
"name": "test_pwa_manifest",
|
|
"params": [
|
|
"client"
|
|
],
|
|
"exported": true,
|
|
"lineCount": 6
|
|
}
|
|
],
|
|
"classes": [],
|
|
"imports": [
|
|
{
|
|
"source": "json",
|
|
"specifiers": [
|
|
"json"
|
|
]
|
|
},
|
|
{
|
|
"source": "os",
|
|
"specifiers": [
|
|
"os"
|
|
]
|
|
},
|
|
{
|
|
"source": "tempfile",
|
|
"specifiers": [
|
|
"tempfile"
|
|
]
|
|
},
|
|
{
|
|
"source": "pytest",
|
|
"specifiers": [
|
|
"pytest"
|
|
]
|
|
},
|
|
{
|
|
"source": "fastapi.testclient",
|
|
"specifiers": [
|
|
"TestClient"
|
|
]
|
|
}
|
|
],
|
|
"exports": [
|
|
"client",
|
|
"test_health",
|
|
"test_dashboard",
|
|
"test_stats",
|
|
"test_projects",
|
|
"test_board_404",
|
|
"test_csrf_rejected",
|
|
"test_auth_user",
|
|
"test_board_page_renders",
|
|
"test_dashboard_notion_ui",
|
|
"test_kanban_view",
|
|
"test_detailed_view",
|
|
"test_card_detail_html",
|
|
"test_create_issue_api",
|
|
"test_table_view",
|
|
"test_table_view_with_sort",
|
|
"test_kanban_with_status_filter",
|
|
"test_kanban_with_assignee_filter",
|
|
"test_kanban_with_multiple_sorts",
|
|
"test_status_overview",
|
|
"test_team_load",
|
|
"test_get_properties",
|
|
"test_get_ai_keywords",
|
|
"test_csrf_protects_properties_post",
|
|
"test_csrf_protects_sync",
|
|
"test_version_in_health",
|
|
"test_db_tables_exist",
|
|
"test_cors_headers",
|
|
"test_all_view_endpoints_respond",
|
|
"test_collections_api_list_empty",
|
|
"test_collections_api_crud",
|
|
"test_collections_pages_crud",
|
|
"test_collections_api_validation",
|
|
"test_collections_db_page_renders",
|
|
"test_boards_as_collections",
|
|
"test_property_types_api",
|
|
"test_collection_properties_crud",
|
|
"test_collection_properties_duplicate",
|
|
"test_collection_properties_validation",
|
|
"test_create_relation_property",
|
|
"test_link_pages_via_relation",
|
|
"test_rollup_compute",
|
|
"test_formula_evaluate",
|
|
"test_formula_empty_expression",
|
|
"test_views_calendar",
|
|
"test_views_gallery",
|
|
"test_views_list",
|
|
"test_views_timeline",
|
|
"test_views_default_table",
|
|
"test_views_calendar_navigation",
|
|
"test_view_config_update",
|
|
"test_save_view_as",
|
|
"test_list_views",
|
|
"test_sub_items_crud",
|
|
"test_status_aggregate",
|
|
"test_dependencies_check",
|
|
"test_dependencies_blocked",
|
|
"test_my_tasks_page",
|
|
"test_my_tasks_api",
|
|
"test_my_tasks_view_today",
|
|
"test_my_tasks_view_overdue",
|
|
"test_workspace_crud",
|
|
"test_comments_crud",
|
|
"test_favorites_crud",
|
|
"test_csv_import_export",
|
|
"test_public_view",
|
|
"test_db_templates",
|
|
"test_page_history",
|
|
"test_public_api_token",
|
|
"test_public_api_with_default_key",
|
|
"test_public_api_unauthorized",
|
|
"test_public_api_pages",
|
|
"test_webhooks_crud",
|
|
"test_pwa_manifest"
|
|
],
|
|
"totalLines": 997,
|
|
"hasStructuralAnalysis": true
|
|
},
|
|
"WORKLOAD.md": {
|
|
"filePath": "WORKLOAD.md",
|
|
"contentHash": "fdc7f59e5ae150d94ea90bc3b1b9c159ab4ec443fd13947b7338f0d56173a86f",
|
|
"functions": [],
|
|
"classes": [],
|
|
"imports": [],
|
|
"exports": [],
|
|
"totalLines": 60,
|
|
"hasStructuralAnalysis": true
|
|
}
|
|
}
|
|
} |