@@ -17,7 +17,7 @@ var conf = config.GetInstance()
1717
1818type LoginResponse struct {
1919 APIVersion string `json:"api_Version"`
20- AppID int32 `json:"app_id"`
20+ AppID int64 `json:"app_id"`
2121 AppName string `json:"app_name"`
2222 Authenticated bool `json:"authenticated"`
2323 NoOfLogins int32 `json:"no_of_logins"`
@@ -26,15 +26,25 @@ type LoginResponse struct {
2626 XToken string `json:"xtoken"`
2727}
2828
29- func AuthLogin (accessToken string ) (* LoginResponse , error ) {
29+ type LoginOpts struct {
30+ AccessToken string `schema:"token" json:"accesstoken"`
31+ AppName string `schema:"appName"`
32+ Domain string `schema:"domain" json:"domain"`
33+ DataCenter string `schema:"dataCenter" json:"dataCenter"`
34+ Plan string `schema:"plan" json:"plan"`
35+ Role string `schema:"role" json:"role"`
36+ LookingFor string `schema:"lookingFor" json:"lookingFor"`
37+ }
38+
39+ func AuthLogin (params LoginOpts ) (* LoginResponse , error ) {
3040
31- // Admin Console Backend API
3241 var resObj LoginResponse
3342
3443 backendURL := conf .AdminConsoleAPIDomain + "/auth/login"
35- body , _ := json .Marshal (map [string ]string {
36- "accesstoken" : accessToken ,
37- })
44+ if params .AppName != "" {
45+ backendURL += "?appName=" + params .AppName
46+ }
47+ body , _ := json .Marshal (params )
3848 resp , err := request .Rest (http .MethodPost , backendURL , nil , string (body ))
3949 if err != nil {
4050 return nil , err
@@ -67,26 +77,6 @@ func AuthValidateToken() (*ValidateTokenResp, error) {
6777 return & resObj , nil
6878}
6979
70- type AppID struct {
71- CurrentAppId int64 `json:"currentAppId"`
72- }
73-
74- func CurrentID () (* AppID , error ) {
75- conf := config .GetInstance ()
76- config := conf .AdminConsoleAPIDomain + "/auth/config?"
77- var currentAppId AppID
78- resp , err := request .Rest (http .MethodGet , config , nil , "" )
79- if err != nil {
80- return nil , err
81- }
82- err = json .Unmarshal (resp , & currentAppId )
83- if err != nil {
84- return nil , err
85- }
86-
87- return & currentAppId , nil
88- }
89-
9080func SitesBasic (tokens * SitesToken ) error {
9181 conf := config .GetInstance ()
9282 var newToken SitesToken
@@ -141,3 +131,54 @@ func SitesBasic(tokens *SitesToken) error {
141131 return nil
142132
143133}
134+
135+ func GetAppsInfo () (map [int64 ]SitesReponse , error ) {
136+ var Apps CoreAppData
137+ data , err := cmdutil .ReadFile ("siteInfo.json" )
138+ if err != nil {
139+ coreAppData := conf .AdminConsoleAPIDomain + "/auth/core-app-data?"
140+ data , err = request .Rest (http .MethodGet , coreAppData , nil , "" )
141+ if err != nil {
142+ return nil , err
143+ }
144+ err = json .Unmarshal (data , & Apps )
145+ if err != nil {
146+ return nil , err
147+ }
148+ return storeSiteInfo (Apps ), nil
149+ }
150+ var siteInfo map [int64 ]SitesReponse
151+ err = json .Unmarshal (data , & siteInfo )
152+ return siteInfo , nil
153+ }
154+
155+ func CurrentID () (int64 , error ) {
156+ var loginInfo LoginResponse
157+ data , err := cmdutil .ReadFile ("token.json" )
158+ if err != nil {
159+ return 0 , err
160+ }
161+ err = json .Unmarshal (data , & loginInfo )
162+ if err != nil {
163+ return 0 , err
164+ }
165+ return loginInfo .AppID , nil
166+ }
167+
168+ func storeSiteInfo (data CoreAppData ) map [int64 ]SitesReponse {
169+ siteInfo := make (map [int64 ]SitesReponse , len (data .Apps .Data ))
170+ for _ , app := range data .Apps .Data {
171+ siteInfo [app .Appid ] = app
172+ }
173+ obj , _ := json .Marshal (siteInfo )
174+ cmdutil .WriteFile ("siteInfo.json" , obj )
175+ currentId , err := CurrentID ()
176+ if err == nil {
177+ site , ok := siteInfo [currentId ]
178+ if ok {
179+ obj , _ := json .Marshal (site )
180+ cmdutil .WriteFile ("currentSite.json" , obj )
181+ }
182+ }
183+ return siteInfo
184+ }
0 commit comments