mirror of
https://github.com/netbirdio/netbird.git
synced 2024-11-23 00:23:36 +01:00
6ae27c9a9b
* feature: add User entity to Account * test: new file store creation test * test: add FileStore persist-restore tests * test: add GetOrCreateAccountByUser Accountmanager test * refactor: rename account manager users file * refactor: use userId instead of accountId when handling Management HTTP API * fix: new account creation for every request * fix: golint * chore: add account creator to Account Entity to identify who created the account. * chore: use xid ID generator for account IDs * fix: test failures * test: check that CreatedBy is stored when account is stored * chore: add account copy method * test: remove test for non existent GetOrCreateAccount func * chore: add accounts conversion function * fix: golint * refactor: simplify admin user creation * refactor: move migration script to a separate package
57 lines
1.2 KiB
Go
57 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"github.com/rs/xid"
|
|
"github.com/wiretrustee/wiretrustee/management/server"
|
|
)
|
|
|
|
func main() {
|
|
|
|
oldDir := flag.String("oldDir", "old store directory", "/var/wiretrustee/datadir")
|
|
newDir := flag.String("newDir", "new store directory", "/var/wiretrustee/newdatadir")
|
|
|
|
flag.Parse()
|
|
|
|
oldStore, err := server.NewStore(*oldDir)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
newStore, err := server.NewStore(*newDir)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
err = Convert(oldStore, newStore)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
fmt.Println("successfully converted")
|
|
}
|
|
|
|
// Convert converts old store ato a new store
|
|
// Previously Account.Id was an Auth0 user id
|
|
// Conversion moved user id to Account.CreatedBy and generated a new Account.Id using xid
|
|
// It also adds a User with id = old Account.Id with a role Admin
|
|
func Convert(oldStore *server.FileStore, newStore *server.FileStore) error {
|
|
for _, account := range oldStore.Accounts {
|
|
accountCopy := account.Copy()
|
|
accountCopy.Id = xid.New().String()
|
|
accountCopy.CreatedBy = account.Id
|
|
accountCopy.Users[account.Id] = &server.User{
|
|
Id: account.Id,
|
|
Role: server.UserRoleAdmin,
|
|
}
|
|
|
|
err := newStore.SaveAccount(accountCopy)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|