From 6be53349b5a2f9f5452cf0cfb7923a2fbe9bf0c0 Mon Sep 17 00:00:00 2001 From: Tom Butcher Date: Sun, 16 Nov 2025 17:11:15 +0000 Subject: [PATCH] Refactor LockManager to standardize lock key format and enhance logging; add debug statement in TemplateManager for template rendering --- .DS_Store | Bin 6148 -> 6148 bytes src/.DS_Store | Bin 6148 -> 8196 bytes src/auth/otpcomponent.js | 0 src/lock/lockmanager.js | 10 +++++----- src/templates/assets/basetemplate.ejs | 12 ++++++++---- src/templates/assets/styles.css | 6 ++++++ src/templates/templatemanager.js | 1 + 7 files changed, 20 insertions(+), 9 deletions(-) create mode 100644 src/auth/otpcomponent.js diff --git a/.DS_Store b/.DS_Store index 428a811e03386930a95b30b27db0e0e2e2623e47..df053a6315927911b0acb90a2fd7737aaf1cc126 100644 GIT binary patch delta 383 zcmZoMXfc@J&nUPtU^g?P;A9>a$$Hl9&lngOSQzve(it)tN^P z|JHiF#Bvm91~bq@MGVQvE|oavBBiT&e6k~(I6I6T S&nCgd{9t0@zs>9%fB6ASzh7|@-_&heKY0AYAPIRF3v diff --git a/src/.DS_Store b/src/.DS_Store index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..02f32adc17444158b01731a6c6660e6a487e1519 100644 GIT binary patch literal 8196 zcmeHMO=}ZD7=EWsn+;LOL8Tz*q97J(?ME8$;}By6!HXKvgOxU$UE9#jPRMSWLkZ-p z2Y-N<_$SnpSI>Ir&4VC<3jPG^J0D4Anoa1b6fy%d?`GfU-FfEO*_pmm03d~?y9_V~ z02WqeGihvM3iGo%RHo#eD`*ME15gMc^tYBv6*`1AH;e*C0i%FXz$jo8I0*{ip3RCi zV&4~D(;5Yg0u!kKTOVw!%;u%-2+NlaY zK9z&}c7K%!4vK%!dz@eI*TzTV3glwX5mpCl2%gqIN#)`&DvyQT?77Y&*J9{dH9Fuk z4yW;&;=E?TgI%lva+9YkJx!8-kdx+D`DEW6T)ZZ9IfNN-8HLe!h($R8KF*K|>}a|` z`YUqi`_%s5FRp#tyvp@Z{DZ#Z{4xEW!jV%xKVRY;t?+lm=c>*FSpba0s=U7c`~7R) z;=IP-2Rx60*Lia;vp9#iUij`Jo$Jj{h|v5hzYDaxCg<}Z%z)Dqf_^*VYIZgPo}05GqXu6X{D_frES_OMdhd&7Rrt1?AH@YeW!O_ zcAi$f)<)*cT^dB?YTz|^K-KjSvi__ZxU^NE&A<(LY)Lq*l$F}Z%+!~pUkm6ft|1V);lpY1yWhT!ADOOm@n<|rRr}GK=7$I3 zD~VA`{cgu2b>+K^Xw36=OO3#%!4`Vi$db6y)#bW_??q>C{TN25%)cDm&&>4JUhO$5 z>(MBkF<*PJLsKS1foU<$IhOz58-4yiA!?Xm8U-d(0g@<|iUk~dZ>v2l1Ix8-teaR_ zVYrU4JOmq_j-%!2INJU{4Ds4VD2vHU+YuJ;U^(`K0RH!nx{HqA)zzJJJW}6HyKHb~ M|7R+gasn0j5C5{O%>V!Z delta 105 zcmZp1XfcprU|?W$DortDU=RQ@Ie-{MGpJ516q~502;ws^0>w5KPGg_gAhnpCgF}!R pBnTAa1`@77th%xAJM(0I8AV3M$)+;eJWLRCKt?lcj^~-f3;-`E4{!hg diff --git a/src/auth/otpcomponent.js b/src/auth/otpcomponent.js new file mode 100644 index 0000000..e69de29 diff --git a/src/lock/lockmanager.js b/src/lock/lockmanager.js index ac3fe06..f4e2067 100644 --- a/src/lock/lockmanager.js +++ b/src/lock/lockmanager.js @@ -20,7 +20,7 @@ export class LockManager { // Add a 'lock' event to the 'locks' stream logger.debug('Locking object:', object._id); try { - await etcdServer.setKey(`/${object.type}s/${object._id}/lock`, { + await etcdServer.setKey(`/locks/${object.type}s/${object._id}`, { ...object, locked: true }); @@ -34,7 +34,7 @@ export class LockManager { async unlockObject(object) { // Add an 'unlock' event to the 'locks' stream - const key = `/${object.type}s/${object._id}/lock`; + const key = `/locks/${object.type}s/${object._id}`; try { logger.debug('Checking user can unlock:', object._id); @@ -56,7 +56,7 @@ export class LockManager { // Get the current lock status of an object and broadcast it logger.info('Getting lock status for object:', object._id); try { - const lockKey = `/${object.type}s/${object._id}/lock`; + const lockKey = `/locks/${object.type}s/${object._id}`; const lockValue = await etcdServer.getKey(lockKey); if (lockValue) { @@ -87,7 +87,7 @@ export class LockManager { (key, value) => { const id = key.split('/').pop(); logger.debug('Lock object event:', id); - this.socketManager.broadcast('notify_lock_update', { + this.socketClient.socket.emit('lockUpdate', { ...value, locked: true }); @@ -96,7 +96,7 @@ export class LockManager { etcdServer.onPrefixDeleteEvent('/locks', this.socketClient.id, key => { const id = key.split('/').pop(); logger.debug('Unlock object event:', id); - this.socketManager.broadcast('notify_lock_update', { + this.socketClient.socket.emit('lockUpdate', { _id: id, locked: false }); diff --git a/src/templates/assets/basetemplate.ejs b/src/templates/assets/basetemplate.ejs index 3b47e0b..63d32ac 100644 --- a/src/templates/assets/basetemplate.ejs +++ b/src/templates/assets/basetemplate.ejs @@ -15,14 +15,18 @@