/* * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is * regenerated. */ import * as msRest from "@azure/ms-rest-js"; import * as Models from "../models"; import * as Mappers from "../models/usersMappers"; import * as Parameters from "../models/parameters"; import { GraphRbacManagementClientContext } from "../graphRbacManagementClientContext"; /** Class representing a Users. */ export class Users { private readonly client: GraphRbacManagementClientContext; /** * Create a Users. * @param {GraphRbacManagementClientContext} client Reference to the service client. */ constructor(client: GraphRbacManagementClientContext) { this.client = client; } /** * Create a new user. * @param parameters Parameters to create a user. * @param [options] The optional parameters * @returns Promise */ create(parameters: Models.UserCreateParameters, options?: msRest.RequestOptionsBase): Promise; /** * @param parameters Parameters to create a user. * @param callback The callback */ create(parameters: Models.UserCreateParameters, callback: msRest.ServiceCallback): void; /** * @param parameters Parameters to create a user. * @param options The optional parameters * @param callback The callback */ create(parameters: Models.UserCreateParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; create(parameters: Models.UserCreateParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { parameters, options }, createOperationSpec, callback) as Promise; } /** * Gets list of users for the current tenant. * @param [options] The optional parameters * @returns Promise */ list(options?: Models.UsersListOptionalParams): Promise; /** * @param callback The callback */ list(callback: msRest.ServiceCallback): void; /** * @param options The optional parameters * @param callback The callback */ list(options: Models.UsersListOptionalParams, callback: msRest.ServiceCallback): void; list(options?: Models.UsersListOptionalParams | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { options }, listOperationSpec, callback) as Promise; } /** * Gets user information from the directory. * @param upnOrObjectId The object ID or principal name of the user for which to get information. * @param [options] The optional parameters * @returns Promise */ get(upnOrObjectId: string, options?: msRest.RequestOptionsBase): Promise; /** * @param upnOrObjectId The object ID or principal name of the user for which to get information. * @param callback The callback */ get(upnOrObjectId: string, callback: msRest.ServiceCallback): void; /** * @param upnOrObjectId The object ID or principal name of the user for which to get information. * @param options The optional parameters * @param callback The callback */ get(upnOrObjectId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; get(upnOrObjectId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { upnOrObjectId, options }, getOperationSpec, callback) as Promise; } /** * Updates a user. * @param upnOrObjectId The object ID or principal name of the user to update. * @param parameters Parameters to update an existing user. * @param [options] The optional parameters * @returns Promise */ update(upnOrObjectId: string, parameters: Models.UserUpdateParameters, options?: msRest.RequestOptionsBase): Promise; /** * @param upnOrObjectId The object ID or principal name of the user to update. * @param parameters Parameters to update an existing user. * @param callback The callback */ update(upnOrObjectId: string, parameters: Models.UserUpdateParameters, callback: msRest.ServiceCallback): void; /** * @param upnOrObjectId The object ID or principal name of the user to update. * @param parameters Parameters to update an existing user. * @param options The optional parameters * @param callback The callback */ update(upnOrObjectId: string, parameters: Models.UserUpdateParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; update(upnOrObjectId: string, parameters: Models.UserUpdateParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { upnOrObjectId, parameters, options }, updateOperationSpec, callback); } /** * Delete a user. * @param upnOrObjectId The object ID or principal name of the user to delete. * @param [options] The optional parameters * @returns Promise */ deleteMethod(upnOrObjectId: string, options?: msRest.RequestOptionsBase): Promise; /** * @param upnOrObjectId The object ID or principal name of the user to delete. * @param callback The callback */ deleteMethod(upnOrObjectId: string, callback: msRest.ServiceCallback): void; /** * @param upnOrObjectId The object ID or principal name of the user to delete. * @param options The optional parameters * @param callback The callback */ deleteMethod(upnOrObjectId: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; deleteMethod(upnOrObjectId: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { upnOrObjectId, options }, deleteMethodOperationSpec, callback); } /** * Gets a collection that contains the object IDs of the groups of which the user is a member. * @param objectId The object ID of the user for which to get group membership. * @param parameters User filtering parameters. * @param [options] The optional parameters * @returns Promise */ getMemberGroups(objectId: string, parameters: Models.UserGetMemberGroupsParameters, options?: msRest.RequestOptionsBase): Promise; /** * @param objectId The object ID of the user for which to get group membership. * @param parameters User filtering parameters. * @param callback The callback */ getMemberGroups(objectId: string, parameters: Models.UserGetMemberGroupsParameters, callback: msRest.ServiceCallback): void; /** * @param objectId The object ID of the user for which to get group membership. * @param parameters User filtering parameters. * @param options The optional parameters * @param callback The callback */ getMemberGroups(objectId: string, parameters: Models.UserGetMemberGroupsParameters, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; getMemberGroups(objectId: string, parameters: Models.UserGetMemberGroupsParameters, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { objectId, parameters, options }, getMemberGroupsOperationSpec, callback) as Promise; } /** * Gets a list of users for the current tenant. * @param nextLink Next link for the list operation. * @param [options] The optional parameters * @returns Promise */ listNext(nextLink: string, options?: msRest.RequestOptionsBase): Promise; /** * @param nextLink Next link for the list operation. * @param callback The callback */ listNext(nextLink: string, callback: msRest.ServiceCallback): void; /** * @param nextLink Next link for the list operation. * @param options The optional parameters * @param callback The callback */ listNext(nextLink: string, options: msRest.RequestOptionsBase, callback: msRest.ServiceCallback): void; listNext(nextLink: string, options?: msRest.RequestOptionsBase | msRest.ServiceCallback, callback?: msRest.ServiceCallback): Promise { return this.client.sendOperationRequest( { nextLink, options }, listNextOperationSpec, callback) as Promise; } } // Operation Specifications const serializer = new msRest.Serializer(Mappers); const createOperationSpec: msRest.OperationSpec = { httpMethod: "POST", path: "{tenantID}/users", urlParameters: [ Parameters.tenantID ], queryParameters: [ Parameters.apiVersion ], headerParameters: [ Parameters.acceptLanguage ], requestBody: { parameterPath: "parameters", mapper: { ...Mappers.UserCreateParameters, required: true } }, responses: { 201: { bodyMapper: Mappers.User }, default: { bodyMapper: Mappers.GraphError } }, serializer }; const listOperationSpec: msRest.OperationSpec = { httpMethod: "GET", path: "{tenantID}/users", urlParameters: [ Parameters.tenantID ], queryParameters: [ Parameters.filter, Parameters.apiVersion ], headerParameters: [ Parameters.acceptLanguage ], responses: { 200: { bodyMapper: Mappers.UserListResult }, default: { bodyMapper: Mappers.GraphError } }, serializer }; const getOperationSpec: msRest.OperationSpec = { httpMethod: "GET", path: "{tenantID}/users/{upnOrObjectId}", urlParameters: [ Parameters.upnOrObjectId, Parameters.tenantID ], queryParameters: [ Parameters.apiVersion ], headerParameters: [ Parameters.acceptLanguage ], responses: { 200: { bodyMapper: Mappers.User }, default: { bodyMapper: Mappers.GraphError } }, serializer }; const updateOperationSpec: msRest.OperationSpec = { httpMethod: "PATCH", path: "{tenantID}/users/{upnOrObjectId}", urlParameters: [ Parameters.upnOrObjectId, Parameters.tenantID ], queryParameters: [ Parameters.apiVersion ], headerParameters: [ Parameters.acceptLanguage ], requestBody: { parameterPath: "parameters", mapper: { ...Mappers.UserUpdateParameters, required: true } }, responses: { 204: {}, default: { bodyMapper: Mappers.GraphError } }, serializer }; const deleteMethodOperationSpec: msRest.OperationSpec = { httpMethod: "DELETE", path: "{tenantID}/users/{upnOrObjectId}", urlParameters: [ Parameters.upnOrObjectId, Parameters.tenantID ], queryParameters: [ Parameters.apiVersion ], headerParameters: [ Parameters.acceptLanguage ], responses: { 204: {}, default: { bodyMapper: Mappers.GraphError } }, serializer }; const getMemberGroupsOperationSpec: msRest.OperationSpec = { httpMethod: "POST", path: "{tenantID}/users/{objectId}/getMemberGroups", urlParameters: [ Parameters.objectId, Parameters.tenantID ], queryParameters: [ Parameters.apiVersion ], headerParameters: [ Parameters.acceptLanguage ], requestBody: { parameterPath: "parameters", mapper: { ...Mappers.UserGetMemberGroupsParameters, required: true } }, responses: { 200: { bodyMapper: Mappers.UserGetMemberGroupsResult }, default: { bodyMapper: Mappers.GraphError } }, serializer }; const listNextOperationSpec: msRest.OperationSpec = { httpMethod: "GET", path: "{tenantID}/{nextLink}", urlParameters: [ Parameters.nextLink, Parameters.tenantID ], queryParameters: [ Parameters.apiVersion ], headerParameters: [ Parameters.acceptLanguage ], responses: { 200: { bodyMapper: Mappers.UserListResult }, default: { bodyMapper: Mappers.GraphError } }, serializer };