mirror of
https://mau.dev/mautrix/go.git
synced 2026-03-14 14:25:53 +01:00
bridgev2/provisioning: fix max length checks in group creation
This commit is contained in:
parent
0da0175157
commit
be9bbf8d09
1 changed files with 5 additions and 3 deletions
|
|
@ -39,6 +39,8 @@ func CreateGroup(ctx context.Context, login *bridgev2.UserLogin, params *bridgev
|
|||
}
|
||||
if len(params.Participants) < typeSpec.Participants.MinLength {
|
||||
return nil, bridgev2.RespError(mautrix.MInvalidParam.WithMessage("Must have at least %d members", typeSpec.Participants.MinLength))
|
||||
} else if typeSpec.Participants.MaxLength > 0 && len(params.Participants) > typeSpec.Participants.MaxLength {
|
||||
return nil, bridgev2.RespError(mautrix.MInvalidParam.WithMessage("Must have at most %d members", typeSpec.Participants.MaxLength))
|
||||
}
|
||||
userIDValidatingNetwork, uidValOK := login.Bridge.Network.(bridgev2.IdentifierValidatingNetwork)
|
||||
for i, participant := range params.Participants {
|
||||
|
|
@ -60,7 +62,7 @@ func CreateGroup(ctx context.Context, login *bridgev2.UserLogin, params *bridgev
|
|||
return nil, bridgev2.RespError(mautrix.MInvalidParam.WithMessage("Name is required"))
|
||||
} else if nameLen := len(ptr.Val(params.Name).Name); nameLen > 0 && nameLen < typeSpec.Name.MinLength {
|
||||
return nil, bridgev2.RespError(mautrix.MInvalidParam.WithMessage("Name must be at least %d characters", typeSpec.Name.MinLength))
|
||||
} else if nameLen > typeSpec.Name.MaxLength {
|
||||
} else if typeSpec.Name.MaxLength > 0 && nameLen > typeSpec.Name.MaxLength {
|
||||
return nil, bridgev2.RespError(mautrix.MInvalidParam.WithMessage("Name must be at most %d characters", typeSpec.Name.MaxLength))
|
||||
}
|
||||
if (params.Avatar == nil || params.Avatar.URL == "") && typeSpec.Avatar.Required {
|
||||
|
|
@ -70,7 +72,7 @@ func CreateGroup(ctx context.Context, login *bridgev2.UserLogin, params *bridgev
|
|||
return nil, bridgev2.RespError(mautrix.MInvalidParam.WithMessage("Topic is required"))
|
||||
} else if topicLen := len(ptr.Val(params.Topic).Topic); topicLen > 0 && topicLen < typeSpec.Topic.MinLength {
|
||||
return nil, bridgev2.RespError(mautrix.MInvalidParam.WithMessage("Topic must be at least %d characters", typeSpec.Topic.MinLength))
|
||||
} else if topicLen > typeSpec.Topic.MaxLength {
|
||||
} else if typeSpec.Topic.MaxLength > 0 && topicLen > typeSpec.Topic.MaxLength {
|
||||
return nil, bridgev2.RespError(mautrix.MInvalidParam.WithMessage("Topic must be at most %d characters", typeSpec.Topic.MaxLength))
|
||||
}
|
||||
if (params.Disappear == nil || params.Disappear.Timer.Duration == 0) && typeSpec.Disappear.Required {
|
||||
|
|
@ -82,7 +84,7 @@ func CreateGroup(ctx context.Context, login *bridgev2.UserLogin, params *bridgev
|
|||
return nil, bridgev2.RespError(mautrix.MInvalidParam.WithMessage("Username is required"))
|
||||
} else if len(params.Username) > 0 && len(params.Username) < typeSpec.Username.MinLength {
|
||||
return nil, bridgev2.RespError(mautrix.MInvalidParam.WithMessage("Username must be at least %d characters", typeSpec.Username.MinLength))
|
||||
} else if len(params.Username) > typeSpec.Username.MaxLength {
|
||||
} else if typeSpec.Username.MaxLength > 0 && len(params.Username) > typeSpec.Username.MaxLength {
|
||||
return nil, bridgev2.RespError(mautrix.MInvalidParam.WithMessage("Username must be at most %d characters", typeSpec.Username.MaxLength))
|
||||
}
|
||||
if params.Parent == nil && typeSpec.Parent.Required {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue