platform: modularize api/gui, add docs-tests-web foundation, and refresh root config
This commit is contained in:
40
selective-vpn-api/app/transport_tokens_state.go
Normal file
40
selective-vpn-api/app/transport_tokens_state.go
Normal file
@@ -0,0 +1,40 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user