github.com/status-im/status-go@v1.1.0/services/connector/commands/revoke_permissions.go (about) 1 package commands 2 3 import ( 4 "database/sql" 5 6 persistence "github.com/status-im/status-go/services/connector/database" 7 "github.com/status-im/status-go/signal" 8 ) 9 10 type RevokePermissionsCommand struct { 11 Db *sql.DB 12 } 13 14 func (c *RevokePermissionsCommand) Execute(request RPCRequest) (interface{}, error) { 15 err := request.Validate() 16 if err != nil { 17 return "", err 18 } 19 20 dApp, err := persistence.SelectDAppByUrl(c.Db, request.URL) 21 if err != nil { 22 return "", err 23 } 24 25 if dApp == nil { 26 return "", ErrDAppIsNotPermittedByUser 27 } 28 29 err = persistence.DeleteDApp(c.Db, dApp.URL) 30 if err != nil { 31 return "", err 32 } 33 34 signal.SendConnectorDAppPermissionRevoked(signal.ConnectorDApp{ 35 URL: request.URL, 36 Name: request.Name, 37 IconURL: request.IconURL, 38 }) 39 40 return nil, nil 41 }