-Sparse documentation about Brisk.
+===== Sparse documentation about Brisk. =====
+
+User cleanup:
+ spush::garbage_manager()
+ if (user->the_end)
+ close opened socket
+
+ brisk->users_cleanup() to reset all users with the_end set
+
+==== brisk/table/user relationships ====
+
+=== points management ===
+
+read from db:
+ * continue a match
+ * calculate placings
+ * calculate explain
+
+write to db:
+ * finish a game
+
+=== in the room ===
+
+// when standup
+bri->user[user_idx] = user
+user->idx = user_idx
+user->idx_orig = user_idx
+
+// when sitdown
+table->player[player_idx] = user_idx
+user->table_pos = player_idx
+
+=== in the game ===
+
+bin5->user[user_idx] = user
+table->player[player_idx] = user_idx
+user->table_pos = player_idx
+
Many things aren't documented at all, but I start with authentication workflow.
+==== MODIFY USERS TABLE ====
+
+=== PHP CODE ===
+
+web/Obj/dbase_base.phh
+ function LoginDBItem -> args & body
+ function LoginDBItemFromRecord -> args & body
+
+=== SQL CODE ===
+sql/sql.d/nnn-name-patch.sql
AUTHENTICATION WORKFLOW
--- CLI ------------
POST index.php with passid_private field equal to calcMD5(tokens[1]+calcMD5(form.elements['passid'].value))
-
+ add_user -> validate_name, login_verify
===== Game Lifecycle =====
-> index.php (after verify session value: ~L250)
- garbage_manager(TRUE)
- - allign many status var with briskin5 user values
+ - align many status var with briskin5 user values
- room_join_wakeup()
+
+==== Chunk flow ====
+
+
+$ret = $user->maincheck($old_stat, $old_subst, $old_step, $this->rd_stat, $this->rd_subst, $this->rd_step,
+ $splashdate, $table_idx, $table_token))
+$user->rd_transp->chunk($this->rd_scristp++, $ret);
+
+
+===== New users workflow =====
+
+ UserA UserB Admin
+-------------------------------------------------------------------------
+ guarante UserB
+ |
+ v
+ Save on mail
+ table,
+ email to UserB
+ (Disabled, MAILED)
+-------------------------------------------------------------------------
+ Receive email
+ to check address
+ |
+ v
+ Click on link
+ |
+ v
+ Check on mail
+ table,
+ update user status,
+ delete mail rec
+ (Disabled, TOBECHK)
+-------------------------------------------------------------------------
+ admin panel
+ accept user
+ |
+ v
+ send email with
+ password,
+ update user status
+ (Normal, NONE)
+-------------------------------------------------------------------------
+ Receive email
+ with password
+-------------------------------------------------------------------------