35
ctx context.Context,
36
request *persistence.InternalCreateNamespaceRequest,
37
>
) (*persistence.CreateNamespaceResponse, error) {
metadata.go
38
>
idBytes, err := primitives.ParseUUID(request.ID)
39
>
if err != nil {
40
return nil, err
41
}
42
43
>
var resp *persistence.CreateNamespaceResponse
metadata.go
44
>
err = m.txExecute(ctx, "CreateNamespace", func(tx sqlplugin.Tx) error {
45
>
metadata, err := lockMetadata(ctx, tx)
46
>
if err != nil {
47
return err
48
}
49
>
if _, err := tx.InsertIntoNamespace(ctx, &sqlplugin.NamespaceRow{
metadata.go
50
>
Name: request.Name,
51
>
ID: idBytes,
52
>
Data: request.Namespace.Data,
53
>
DataEncoding: request.Namespace.EncodingType.String(),
54
>
IsGlobal: request.IsGlobal,
55
>
NotificationVersion: metadata.NotificationVersion,
56
>
}); err != nil {
57
if m.DB.IsDupEntryError(err) {
58
return serviceerror.NewNamespaceAlreadyExistsf("name: %v", request.Name)