|
1 | 1 | import logging |
| 2 | + |
| 3 | +from fastapi import FastAPI |
2 | 4 | from api.healthcheck import Healthcheck |
3 | 5 | from api.misc import IsDemoRest, IsManagedRest |
4 | 6 | import graphene |
|
15 | 17 | CognitionPrepareProject, |
16 | 18 | CognitionParseMarkdownFile, |
17 | 19 | ) |
| 20 | +from fast_api.routes.organization import router as org_router |
| 21 | +from fast_api.routes.project import router as project_router |
| 22 | +from fast_api.routes.project_setting import router as project_setting_router |
| 23 | +from fast_api.routes.misc import router as misc_router |
| 24 | +from fast_api.routes.comment import router as comment_router |
| 25 | +from fast_api.routes.zero_shot import router as zero_shot_router |
| 26 | +from fast_api.routes.attribute import router as attribute_router |
| 27 | +from fast_api.routes.embedding import router as embedding_router |
| 28 | +from fast_api.routes.notification import router as notification_router |
| 29 | +from fast_api.routes.data_slices import router as data_slice_router |
| 30 | +from fast_api.routes.lookup_lists import router as lookup_lists_router |
| 31 | +from fast_api.routes.heuristic import router as heuristic_router |
| 32 | +from fast_api.routes.data_browser import router as data_browser_router |
| 33 | +from fast_api.routes.labeling import router as labeling_router |
| 34 | +from fast_api.routes.record_ide import router as record_ide_router |
| 35 | +from fast_api.routes.record import router as record_router |
| 36 | +from fast_api.routes.weak_supervision import router as weak_supervision_router |
| 37 | +from fast_api.routes.labeling_tasks import router as labeling_tasks_router |
18 | 38 | from middleware.database_session import DatabaseSessionHandler |
19 | 39 | from starlette.applications import Starlette |
20 | 40 | from starlette.graphql import GraphQLApp |
21 | 41 | from starlette.middleware import Middleware |
22 | | -from starlette.routing import Route |
| 42 | +from starlette.routing import Route, Mount |
23 | 43 |
|
24 | 44 | from graphql_api import schema |
25 | 45 | from controller.task_queue.task_queue import init_task_queues |
26 | 46 | from controller.project.manager import check_in_deletion_projects |
| 47 | +from route_prefix import ( |
| 48 | + PREFIX_ORGANIZATION, |
| 49 | + PREFIX_PROJECT, |
| 50 | + PREFIX_PROJECT_SETTING, |
| 51 | + PREFIX_MISC, |
| 52 | + PREFIX_COMMENT, |
| 53 | + PREFIX_ZERO_SHOT, |
| 54 | + PREFIX_ATTRIBUTE, |
| 55 | + PREFIX_EMBEDDING, |
| 56 | + PREFIX_NOTIFICATION, |
| 57 | + PREFIX_DATA_SLICE, |
| 58 | + PREFIX_LOOKUP_LISTS, |
| 59 | + PREFIX_HEURISTIC, |
| 60 | + PREFIX_DATA_BROWSER, |
| 61 | + PREFIX_LABELING, |
| 62 | + PREFIX_RECORD_IDE, |
| 63 | + PREFIX_RECORD, |
| 64 | + PREFIX_WEAK_SUPERVISION, |
| 65 | + PREFIX_LABELING_TASKS, |
| 66 | +) |
27 | 67 | from util import security, clean_up |
28 | 68 |
|
29 | | - |
30 | 69 | logging.basicConfig(level=logging.DEBUG) |
31 | 70 | logger = logging.getLogger(__name__) |
32 | 71 |
|
| 72 | +fastapi_app = FastAPI() |
| 73 | + |
| 74 | +fastapi_app.include_router( |
| 75 | + org_router, prefix=PREFIX_ORGANIZATION, tags=["organization"] |
| 76 | +) |
| 77 | +fastapi_app.include_router(project_router, prefix=PREFIX_PROJECT, tags=["project"]) |
| 78 | +fastapi_app.include_router( |
| 79 | + project_setting_router, prefix=PREFIX_PROJECT_SETTING, tags=["project-setting"] |
| 80 | +) |
| 81 | +fastapi_app.include_router(misc_router, prefix=PREFIX_MISC, tags=["misc"]) |
| 82 | +fastapi_app.include_router(comment_router, prefix=PREFIX_COMMENT, tags=["comment"]) |
| 83 | +fastapi_app.include_router( |
| 84 | + zero_shot_router, prefix=PREFIX_ZERO_SHOT, tags=["zero-shot"] |
| 85 | +) |
| 86 | +fastapi_app.include_router( |
| 87 | + attribute_router, prefix=PREFIX_ATTRIBUTE, tags=["attribute"] |
| 88 | +) |
| 89 | +fastapi_app.include_router( |
| 90 | + embedding_router, prefix=PREFIX_EMBEDDING, tags=["embedding"] |
| 91 | +) |
| 92 | +fastapi_app.include_router( |
| 93 | + notification_router, prefix=PREFIX_NOTIFICATION, tags=["notification"] |
| 94 | +) |
| 95 | +fastapi_app.include_router( |
| 96 | + data_slice_router, prefix=PREFIX_DATA_SLICE, tags=["data-slice"] |
| 97 | +) |
| 98 | +fastapi_app.include_router( |
| 99 | + lookup_lists_router, prefix=PREFIX_LOOKUP_LISTS, tags=["lookup-lists"] |
| 100 | +) |
| 101 | +fastapi_app.include_router( |
| 102 | + heuristic_router, prefix=PREFIX_HEURISTIC, tags=["heuristic"] |
| 103 | +) |
| 104 | +fastapi_app.include_router( |
| 105 | + data_browser_router, prefix=PREFIX_DATA_BROWSER, tags=["data-browser"] |
| 106 | +) |
| 107 | +fastapi_app.include_router(labeling_router, prefix=PREFIX_LABELING, tags=["labeling"]) |
| 108 | +fastapi_app.include_router( |
| 109 | + record_ide_router, prefix=PREFIX_RECORD_IDE, tags=["record-ide"] |
| 110 | +), |
| 111 | +fastapi_app.include_router(record_router, prefix=PREFIX_RECORD, tags=["record"]), |
| 112 | +fastapi_app.include_router( |
| 113 | + weak_supervision_router, prefix=PREFIX_WEAK_SUPERVISION, tags=["weak-supervision"] |
| 114 | +) |
| 115 | +fastapi_app.include_router( |
| 116 | + labeling_tasks_router, prefix=PREFIX_LABELING_TASKS, tags=["labeling-tasks"] |
| 117 | +) |
33 | 118 |
|
34 | 119 | routes = [ |
35 | 120 | Route( |
|
64 | 149 | Route("/project", ProjectCreationFromWorkflow), |
65 | 150 | Route("/is_managed", IsManagedRest), |
66 | 151 | Route("/is_demo", IsDemoRest), |
| 152 | + Mount("/api", app=fastapi_app, name="REST API"), |
67 | 153 | ] |
68 | 154 |
|
69 | 155 | middleware = [Middleware(DatabaseSessionHandler)] |
|
0 commit comments