Commit 52763343 authored by Andrei Mihu's avatar Andrei Mihu
Browse files

Allow runtime group updates to increase max count beyond 100.

parent 805e63e7
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ The format is based on [keep a changelog](http://keepachangelog.com) and this pr
- Improve signature of JavaScript runtime HMAC SHA256 hash function.
- Improve signature of JavaScript runtime Base64 encode functions.
- Improve handling of JavaScript runtime context cancellation.
- Allow runtime group updates to increase max count beyond 100.

## [3.12.0] - 2022-05-22
### Added
+6 −1
Original line number Diff line number Diff line
@@ -214,7 +214,12 @@ func (s *ConsoleServer) UpdateGroup(ctx context.Context, in *console.UpdateGroup
		return nil, status.Error(codes.InvalidArgument, "Requires a valid group ID.")
	}

	err = UpdateGroup(ctx, s.logger, s.db, groupID, uuid.Nil, uuid.Nil, in.Name, in.LangTag, in.Description, in.AvatarUrl, in.Metadata, in.Open, int(in.MaxCount.Value))
	var maxCount int
	if in.MaxCount != nil {
		maxCount = int(in.MaxCount.Value)
	}

	err = UpdateGroup(ctx, s.logger, s.db, groupID, uuid.Nil, uuid.Nil, in.Name, in.LangTag, in.Description, in.AvatarUrl, in.Metadata, in.Open, maxCount)
	if err != nil {
		return nil, err
	}
+1 −1
Original line number Diff line number Diff line
@@ -215,7 +215,7 @@ func UpdateGroup(ctx context.Context, logger *zap.Logger, db *sql.DB, groupID uu
		index++
	}

	if maxCount >= 1 {
	if maxCount > 0 {
		statements = append(statements, "max_count = $"+strconv.Itoa(index))
		params = append(params, maxCount)
		index++
+1 −6
Original line number Diff line number Diff line
@@ -3163,12 +3163,7 @@ func (n *RuntimeGoNakamaModule) GroupUpdate(ctx context.Context, id, name, creat
		metadataWrapper = &wrapperspb.StringValue{Value: string(metadataBytes)}
	}

	maxCountValue := 0
	if maxCount > 0 && maxCount <= 100 {
		maxCountValue = maxCount
	}

	return UpdateGroup(ctx, n.logger, n.db, groupID, uuid.Nil, creator, nameWrapper, langTagWrapper, descriptionWrapper, avatarURLWrapper, metadataWrapper, openWrapper, maxCountValue)
	return UpdateGroup(ctx, n.logger, n.db, groupID, uuid.Nil, creator, nameWrapper, langTagWrapper, descriptionWrapper, avatarURLWrapper, metadataWrapper, openWrapper, maxCount)
}

// @group groups
+1 −6
Original line number Diff line number Diff line
@@ -6580,12 +6580,7 @@ func (n *runtimeJavascriptNakamaModule) groupUpdate(r *goja.Runtime) func(goja.F

		maxCount := 0
		if f.Argument(9) != goja.Undefined() && f.Argument(9) != goja.Null() {
			maxCountIn := int(getJsInt(r, f.Argument(9)))
			if maxCountIn > 0 && maxCountIn <= 100 {
				maxCount = maxCountIn
			} else {
				panic(r.NewTypeError("max count must be 1-100"))
			}
			maxCount = int(getJsInt(r, f.Argument(9)))
		}

		if err = UpdateGroup(n.ctx, n.logger, n.db, groupID, userId, creatorID, name, lang, desc, avatarURL, metadata, open, maxCount); err != nil {
Loading