Class: Privy::Resources::Users
- Inherits:
-
Object
- Object
- Privy::Resources::Users
- Defined in:
- lib/privy/resources/users.rb
Overview
Operations related to users
Direct Known Subclasses
Instance Method Summary collapse
-
#create(linked_accounts:, custom_metadata: nil, wallets: nil, request_options: {}) ⇒ Privy::Models::User
Create a new user with linked accounts.
-
#delete(user_id, request_options: {}) ⇒ nil
Delete a user by user ID.
-
#get(user_id, request_options: {}) ⇒ Privy::Models::User
Get a user by user ID.
-
#get_by_custom_auth_id(custom_user_id:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their custom auth ID.
-
#get_by_discord_username(username:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their Discord username.
-
#get_by_email_address(address:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their email address.
-
#get_by_farcaster_id(fid:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their Farcaster ID.
-
#get_by_github_username(username:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their Github username.
-
#get_by_phone_number(number:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their phone number.
-
#get_by_smart_wallet_address(address:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their smart wallet address.
-
#get_by_telegram_user_id(telegram_user_id:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their Telegram user ID.
-
#get_by_telegram_username(username:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their Telegram username.
-
#get_by_twitter_subject(subject:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their Twitter subject.
-
#get_by_twitter_username(username:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their Twitter username.
-
#get_by_wallet_address(address:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their wallet address.
-
#initialize(client:) ⇒ Users
constructor
private
A new instance of Users.
-
#list(cursor: nil, limit: nil, request_options: {}) ⇒ Privy::Internal::Cursor<Privy::Models::User>
Get all users in your app.
-
#pregenerate_wallets(user_id, wallets:, request_options: {}) ⇒ Privy::Models::User
Creates an embedded wallet for an existing user.
-
#search(body:, request_options: {}) ⇒ Privy::Models::User
Search users by search term, emails, phone numbers, or wallet addresses.
-
#set_custom_metadata(user_id, custom_metadata:, request_options: {}) ⇒ Privy::Models::User
Adds custom metadata to a user by user ID.
-
#unlink_linked_account(user_id, handle:, type:, provider: nil, request_options: {}) ⇒ Privy::Models::User
Unlinks a user linked account.
Constructor Details
#initialize(client:) ⇒ Users
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of Users.
444 445 446 |
# File 'lib/privy/resources/users.rb', line 444 def initialize(client:) @client = client end |
Instance Method Details
#create(linked_accounts:, custom_metadata: nil, wallets: nil, request_options: {}) ⇒ Privy::Models::User
Create a new user with linked accounts. Optionally pre-generate embedded wallets for the user.
23 24 25 26 |
# File 'lib/privy/resources/users.rb', line 23 def create(params) parsed, = Privy::UserCreateParams.dump_request(params) @client.request(method: :post, path: "v1/users", body: parsed, model: Privy::User, options: ) end |
#delete(user_id, request_options: {}) ⇒ nil
Delete a user by user ID.
63 64 65 66 67 68 69 70 |
# File 'lib/privy/resources/users.rb', line 63 def delete(user_id, params = {}) @client.request( method: :delete, path: ["v1/users/%1$s", user_id], model: NilClass, options: params[:request_options] ) end |
#get(user_id, request_options: {}) ⇒ Privy::Models::User
Get a user by user ID.
83 84 85 86 87 88 89 90 |
# File 'lib/privy/resources/users.rb', line 83 def get(user_id, params = {}) @client.request( method: :get, path: ["v1/users/%1$s", user_id], model: Privy::User, options: params[:request_options] ) end |
#get_by_custom_auth_id(custom_user_id:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their custom auth ID.
102 103 104 105 106 107 108 109 110 111 |
# File 'lib/privy/resources/users.rb', line 102 def get_by_custom_auth_id(params) parsed, = Privy::UserGetByCustomAuthIDParams.dump_request(params) @client.request( method: :post, path: "v1/users/custom_auth/id", body: parsed, model: Privy::User, options: ) end |
#get_by_discord_username(username:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their Discord username.
123 124 125 126 127 128 129 130 131 132 |
# File 'lib/privy/resources/users.rb', line 123 def get_by_discord_username(params) parsed, = Privy::UserGetByDiscordUsernameParams.dump_request(params) @client.request( method: :post, path: "v1/users/discord/username", body: parsed, model: Privy::User, options: ) end |
#get_by_email_address(address:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their email address.
144 145 146 147 148 149 150 151 152 153 |
# File 'lib/privy/resources/users.rb', line 144 def get_by_email_address(params) parsed, = Privy::UserGetByEmailAddressParams.dump_request(params) @client.request( method: :post, path: "v1/users/email/address", body: parsed, model: Privy::User, options: ) end |
#get_by_farcaster_id(fid:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their Farcaster ID.
165 166 167 168 169 170 171 172 173 174 |
# File 'lib/privy/resources/users.rb', line 165 def get_by_farcaster_id(params) parsed, = Privy::UserGetByFarcasterIDParams.dump_request(params) @client.request( method: :post, path: "v1/users/farcaster/fid", body: parsed, model: Privy::User, options: ) end |
#get_by_github_username(username:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their Github username.
186 187 188 189 190 191 192 193 194 195 |
# File 'lib/privy/resources/users.rb', line 186 def get_by_github_username(params) parsed, = Privy::UserGetByGitHubUsernameParams.dump_request(params) @client.request( method: :post, path: "v1/users/github/username", body: parsed, model: Privy::User, options: ) end |
#get_by_phone_number(number:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their phone number.
207 208 209 210 211 212 213 214 215 216 |
# File 'lib/privy/resources/users.rb', line 207 def get_by_phone_number(params) parsed, = Privy::UserGetByPhoneNumberParams.dump_request(params) @client.request( method: :post, path: "v1/users/phone/number", body: parsed, model: Privy::User, options: ) end |
#get_by_smart_wallet_address(address:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their smart wallet address.
228 229 230 231 232 233 234 235 236 237 |
# File 'lib/privy/resources/users.rb', line 228 def get_by_smart_wallet_address(params) parsed, = Privy::UserGetBySmartWalletAddressParams.dump_request(params) @client.request( method: :post, path: "v1/users/smart_wallet/address", body: parsed, model: Privy::User, options: ) end |
#get_by_telegram_user_id(telegram_user_id:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their Telegram user ID.
249 250 251 252 253 254 255 256 257 258 |
# File 'lib/privy/resources/users.rb', line 249 def get_by_telegram_user_id(params) parsed, = Privy::UserGetByTelegramUserIDParams.dump_request(params) @client.request( method: :post, path: "v1/users/telegram/telegram_user_id", body: parsed, model: Privy::User, options: ) end |
#get_by_telegram_username(username:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their Telegram username.
270 271 272 273 274 275 276 277 278 279 |
# File 'lib/privy/resources/users.rb', line 270 def get_by_telegram_username(params) parsed, = Privy::UserGetByTelegramUsernameParams.dump_request(params) @client.request( method: :post, path: "v1/users/telegram/username", body: parsed, model: Privy::User, options: ) end |
#get_by_twitter_subject(subject:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their Twitter subject.
291 292 293 294 295 296 297 298 299 300 |
# File 'lib/privy/resources/users.rb', line 291 def get_by_twitter_subject(params) parsed, = Privy::UserGetByTwitterSubjectParams.dump_request(params) @client.request( method: :post, path: "v1/users/twitter/subject", body: parsed, model: Privy::User, options: ) end |
#get_by_twitter_username(username:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their Twitter username.
312 313 314 315 316 317 318 319 320 321 |
# File 'lib/privy/resources/users.rb', line 312 def get_by_twitter_username(params) parsed, = Privy::UserGetByTwitterUsernameParams.dump_request(params) @client.request( method: :post, path: "v1/users/twitter/username", body: parsed, model: Privy::User, options: ) end |
#get_by_wallet_address(address:, request_options: {}) ⇒ Privy::Models::User
Looks up a user by their wallet address.
333 334 335 336 337 338 339 340 341 342 |
# File 'lib/privy/resources/users.rb', line 333 def get_by_wallet_address(params) parsed, = Privy::UserGetByWalletAddressParams.dump_request(params) @client.request( method: :post, path: "v1/users/wallet/address", body: parsed, model: Privy::User, options: ) end |
#list(cursor: nil, limit: nil, request_options: {}) ⇒ Privy::Internal::Cursor<Privy::Models::User>
Get all users in your app.
39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/privy/resources/users.rb', line 39 def list(params = {}) parsed, = Privy::UserListParams.dump_request(params) query = Privy::Internal::Util.encode_query_params(parsed) @client.request( method: :get, path: "v1/users", query: query, page: Privy::Internal::Cursor, model: Privy::User, options: ) end |
#pregenerate_wallets(user_id, wallets:, request_options: {}) ⇒ Privy::Models::User
Creates an embedded wallet for an existing user.
357 358 359 360 361 362 363 364 365 366 |
# File 'lib/privy/resources/users.rb', line 357 def pregenerate_wallets(user_id, params) parsed, = Privy::UserPregenerateWalletsParams.dump_request(params) @client.request( method: :post, path: ["v1/users/%1$s/wallets", user_id], body: parsed, model: Privy::User, options: ) end |
#search(body:, request_options: {}) ⇒ Privy::Models::User
Search users by search term, emails, phone numbers, or wallet addresses.
378 379 380 381 382 383 384 385 386 387 |
# File 'lib/privy/resources/users.rb', line 378 def search(params) parsed, = Privy::UserSearchParams.dump_request(params) @client.request( method: :post, path: "v1/users/search", body: parsed[:body], model: Privy::User, options: ) end |
#set_custom_metadata(user_id, custom_metadata:, request_options: {}) ⇒ Privy::Models::User
Adds custom metadata to a user by user ID.
402 403 404 405 406 407 408 409 410 411 |
# File 'lib/privy/resources/users.rb', line 402 def (user_id, params) parsed, = Privy::UserSetCustomMetadataParams.dump_request(params) @client.request( method: :post, path: ["v1/users/%1$s/custom_metadata", user_id], body: parsed, model: Privy::User, options: ) end |
#unlink_linked_account(user_id, handle:, type:, provider: nil, request_options: {}) ⇒ Privy::Models::User
Unlinks a user linked account.
430 431 432 433 434 435 436 437 438 439 |
# File 'lib/privy/resources/users.rb', line 430 def unlink_linked_account(user_id, params) parsed, = Privy::UserUnlinkLinkedAccountParams.dump_request(params) @client.request( method: :post, path: ["v1/users/%1$s/accounts/unlink", user_id], body: parsed, model: Privy::User, options: ) end |