Security Updates
This commit is contained in:
@@ -23,6 +23,7 @@ var (
|
||||
ErrSpectatorsBlocked = errors.New("spectators are not allowed")
|
||||
ErrPasswordRequired = errors.New("password required or invalid")
|
||||
ErrInvalidCard = errors.New("invalid card")
|
||||
ErrVoteChangeLocked = errors.New("vote changes are disabled for this room")
|
||||
)
|
||||
|
||||
type RoomSettings struct {
|
||||
@@ -32,22 +33,51 @@ type RoomSettings struct {
|
||||
AllowSpectators bool `json:"allowSpectators"`
|
||||
AnonymousVoting bool `json:"anonymousVoting"`
|
||||
AutoReset bool `json:"autoReset"`
|
||||
AllowVoteChange bool `json:"allowVoteChange"`
|
||||
RevealMode string `json:"revealMode"`
|
||||
VotingTimeoutSec int `json:"votingTimeoutSec"`
|
||||
PasswordSalt string `json:"passwordSalt,omitempty"`
|
||||
PasswordHash string `json:"passwordHash,omitempty"`
|
||||
}
|
||||
|
||||
type persistedRoomSettings struct {
|
||||
RoomName string `json:"roomName"`
|
||||
MaxPeople int `json:"maxPeople"`
|
||||
Cards []string `json:"cards"`
|
||||
AllowSpectators bool `json:"allowSpectators"`
|
||||
AnonymousVoting bool `json:"anonymousVoting"`
|
||||
AutoReset bool `json:"autoReset"`
|
||||
AllowVoteChange *bool `json:"allowVoteChange,omitempty"`
|
||||
RevealMode string `json:"revealMode"`
|
||||
VotingTimeoutSec int `json:"votingTimeoutSec"`
|
||||
PasswordSalt string `json:"passwordSalt,omitempty"`
|
||||
PasswordHash string `json:"passwordHash,omitempty"`
|
||||
}
|
||||
|
||||
type Participant struct {
|
||||
ID string `json:"id"`
|
||||
Username string `json:"username"`
|
||||
Role string `json:"role"`
|
||||
IsAdmin bool `json:"isAdmin"`
|
||||
Connected bool `json:"connected"`
|
||||
HasVoted bool `json:"hasVoted"`
|
||||
VoteValue string `json:"voteValue,omitempty"`
|
||||
JoinedAt time.Time `json:"joinedAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
ID string `json:"id"`
|
||||
SessionToken string `json:"-"`
|
||||
Username string `json:"username"`
|
||||
Role string `json:"role"`
|
||||
IsAdmin bool `json:"isAdmin"`
|
||||
Connected bool `json:"connected"`
|
||||
HasVoted bool `json:"hasVoted"`
|
||||
VoteValue string `json:"voteValue,omitempty"`
|
||||
JoinedAt time.Time `json:"joinedAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
type persistedParticipant struct {
|
||||
ID string `json:"id"`
|
||||
SessionToken string `json:"sessionToken,omitempty"`
|
||||
Username string `json:"username"`
|
||||
Role string `json:"role"`
|
||||
IsAdmin bool `json:"isAdmin"`
|
||||
Connected bool `json:"connected"`
|
||||
HasVoted bool `json:"hasVoted"`
|
||||
VoteValue string `json:"voteValue,omitempty"`
|
||||
JoinedAt time.Time `json:"joinedAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
type RoundState struct {
|
||||
@@ -64,9 +94,9 @@ type persistedRoom struct {
|
||||
AdminToken string `json:"adminToken"`
|
||||
CreatedAt time.Time `json:"createdAt"`
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
Settings RoomSettings `json:"settings"`
|
||||
Settings persistedRoomSettings `json:"settings"`
|
||||
Round RoundState `json:"round"`
|
||||
Participants []*Participant `json:"participants"`
|
||||
Participants []*persistedParticipant `json:"participants"`
|
||||
ActivityLog []ActivityLogEntry `json:"activityLog,omitempty"`
|
||||
}
|
||||
|
||||
@@ -97,6 +127,7 @@ type CreateRoomInput struct {
|
||||
AllowSpectators bool
|
||||
AnonymousVoting bool
|
||||
AutoReset bool
|
||||
AllowVoteChange *bool
|
||||
RevealMode string
|
||||
VotingTimeoutSec int
|
||||
Password string
|
||||
@@ -104,6 +135,7 @@ type CreateRoomInput struct {
|
||||
|
||||
type JoinRoomInput struct {
|
||||
ParticipantID string
|
||||
SessionToken string
|
||||
Username string
|
||||
Role string
|
||||
Password string
|
||||
@@ -113,6 +145,7 @@ type JoinRoomInput struct {
|
||||
type CreateRoomResult struct {
|
||||
RoomID string `json:"roomId"`
|
||||
CreatorParticipantID string `json:"creatorParticipantId"`
|
||||
CreatorSessionToken string `json:"creatorSessionToken"`
|
||||
AdminToken string `json:"adminToken"`
|
||||
ParticipantLink string `json:"participantLink"`
|
||||
AdminLink string `json:"adminLink"`
|
||||
@@ -120,6 +153,7 @@ type CreateRoomResult struct {
|
||||
|
||||
type JoinRoomResult struct {
|
||||
ParticipantID string `json:"participantId"`
|
||||
SessionToken string `json:"sessionToken"`
|
||||
IsAdmin bool `json:"isAdmin"`
|
||||
Role string `json:"role"`
|
||||
Username string `json:"username"`
|
||||
@@ -155,6 +189,7 @@ type PublicRoomState struct {
|
||||
AllowSpectators bool `json:"allowSpectators"`
|
||||
AnonymousVoting bool `json:"anonymousVoting"`
|
||||
AutoReset bool `json:"autoReset"`
|
||||
AllowVoteChange bool `json:"allowVoteChange"`
|
||||
VotingTimeoutSec int `json:"votingTimeoutSec"`
|
||||
Participants []PublicParticipant `json:"participants"`
|
||||
SelfParticipantID string `json:"selfParticipantId"`
|
||||
|
||||
Reference in New Issue
Block a user