[WIP] Start MUCwerk

This commit is contained in:
LDA 2024-06-19 16:43:24 +02:00
commit 3ac11fd269
2 changed files with 37 additions and 4 deletions

View file

@ -14,8 +14,6 @@ RouteHead(RouteUserAck, arr, argp)
size_t i; size_t i;
char *user = ArrayGet(arr, 0); char *user = ArrayGet(arr, 0);
Log(LOG_INFO, "Alles Politischemacht");
response = ASVerifyRequest(args); response = ASVerifyRequest(args);
if (response) if (response)
{ {
@ -33,9 +31,43 @@ RouteHead(RouteUserAck, arr, argp)
Log(LOG_INFO, "user=%s", user); Log(LOG_INFO, "user=%s", user);
ASRegisterUser(args->data->config, user); ASRegisterUser(args->data->config, user);
/* TODO: Verify the user, and create an XMPP mapping. */
response = HashMapCreate(); response = HashMapCreate();
end: end:
JsonFree(request); JsonFree(request);
return response; return response;
} }
RouteHead(RouteRoomAck, arr, argp)
{
ParseeHttpArg *args = argp;
HashMap *request = NULL;
HashMap *response = NULL;
Array *events;
size_t i;
char *room = ArrayGet(arr, 0);
response = ASVerifyRequest(args);
if (response)
{
goto end;
}
if (HttpRequestMethodGet(args->ctx) != HTTP_GET)
{
HttpResponseStatus(args->ctx, HTTP_METHOD_NOT_ALLOWED);
response = MatrixCreateError(
"M_UNRECOGNIZED",
"Path /users only accepts GET as a valid method."
);
goto end;
}
Log(LOG_INFO, "room=%s", room);
HttpResponseStatus(args->ctx, HTTP_METHOD_NOT_ALLOWED);
response = MatrixCreateError(
"M_UNRECOGNIZED",
"Path /users only accepts GET as a valid method."
);
end:
JsonFree(request);
return response;
}

View file

@ -12,7 +12,8 @@ typedef struct ParseeHttpArg {
#define ROUTES X_ROUTE("/", RouteRoot) \ #define ROUTES X_ROUTE("/", RouteRoot) \
X_ROUTE("/_matrix/app/v1/transactions/(.*)", RouteTxns) \ X_ROUTE("/_matrix/app/v1/transactions/(.*)", RouteTxns) \
X_ROUTE("/_matrix/app/v1/ping", RoutePing) \ X_ROUTE("/_matrix/app/v1/ping", RoutePing) \
X_ROUTE("/_matrix/app/v1/users/(.*)", RouteUserAck) X_ROUTE("/_matrix/app/v1/users/(.*)", RouteUserAck) \
X_ROUTE("/_matrix/app/v1/rooms/(.*)", RouteRoomAck)
#define X_ROUTE(path, name) extern void * name(Array *, void *); #define X_ROUTE(path, name) extern void * name(Array *, void *);
ROUTES ROUTES