From ddaea91f668c8d42507dfb12878e9568a965d580 Mon Sep 17 00:00:00 2001 From: David Florness Date: Sat, 23 Jan 2021 15:27:51 -0500 Subject: [PATCH] Put Matrix auth data in auth.json instead of data.json --- cmd/tallyard/main.go | 4 +-- matrix/{data.go => auth.go} | 60 ++++++++++++++++++------------------- 2 files changed, 32 insertions(+), 32 deletions(-) rename matrix/{data.go => auth.go} (54%) diff --git a/cmd/tallyard/main.go b/cmd/tallyard/main.go index 0b350cf..7dafb9b 100644 --- a/cmd/tallyard/main.go +++ b/cmd/tallyard/main.go @@ -36,13 +36,13 @@ func electionFilter(localUserID id.UserID) *mautrix.Filter { } func main() { - data, err := matrix.GetData() + authInfo, err := matrix.GetAuthInfo() if err != nil { fmt.Fprintln(os.Stderr, err) os.Exit(1) } - client, err := mautrix.NewClient(data.Homeserver, data.UserID, data.AccessToken) + client, err := mautrix.NewClient(authInfo.Homeserver, authInfo.UserID, authInfo.AccessToken) if err != nil { panic(err) } diff --git a/matrix/data.go b/matrix/auth.go similarity index 54% rename from matrix/data.go rename to matrix/auth.go index 70c0cd8..731dba8 100644 --- a/matrix/data.go +++ b/matrix/auth.go @@ -12,7 +12,7 @@ import ( "maunium.net/go/mautrix/id" ) -type Data struct { +type AuthInfo struct { AccessToken string `json:"access_token"` DeviceID id.DeviceID `json:"device_id"` Homeserver string `json:"homeserver"` @@ -20,29 +20,29 @@ type Data struct { Username string `json:"username"` } -var dataFname = xdg.DataHome() + "/tallyard/data.json" +var authFname = xdg.DataHome() + "/tallyard/auth.json" -func GetData() (data *Data, err error) { - if _, err = os.Stat(dataFname); os.IsNotExist(err) { - data, err = inquireForData() +func GetAuthInfo() (authInfo *AuthInfo, err error) { + if _, err = os.Stat(authFname); os.IsNotExist(err) { + authInfo, err = inquireForAuthInfo() if err == nil { - data.save() + authInfo.save() } - return data, err + return authInfo, err } - jsonBytes, err := ioutil.ReadFile(dataFname) + jsonBytes, err := ioutil.ReadFile(authFname) if err != nil { - return nil, fmt.Errorf("error reading data file %s: %s", dataFname, err) + return nil, fmt.Errorf("error reading auth file %s: %s", authFname, err) } - data = &Data{} - err = json.Unmarshal(jsonBytes, data) + authInfo = &AuthInfo{} + err = json.Unmarshal(jsonBytes, authInfo) if err != nil { - return nil, fmt.Errorf("error unmarshalling data file: %s", err) + return nil, fmt.Errorf("error unmarshalling auth file: %s", err) } - return data, nil + return authInfo, nil } func stripNewline(s string) string { @@ -55,31 +55,31 @@ func stripNewline(s string) string { return s } -func inquireForData() (data *Data, err error) { +func inquireForAuthInfo() (authInfo *AuthInfo, err error) { var ( password string reader = bufio.NewReader(os.Stdin) ) - data = &Data{} + authInfo = &AuthInfo{} - for data.Homeserver == "" || data.Homeserver == "\n" { + for authInfo.Homeserver == "" || authInfo.Homeserver == "\n" { fmt.Print("enter homeserver: ") - data.Homeserver, err = reader.ReadString('\n') + authInfo.Homeserver, err = reader.ReadString('\n') if err != nil { return nil, fmt.Errorf("error reading homeserver: %s", err) } } - data.Homeserver = stripNewline(data.Homeserver) + authInfo.Homeserver = stripNewline(authInfo.Homeserver) - for data.Username == "" || data.Username == "\n" { + for authInfo.Username == "" || authInfo.Username == "\n" { fmt.Print("enter username: ") - data.Username, err = reader.ReadString('\n') + authInfo.Username, err = reader.ReadString('\n') if err != nil { return nil, fmt.Errorf("error reading username: %s", err) } } - data.Username = stripNewline(data.Username) + authInfo.Username = stripNewline(authInfo.Username) for password == "" || password == "\n" { fmt.Print("enter password: ") @@ -90,13 +90,13 @@ func inquireForData() (data *Data, err error) { } password = stripNewline(password) - client, err := mautrix.NewClient(data.Homeserver, "", "") + client, err := mautrix.NewClient(authInfo.Homeserver, "", "") if err != nil { return nil, fmt.Errorf("error creating mautrix client: %s", err) } respLogin, err := client.Login(&mautrix.ReqLogin{ Type: "m.login.password", - Identifier: mautrix.UserIdentifier{Type: mautrix.IdentifierTypeUser, User: data.Username}, + Identifier: mautrix.UserIdentifier{Type: mautrix.IdentifierTypeUser, User: authInfo.Username}, Password: password, StoreCredentials: true, }) @@ -104,17 +104,17 @@ func inquireForData() (data *Data, err error) { return nil, fmt.Errorf("error logging in with given credentials: %s", err) } - data.AccessToken = respLogin.AccessToken - data.DeviceID = respLogin.DeviceID - data.UserID = respLogin.UserID + authInfo.AccessToken = respLogin.AccessToken + authInfo.DeviceID = respLogin.DeviceID + authInfo.UserID = respLogin.UserID - return data, nil + return authInfo, nil } -func (data *Data) save() error { - jsonBytes, err := json.Marshal(*data) +func (authInfo *AuthInfo) save() error { + jsonBytes, err := json.Marshal(*authInfo) if err != nil { return err } - return ioutil.WriteFile(dataFname, jsonBytes, 0600) + return ioutil.WriteFile(authFname, jsonBytes, 0600) } -- 2.38.4