From 29c739e8b897e4fcb38e3708ff7cf796f502962d Mon Sep 17 00:00:00 2001 From: Timothy Messier Date: Thu, 4 May 2023 14:52:52 +0000 Subject: [PATCH] feat(bsr): Add function for generating a channel id --- internal/bsr/id.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 internal/bsr/id.go diff --git a/internal/bsr/id.go b/internal/bsr/id.go new file mode 100644 index 0000000000..a390ba4e3f --- /dev/null +++ b/internal/bsr/id.go @@ -0,0 +1,30 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +package bsr + +import ( + "fmt" + + "github.com/hashicorp/boundary/globals" + "github.com/hashicorp/go-secure-stdlib/base62" +) + +const ( + // ChannelIdPrefix is the prefix for the channel recording id. + ChannelIdPrefix = globals.ChannelRecordingPrefix +) + +// NewChannelId generates an id for a channel recording. +func NewChannelId() (string, error) { + const op = "bsr.NewChannelId" + + var publicId string + var err error + + publicId, err = base62.Random(10) + if err != nil { + return "", fmt.Errorf("%s: unable to generate id: %w", op, err) + } + return fmt.Sprintf("%s_%s", ChannelIdPrefix, publicId), nil +}