broology / poker-moons

Free online poker with friends without the hassle.
4 stars 3 forks source link

chore(backend): connect table state manager to various services #120

Closed mlevi15 closed 2 years ago

mlevi15 commented 2 years ago

Proposed Changes

Hooks up the table state manager in the table websocket, winner determiner, deck manager, and pot manager services.

Linked Issue

#116

Types of changes

Merge Checklist

mlevi15 commented 2 years ago

Marking this as HOLD as it'll likely change a bit once Dylan has finished making changes to how the table state manager handles updates.

jordems commented 2 years ago

Ahhhh, Yeah I think it would need to be the client table state. Otherwise we wont populate the player map on the front-end.

On Tue., Feb. 15, 2022, 9:23 p.m. Levi Magnus, @.***> wrote:

@.**** commented on this pull request.

In libs/backend/feature/table/src/lib/shared/websocket/table.gateway.ts https://github.com/broology/poker-moons/pull/120#discussion_r807548993:

this.logger.log(${client.handshake.address} connected to ${tableId});

     client.join(tableId);
  • // TODO: Emit state
  • client.emit('connected', {});
  • // Emit shared table state
  • const { name, seatMap, roundCount, activeRound } = serverTableState;
  • client.emit('connected', { name, seatMap, roundCount, activeRound });

The shared table state?

export type SharedTableState = Pick<Table, 'name' | 'seatMap' | 'roundCount' | 'activeRound'>;

Or should we be emitting the ClientTableState here?

— Reply to this email directly, view it on GitHub https://github.com/broology/poker-moons/pull/120#discussion_r807548993, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFL5ZTZFN54LNS4PQAZCE6DU3MYDXANCNFSM5ONEAYUA . You are receiving this because your review was requested.Message ID: @.***>