41 lines
1.1 KiB
Go
41 lines
1.1 KiB
Go
package app
|
|
|
|
import (
|
|
"crypto/sha256"
|
|
"encoding/hex"
|
|
"encoding/json"
|
|
transporttoken "selective-vpn-api/app/transporttoken"
|
|
)
|
|
|
|
func digestTransportIntents(intents []TransportPolicyIntent) string {
|
|
b, _ := json.Marshal(intents)
|
|
h := sha256.Sum256(b)
|
|
return hex.EncodeToString(h[:])
|
|
}
|
|
|
|
func digestTransportPolicyCompilePlan(plan TransportPolicyCompilePlan) string {
|
|
b, _ := json.Marshal(plan)
|
|
h := sha256.Sum256(b)
|
|
return hex.EncodeToString(h[:])
|
|
}
|
|
|
|
func issueTransportConfirmToken(baseRevision int64, digest string) string {
|
|
return transportConfirmStore.Issue("cnf-", baseRevision, digest)
|
|
}
|
|
|
|
func consumeTransportConfirmToken(token string, baseRevision int64, digest string) bool {
|
|
return transportConfirmStore.Consume(token, baseRevision, digest)
|
|
}
|
|
|
|
func issueTransportOwnerLocksClearToken(baseRevision int64, digest string) string {
|
|
return transportConfirmStore.Issue("clr-", baseRevision, digest)
|
|
}
|
|
|
|
func consumeTransportOwnerLocksClearToken(token string, baseRevision int64, digest string) bool {
|
|
return transportConfirmStore.Consume(token, baseRevision, digest)
|
|
}
|
|
|
|
func newTransportToken(n int) string {
|
|
return transporttoken.NewTokenHex(n)
|
|
}
|