24904585a2
Fix user tests Add swagger docs Fix lint Add totp check when logging in Make totp enrollment work Add migration for totp table go mod vendor Add routes for totp routes Add route handler for totp routes Add basic implementation to enroll a user in totp Co-authored-by: kolaente <k@knt.li> Reviewed-on: https://kolaente.dev/vikunja/api/pulls/383
27 lines
681 B
Go
27 lines
681 B
Go
package qr
|
|
|
|
import (
|
|
"errors"
|
|
|
|
"github.com/boombuler/barcode/utils"
|
|
)
|
|
|
|
func encodeUnicode(content string, ecl ErrorCorrectionLevel) (*utils.BitList, *versionInfo, error) {
|
|
data := []byte(content)
|
|
|
|
vi := findSmallestVersionInfo(ecl, byteMode, len(data)*8)
|
|
if vi == nil {
|
|
return nil, nil, errors.New("To much data to encode")
|
|
}
|
|
|
|
// It's not correct to add the unicode bytes to the result directly but most readers can't handle the
|
|
// required ECI header...
|
|
res := new(utils.BitList)
|
|
res.AddBits(int(byteMode), 4)
|
|
res.AddBits(len(content), vi.charCountBits(byteMode))
|
|
for _, b := range data {
|
|
res.AddByte(b)
|
|
}
|
|
addPaddingAndTerminator(res, vi)
|
|
return res, vi, nil
|
|
}
|