add vendoring
This commit is contained in:
87
vendor/maunium.net/go/mautrix/id/trust.go
generated
vendored
Normal file
87
vendor/maunium.net/go/mautrix/id/trust.go
generated
vendored
Normal file
@@ -0,0 +1,87 @@
|
||||
// Copyright (c) 2022 Tulir Asokan
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
package id
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// TrustState determines how trusted a device is.
|
||||
type TrustState int
|
||||
|
||||
const (
|
||||
TrustStateBlacklisted TrustState = -100
|
||||
TrustStateUnset TrustState = 0
|
||||
TrustStateUnknownDevice TrustState = 10
|
||||
TrustStateForwarded TrustState = 20
|
||||
TrustStateCrossSignedUntrusted TrustState = 50
|
||||
TrustStateCrossSignedTOFU TrustState = 100
|
||||
TrustStateCrossSignedVerified TrustState = 200
|
||||
TrustStateVerified TrustState = 300
|
||||
TrustStateInvalid TrustState = (1 << 31) - 1
|
||||
)
|
||||
|
||||
func (ts *TrustState) UnmarshalText(data []byte) error {
|
||||
strData := string(data)
|
||||
state := ParseTrustState(strData)
|
||||
if state == TrustStateInvalid {
|
||||
return fmt.Errorf("invalid trust state %q", strData)
|
||||
}
|
||||
*ts = state
|
||||
return nil
|
||||
}
|
||||
|
||||
func (ts *TrustState) MarshalText() ([]byte, error) {
|
||||
return []byte(ts.String()), nil
|
||||
}
|
||||
|
||||
func ParseTrustState(val string) TrustState {
|
||||
switch strings.ToLower(val) {
|
||||
case "blacklisted":
|
||||
return TrustStateBlacklisted
|
||||
case "unverified":
|
||||
return TrustStateUnset
|
||||
case "cross-signed-untrusted":
|
||||
return TrustStateCrossSignedUntrusted
|
||||
case "unknown-device":
|
||||
return TrustStateUnknownDevice
|
||||
case "forwarded":
|
||||
return TrustStateForwarded
|
||||
case "cross-signed-tofu", "cross-signed":
|
||||
return TrustStateCrossSignedTOFU
|
||||
case "cross-signed-verified", "cross-signed-trusted":
|
||||
return TrustStateCrossSignedVerified
|
||||
case "verified":
|
||||
return TrustStateVerified
|
||||
default:
|
||||
return TrustStateInvalid
|
||||
}
|
||||
}
|
||||
|
||||
func (ts TrustState) String() string {
|
||||
switch ts {
|
||||
case TrustStateBlacklisted:
|
||||
return "blacklisted"
|
||||
case TrustStateUnset:
|
||||
return "unverified"
|
||||
case TrustStateCrossSignedUntrusted:
|
||||
return "cross-signed-untrusted"
|
||||
case TrustStateUnknownDevice:
|
||||
return "unknown-device"
|
||||
case TrustStateForwarded:
|
||||
return "forwarded"
|
||||
case TrustStateCrossSignedTOFU:
|
||||
return "cross-signed-tofu"
|
||||
case TrustStateCrossSignedVerified:
|
||||
return "cross-signed-verified"
|
||||
case TrustStateVerified:
|
||||
return "verified"
|
||||
default:
|
||||
return "invalid"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user