1 module vksdk.queries.users.UsersGetQuery; 2 3 import vksdk.client.AbstractQueryBuilder; 4 import vksdk.client.VkApiClient; 5 import vksdk.queries.users.UserField; 6 import vksdk.objects.users.UserXtrCounters; 7 8 /** 9 * Query for Users.get method 10 */ 11 class UsersGetQuery : AbstractQueryBuilder!(UsersGetQuery, UserXtrCounters[]) { 12 13 /** 14 * Creates a AbstractQueryBuilder instance that can be used to build api request with various parameters 15 * 16 * @param client VK API client 17 * @param actor actor with access token 18 */ 19 this(VkApiClient client, UserActor actor) { 20 super(client, "users.get"); 21 accessToken(actor.getAccessToken()); 22 } 23 24 /** 25 * Creates a AbstractQueryBuilder instance that can be used to build api request with various parameters 26 * 27 * @param client VK API client 28 */ 29 this(VkApiClient client) { 30 super(client, "users.get"); 31 } 32 33 /** 34 * User IDs or screen names ("screen_name"). By default, current user ID. 35 * 36 * @param value value of "user ids" parameter. 37 * @return a reference to this {@code AbstractQueryBuilder} object to fulfill the "Builder" pattern. 38 */ 39 UsersGetQuery userIds(A...)(string value) { 40 return unsafeParam("user_ids", value); 41 } 42 43 /** 44 * User IDs or screen names ("screen_name"). By default, current user ID. 45 * 46 * @param value value of "user ids" parameter. 47 * @return a reference to this {@code AbstractQueryBuilder} object to fulfill the "Builder" pattern. 48 */ 49 UsersGetQuery userIds(string[] value) { 50 return unsafeParam("user_ids", value); 51 } 52 53 /** 54 * Profile fields to return. 55 * 56 * @param value value of "fields" parameter. 57 * @return a reference to this {@code AbstractQueryBuilder} object to fulfill the "Builder" pattern. 58 */ 59 UsersGetQuery fields(A...)(UserField value) { 60 return unsafeParam("fields", value); 61 } 62 63 /** 64 * Profile fields to return. 65 * 66 * @param value value of "fields" parameter. 67 * @return a reference to this {@code AbstractQueryBuilder} object to fulfill the "Builder" pattern. 68 */ 69 UsersGetQuery fields(UserField[] value) { 70 return unsafeParam("fields", value); 71 } 72 73 /** 74 * Case for declension of user name and surname 75 * 76 * @param value value of "name case" parameter. 77 * @return a reference to this {@code AbstractQueryBuilder} object to fulfill the "Builder" pattern. 78 */ 79 UsersGetQuery nameCase(UsersNameCase value) { 80 return unsafeParam("name_case", value); 81 } 82 83 override protected UsersGetQuery getThis() { 84 return this; 85 } 86 87 override protected string[] essentialKeys() { 88 return []; 89 } 90 }