func ReadAccountsFile(file string) (map[string]AccountDetails, error) {
	data, err := ioutil.ReadFile(file)
	if err != nil {
		if os.IsNotExist(err) {
			return nil, nil
		}
		return nil, err
	}
	accounts, err := ParseAccounts(data)
	if err != nil {
		return nil, err
	}
	if err := migrateLocalAccountUsers(accounts); err != nil {
		return nil, err
	}
	return accounts, nil
}
// ReadAccountsFile loads all accounts defined in a given file.
// If the file is not found, it is not an error.
ReadAccountsFile loads all accounts defined in a given file.
If the file is not found, it is not an error.
// ReadAccountsFile loads all accounts defined in a given file . // If the file is not found it is not an error .
func ReadAccountsFile(file string) (map[string]AccountDetails, error) {
	data, err := ioutil.ReadFile(file)
	if err != nil {
		if os.IsNotExist(err) {
			return nil, nil
		}
		return nil, err
	}
	accounts, err := ParseAccounts(data)
	if err != nil {
		return nil, err
	}
	if err := migrateLocalAccountUsers(accounts); err != nil {
		return nil, err
	}
	return accounts, nil
}
func ReadAccountsFile ( file string ) ( map [ string ] AccountDetails , error ) { data , err := ioutil . ReadFile ( file ) if err != nil { if os . IsNotExist ( err ) { return nil , nil } return nil , err } accounts , err := ParseAccounts ( data ) if err != nil { return nil , err } if err := migrateLocalAccountUsers ( accounts ) ; err != nil { return nil , err } return accounts , nil }
ReadAccountsFile loads all accounts defined in a given file.
ReadAccountsFile loads all accounts defined in a given file .