public DomainAuthorization(
            long id,
            DomainAuthorizationType type,
            JsonObject properties,
            DateTime?completed             = null,
            DateTime?expires               = null,
            DomainAuthorizationFlags flags = default)
        {
            Ensure.IsValidId(id);

            Id         = id;
            Type       = type;
            Properties = properties;
            Flags      = flags;
            Completed  = completed;
            Expires    = expires;
        }