-
#{channel.name}
+
))}
+
>
);
}
\ No newline at end of file
diff --git a/packages/server/src/db/query.ts b/packages/server/src/db/query.ts
index 294910a..e6953ef 100644
--- a/packages/server/src/db/query.ts
+++ b/packages/server/src/db/query.ts
@@ -11,6 +11,7 @@ export default async function(a: any, ...opts: any[]): Promise
{
connection.query(text, [...opts], (err, results) => {
if(!err) return resolve(results);
console.error(err.errno, err.sqlMessage);
+ console.error('--- Query ---');
console.error(err.sql);
reject(err);
});
diff --git a/packages/server/src/db/snippets/channel/new.sql b/packages/server/src/db/snippets/channel/new.sql
new file mode 100644
index 0000000..76eadf5
--- /dev/null
+++ b/packages/server/src/db/snippets/channel/new.sql
@@ -0,0 +1,2 @@
+INSERT INTO channels (name, uid)
+VALUES (?, ?);
\ No newline at end of file
diff --git a/packages/server/src/lib/router.ts b/packages/server/src/lib/router.ts
index be804ed..416e602 100644
--- a/packages/server/src/lib/router.ts
+++ b/packages/server/src/lib/router.ts
@@ -6,7 +6,11 @@ export default function router(routes: any) {
if('routes' in route) {
for(const suffix of route.routes) {
const combinedRouteName = routeName + ':' + suffix;
- routes[combinedRouteName] = (_: never, ...args: any[]) => route(suffix, args);
+ routes[combinedRouteName] = function(data: any) {
+ // console.log(suffix, route, data)
+ return route(suffix, data);
+ // console.log('INCOMMING', args)
+ };
}
delete routes[routeName];
}
diff --git a/packages/server/src/routers/channel.ts b/packages/server/src/routers/channel.ts
index c7b2ee0..291a471 100644
--- a/packages/server/src/routers/channel.ts
+++ b/packages/server/src/routers/channel.ts
@@ -1,11 +1,25 @@
import query from '../db/query';
import router from '../lib/router';
import list from '../db/snippets/channel/list.sql';
-import { reply } from '../lib/WebSocketServer';
+import add from '../db/snippets/channel/new.sql';
+import { broadcast, reply } from '../lib/WebSocketServer';
+import { v4 } from 'uuid';
export default router({
async list() {
const res = await query(list);
return reply(res ?? undefined);
},
+ async add(channel: any) {
+ const name = channel.name;
+ const uid = v4();
+ console.log(channel);
+ const res = await query(add, name, uid);
+ if(res === null) return;
+ console.log(res);
+ return broadcast({
+ uid,
+ name,
+ });
+ },
});
\ No newline at end of file