Module: MixinBot::API::App
- Included in:
- MixinBot::API
- Defined in:
- lib/mixin_bot/api/app.rb
Instance Method Summary collapse
- #add_favorite_app(app_id, access_token: nil) ⇒ Object (also: #favorite_app)
- #app(app_id, access_token: nil) ⇒ Object (also: #fetch_app)
- #app_billing(app_id, access_token: nil) ⇒ Object
- #app_properties(access_token: nil) ⇒ Object (also: #app_property)
- #apps(access_token: nil) ⇒ Object (also: #fetch_apps)
- #create_app(**kwargs) ⇒ Object
- #favorite_apps(user_id = nil, access_token: nil) ⇒ Object
- #register_app_safe(app_id, spend_public_key:, signature_base64:, access_token: nil) ⇒ Object
- #remove_favorite_app(app_id, access_token: nil) ⇒ Object (also: #unfavorite_app)
- #rotate_app_secret(app_id, access_token: nil) ⇒ Object (also: #update_app_secret)
- #transfer_app_ownership(receiver_user_id:, pin:, access_token: nil) ⇒ Object (also: #migrate)
- #update_app(app_id, **kwargs) ⇒ Object
- #update_app_safe_session(app_id, session_public_key:, access_token: nil) ⇒ Object
Instance Method Details
#add_favorite_app(app_id, access_token: nil) ⇒ Object Also known as: favorite_app
72 73 74 75 76 |
# File 'lib/mixin_bot/api/app.rb', line 72 def add_favorite_app(app_id, access_token: nil) path = format('/apps/%<id>s/favorite', id: app_id) client.post path, access_token: end |
#app(app_id, access_token: nil) ⇒ Object Also known as: fetch_app
6 7 8 9 |
# File 'lib/mixin_bot/api/app.rb', line 6 def app(app_id, access_token: nil) path = format('/apps/%<id>s', id: app_id) client.get path, access_token: end |
#app_billing(app_id, access_token: nil) ⇒ Object
22 23 24 25 |
# File 'lib/mixin_bot/api/app.rb', line 22 def app_billing(app_id, access_token: nil) path = format('/safe/apps/%<id>s/billing', id: app_id) client.get path, access_token: end |
#app_properties(access_token: nil) ⇒ Object Also known as: app_property
17 18 19 |
# File 'lib/mixin_bot/api/app.rb', line 17 def app_properties(access_token: nil) client.get '/apps/property', access_token: end |
#apps(access_token: nil) ⇒ Object Also known as: fetch_apps
12 13 14 |
# File 'lib/mixin_bot/api/app.rb', line 12 def apps(access_token: nil) client.get '/apps', access_token: end |
#create_app(**kwargs) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/mixin_bot/api/app.rb', line 27 def create_app(**kwargs) payload = { redirect_uri: kwargs[:redirect_uri], home_uri: kwargs[:home_uri], name: kwargs[:name], description: kwargs[:description], icon_base64: kwargs[:icon_base64], category: kwargs[:category], capabilities: kwargs[:capabilities], resource_patterns: kwargs[:resource_patterns] }.compact client.post '/apps', **payload, access_token: kwargs[:access_token] end |
#favorite_apps(user_id = nil, access_token: nil) ⇒ Object
86 87 88 89 90 |
# File 'lib/mixin_bot/api/app.rb', line 86 def favorite_apps(user_id = nil, access_token: nil) path = format('/users/%<id>s/apps/favorite', id: user_id || config.app_id) client.get path, access_token: end |
#register_app_safe(app_id, spend_public_key:, signature_base64:, access_token: nil) ⇒ Object
67 68 69 70 |
# File 'lib/mixin_bot/api/app.rb', line 67 def register_app_safe(app_id, spend_public_key:, signature_base64:, access_token: nil) path = format('/safe/apps/%<id>s/register', id: app_id) client.post path, spend_public_key:, signature_base64:, access_token: end |
#remove_favorite_app(app_id, access_token: nil) ⇒ Object Also known as: unfavorite_app
79 80 81 82 83 |
# File 'lib/mixin_bot/api/app.rb', line 79 def remove_favorite_app(app_id, access_token: nil) path = format('/apps/%<id>s/unfavorite', id: app_id) client.post path, access_token: end |
#rotate_app_secret(app_id, access_token: nil) ⇒ Object Also known as: update_app_secret
56 57 58 59 |
# File 'lib/mixin_bot/api/app.rb', line 56 def rotate_app_secret(app_id, access_token: nil) path = format('/apps/%<id>s/secret', id: app_id) client.post path, access_token: end |
#transfer_app_ownership(receiver_user_id:, pin:, access_token: nil) ⇒ Object Also known as: migrate
92 93 94 95 96 |
# File 'lib/mixin_bot/api/app.rb', line 92 def transfer_app_ownership(receiver_user_id:, pin:, access_token: nil) path = format('/apps/%<app_id>s/transfer', app_id: config.app_id) tip = tip_or_legacy_pin_payload(pin, 'TIP:APP:OWNERSHIP:TRANSFER:', receiver_user_id) client.post path, user_id: receiver_user_id, pin_base64: tip[:pin_base64] || tip[:pin], access_token: end |
#update_app(app_id, **kwargs) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/mixin_bot/api/app.rb', line 41 def update_app(app_id, **kwargs) path = format('/apps/%<id>s', id: app_id) payload = { redirect_uri: kwargs[:redirect_uri], home_uri: kwargs[:home_uri], name: kwargs[:name], description: kwargs[:description], icon_base64: kwargs[:icon_base64], category: kwargs[:category], capabilities: kwargs[:capabilities], resource_patterns: kwargs[:resource_patterns] }.compact client.post path, **payload, access_token: kwargs[:access_token] end |
#update_app_safe_session(app_id, session_public_key:, access_token: nil) ⇒ Object
62 63 64 65 |
# File 'lib/mixin_bot/api/app.rb', line 62 def update_app_safe_session(app_id, session_public_key:, access_token: nil) path = format('/safe/apps/%<id>s/session', id: app_id) client.post path, session_public_key:, access_token: end |