func (store *BoltDBFileStore) deleteAudience(id string, tx *bolt.Tx) error {
	bk := tx.Bucket([]byte(id))
	if bk == nil {
		return nil
	}
	tokensBk := tx.Bucket(buckert_alltokens)
	if tokensBk != nil {
		audienceTokensBk := bk.Bucket(buckert_oneAudienceTokens)
		err := audienceTokensBk.ForEach(func(k, v []byte) error {
			return tokensBk.Delete(k)
		})
		if err != nil {
			return err
		}
	}
	return tx.DeleteBucket([]byte(id))
}
delete audience and all tokens of this audience
package tokenauth
import (
	"encoding/json"
	"errors"
	"fmt"
	"github.com/boltdb/bolt"
	"os"
	"path/filepath"
)
type BoltDBFileStore struct {
	Alias  string
	db     *bolt.DB
	dbPath string
}
var (
	buckert_alltokens = []byte("bk_all_tokeninfo")
	buckert_oneAudienceTokens = []byte("bk_one_audience_tokens")
	audienceInfoKey                 = []byte("one_audience")
	buckert_singletokens_singledids = []byte("bk_token_singleIDs")
)
func (store *BoltDBFileStore) DBPath() string {
	return store.dbPath
}