github.com/voedger/voedger@v0.0.0-20240520144910-273e84102129/pkg/state/utils.go (about)

     1  /*
     2   * Copyright (c) 2022-present unTill Pro, Ltd.
     3   * @author Denis Gribanov
     4   */
     5  
     6  package state
     7  
     8  import (
     9  	"github.com/voedger/voedger/pkg/appdef"
    10  	"github.com/voedger/voedger/pkg/istructs"
    11  )
    12  
    13  func GetPrincipalTokenFromState(st istructs.IState) (token string, err error) {
    14  	kb, err := st.KeyBuilder(RequestSubject, appdef.NullQName)
    15  	if err != nil {
    16  		return "", err
    17  	}
    18  	principalTokenValue, err := st.MustExist(kb)
    19  	if err != nil {
    20  		return "", err
    21  	}
    22  	token = principalTokenValue.AsString(Field_Token)
    23  	return token, nil
    24  }