@@ -152,6 +152,13 @@ export class DraftServer {
152152 socket . emit ( 'message' , 'This draft does not exist.' ) ;
153153 return ;
154154 }
155+
156+ const draft = draftsStore . getDraftOrThrow ( draftId )
157+ if ( draft . fixedNames ) {
158+ logger . info ( "Draft is using fixed names. Setting roles but not changing names" , { draftId} ) ;
159+ }
160+
161+ let assignedName = message . name ;
155162 const role : Player = Util . sanitizeRole ( message . role ) ;
156163 let assignedRole = Util . getAssignedRole ( socket , roomHost , roomGuest ) ;
157164 let hasAssignedRole = false ;
@@ -160,14 +167,16 @@ export class DraftServer {
160167 logger . info ( "Setting player role to 'HOST': %s" , message . name , { draftId} ) ;
161168 socket . join ( roomHost ) ; // async
162169 socket . leave ( roomSpec ) ; // async
163- draftsStore . connectPlayer ( draftId , Player . HOST , message . name ) ;
170+ assignedName = draft . fixedNames ? draft . nameHost : message . name ;
171+ draftsStore . connectPlayer ( draftId , Player . HOST , assignedName ) ;
164172 assignedRole = Player . HOST ;
165173 hasAssignedRole = true ;
166174 } else if ( role === Player . GUEST && ! draftsStore . isPlayerConnected ( draftId , role ) ) {
167175 logger . info ( "Setting player role to 'GUEST': %s" , message . name , { draftId} ) ;
168176 socket . join ( roomGuest ) ; // async
169177 socket . leave ( roomSpec ) ; // async
170- draftsStore . connectPlayer ( draftId , Player . GUEST , message . name ) ;
178+ assignedName = draft . fixedNames ? draft . nameGuest : message . name ;
179+ draftsStore . connectPlayer ( draftId , Player . GUEST , assignedName ) ;
171180 assignedRole = Player . GUEST ;
172181 hasAssignedRole = true ;
173182 } else {
@@ -187,7 +196,7 @@ export class DraftServer {
187196 . in ( roomHost )
188197 . in ( roomGuest )
189198 . in ( roomSpec )
190- . emit ( "player_set_role" , { name : message . name , playerType : assignedRole } ) ;
199+ . emit ( "player_set_role" , { name : assignedName , playerType : assignedRole } ) ;
191200 fn ( {
192201 ...draftsStore . getDraftViewsOrThrow ( draftId ) . getDraftForPlayer ( assignedRole ) ,
193202 yourPlayerType : assignedRole ,
@@ -201,6 +210,13 @@ export class DraftServer {
201210 socket . emit ( 'message' , 'This draft does not exist.' ) ;
202211 return ;
203212 }
213+
214+ const draft = draftsStore . getDraftOrThrow ( draftId )
215+ if ( draft . fixedNames ) {
216+ logger . info ( "Draft is using fixed names. Not changing names" , { draftId} ) ;
217+ return ;
218+ }
219+
204220 let assignedRole = Util . getAssignedRole ( socket , roomHost , roomGuest ) ;
205221 if ( assignedRole === Player . HOST ) {
206222 logger . info ( "Setting HOST player name to: %s" , message . name , { draftId} ) ;
@@ -400,6 +416,16 @@ export class DraftServer {
400416 const validationErrors = Validator . validatePreset ( preset ) ;
401417 if ( validationErrors . length === 0 ) {
402418 draftsStore . initDraft ( draftId , preset as Preset ) ;
419+
420+ const nameHost : string | null | undefined = req . body . participants ?. host ;
421+ const nameGuest : string | null | undefined = req . body . participants ?. guest ;
422+ if ( nameHost && nameGuest ) {
423+ logger . info ( 'Setting names to "%s" and "%s"' , nameHost , nameGuest , { draftId} ) ;
424+ draftsStore . setPlayerName ( draftId , Player . HOST , nameHost ) ;
425+ draftsStore . setPlayerName ( draftId , Player . GUEST , nameGuest ) ;
426+ draftsStore . setFixedPlayerNames ( draftId , true ) ;
427+ }
428+
403429 res . json ( { status : 'ok' , draftId} ) ;
404430 logger . info ( 'Created new draft with id: %s' , draftId , { draftId} ) ;
405431 } else {
0 commit comments