MCPcopy
hub / github.com/aspen-cloud/triplit / handleRequest

Method handleRequest

packages/server-core/src/triplit-server.ts:99–202  ·  view source on GitHub ↗
(
    route: Route,
    maybeParams: any,
    token: ProjectJWT
  )

Source from the content-addressed store, hash-verified

97 }
98
99 async handleRequest(
100 route: Route,
101 maybeParams: any,
102 token: ProjectJWT
103 ): Promise<ServerResponseType> {
104 const params: any = maybeParams || {};
105 let resp: ServerResponseType;
106 try {
107 if (!isValidRoute(route)) return routeNotFoundResponse(route);
108 logger
109 .context('request')
110 .info('Handling request', { path: route, params, token });
111 const session = this.createSession(token);
112 const firstSegment = route[0];
113 switch (firstSegment) {
114 case 'clear':
115 resp = await session.clearDB(params);
116 break;
117 case 'stats':
118 resp = await session.getCollectionStats();
119 break;
120 case 'fetch': {
121 const { query } = params;
122 resp = await session.fetch(query);
123 break;
124 }
125 case 'insert': {
126 const { collectionName, entity } = params;
127 resp = await session.insert(collectionName, entity);
128 break;
129 }
130 case 'bulk-insert': {
131 resp = await session.bulkInsert(params);
132 break;
133 }
134 case 'update': {
135 const { collectionName, entityId, changes } = params;
136 resp = await session.update(collectionName, entityId, changes);
137 break;
138 }
139 case 'delete': {
140 const { collectionName, entityId } = params;
141 resp = await session.delete(collectionName, entityId);
142 break;
143 }
144 case 'delete-all': {
145 const { collectionName } = params;
146 resp = await session.deleteAll(collectionName);
147 }
148 case 'schema': {
149 resp = await session.getSchema(params);
150 break;
151 }
152 case 'webhooks-get': {
153 resp = await session.handleWebhooksGet();
154 break;
155 }
156 case 'webhooks-push': {

Callers 3

fetchMethod · 0.80
createTriplitHonoServerFunction · 0.80
createServerFunction · 0.80

Calls 15

createSessionMethod · 0.95
isValidRouteFunction · 0.85
routeNotFoundResponseFunction · 0.85
isTriplitErrorFunction · 0.85
ServerResponseFunction · 0.85
contextMethod · 0.80
clearDBMethod · 0.80
handleWebhooksGetMethod · 0.80
handleWebhooksClearMethod · 0.80
getCollectionStatsMethod · 0.65
deleteMethod · 0.65

Tested by

no test coverage detected