appcenter-cli
Version:
Command line tool for Visual Studio App Center
298 lines (286 loc) • 8.98 kB
text/typescript
/*
* Copyright (c) Microsoft Corporation.
* Licensed under the MIT License.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is regenerated.
*/
import { AppInvitations } from "../operationsInterfaces";
import * as coreClient from "@azure/core-client";
import * as Mappers from "../models/mappers";
import * as Parameters from "../models/parameters";
import { AppCenterClient } from "../appCenterClient";
import {
AppInvitationsRejectOptionalParams,
AppInvitationsAcceptOptionalParams,
AppInvitationsCreateByEmailOptionalParams,
Enum301,
AppInvitationsUpdatePermissionsOptionalParams,
AppInvitationsDeleteOptionalParams,
AppInvitationsCreateOptionalParams,
AppInvitationsListOptionalParams,
AppInvitationsListResponse
} from "../models";
/** Class containing AppInvitations operations. */
export class AppInvitationsImpl implements AppInvitations {
private readonly client: AppCenterClient;
/**
* Initialize a new instance of the class AppInvitations class.
* @param client Reference to the service client
*/
constructor(client: AppCenterClient) {
this.client = client;
}
/**
* Rejects a pending invitation for the specified user
* @param invitationToken The app invitation token that was sent to the user
* @param options The options parameters.
*/
reject(
invitationToken: string,
options?: AppInvitationsRejectOptionalParams
): Promise<void> {
return this.client.sendOperationRequest(
{ invitationToken, options },
rejectOperationSpec
);
}
/**
* Accepts a pending invitation for the specified user
* @param invitationToken The app invitation token that was sent to the user
* @param options The options parameters.
*/
accept(
invitationToken: string,
options?: AppInvitationsAcceptOptionalParams
): Promise<void> {
return this.client.sendOperationRequest(
{ invitationToken, options },
acceptOperationSpec
);
}
/**
* Invites a new or existing user to an app
* @param ownerName The name of the owner
* @param appName The name of the application
* @param userEmail The email of the user to invite
* @param options The options parameters.
*/
createByEmail(
ownerName: string,
appName: string,
userEmail: string,
options?: AppInvitationsCreateByEmailOptionalParams
): Promise<void> {
return this.client.sendOperationRequest(
{ ownerName, appName, userEmail, options },
createByEmailOperationSpec
);
}
/**
* Update pending invitation permission
* @param ownerName The name of the owner
* @param appName The name of the application
* @param userEmail The email of the user to invite
* @param permissions The permissions the user has for the app in the invitation
* @param options The options parameters.
*/
updatePermissions(
ownerName: string,
appName: string,
userEmail: string,
permissions: Enum301[],
options?: AppInvitationsUpdatePermissionsOptionalParams
): Promise<void> {
return this.client.sendOperationRequest(
{ ownerName, appName, userEmail, permissions, options },
updatePermissionsOperationSpec
);
}
/**
* Removes a user's invitation to an app
* @param ownerName The name of the owner
* @param appName The name of the application
* @param userEmail The email of the user to invite
* @param options The options parameters.
*/
delete(
ownerName: string,
appName: string,
userEmail: string,
options?: AppInvitationsDeleteOptionalParams
): Promise<void> {
return this.client.sendOperationRequest(
{ ownerName, appName, userEmail, options },
deleteOperationSpec
);
}
/**
* Invites a new or existing user to an app
* @param ownerName The name of the owner
* @param appName The name of the application
* @param userEmail The user's email address
* @param options The options parameters.
*/
create(
ownerName: string,
appName: string,
userEmail: string,
options?: AppInvitationsCreateOptionalParams
): Promise<void> {
return this.client.sendOperationRequest(
{ ownerName, appName, userEmail, options },
createOperationSpec
);
}
/**
* Gets the pending invitations for the app
* @param ownerName The name of the owner
* @param appName The name of the application
* @param options The options parameters.
*/
list(
ownerName: string,
appName: string,
options?: AppInvitationsListOptionalParams
): Promise<AppInvitationsListResponse> {
return this.client.sendOperationRequest(
{ ownerName, appName, options },
listOperationSpec
);
}
}
// Operation Specifications
const serializer = coreClient.createSerializer(Mappers, /* isXml */ false);
const rejectOperationSpec: coreClient.OperationSpec = {
path: "/v0.1/user/invitations/apps/{invitation_token}/reject",
httpMethod: "POST",
responses: {
204: {},
default: {
bodyMapper:
Mappers.Paths1De5Y4YV01UserInvitationsAppsInvitationTokenRejectPostResponsesDefaultContentApplicationJsonSchema
}
},
urlParameters: [Parameters.$host, Parameters.invitationToken],
headerParameters: [Parameters.accept],
serializer
};
const acceptOperationSpec: coreClient.OperationSpec = {
path: "/v0.1/user/invitations/apps/{invitation_token}/accept",
httpMethod: "POST",
responses: {
204: {},
default: {
bodyMapper:
Mappers.Paths14WkhazV01UserInvitationsAppsInvitationTokenAcceptPostResponsesDefaultContentApplicationJsonSchema
}
},
urlParameters: [Parameters.$host, Parameters.invitationToken],
headerParameters: [Parameters.accept],
serializer
};
const createByEmailOperationSpec: coreClient.OperationSpec = {
path: "/v0.1/apps/{owner_name}/{app_name}/invitations/{user_email}",
httpMethod: "POST",
responses: {
204: {},
default: {
bodyMapper:
Mappers.Paths1HhwggV01AppsOwnerNameAppNameInvitationsUserEmailPostResponsesDefaultContentApplicationJsonSchema
}
},
urlParameters: [
Parameters.$host,
Parameters.ownerName,
Parameters.appName,
Parameters.userEmail4
],
headerParameters: [Parameters.accept],
serializer
};
const updatePermissionsOperationSpec: coreClient.OperationSpec = {
path: "/v0.1/apps/{owner_name}/{app_name}/invitations/{user_email}",
httpMethod: "PATCH",
responses: {
204: {},
default: {
bodyMapper:
Mappers.Paths8Hsxc2V01AppsOwnerNameAppNameInvitationsUserEmailPatchResponsesDefaultContentApplicationJsonSchema
}
},
requestBody: {
parameterPath: { permissions: ["permissions"] },
mapper: {
...Mappers.Paths1Uclv96V01AppsOwnerNameAppNameInvitationsUserEmailPatchRequestbodyContentApplicationJsonSchema,
required: true
}
},
urlParameters: [
Parameters.$host,
Parameters.ownerName,
Parameters.appName,
Parameters.userEmail4
],
headerParameters: [Parameters.contentType, Parameters.accept],
mediaType: "json",
serializer
};
const deleteOperationSpec: coreClient.OperationSpec = {
path: "/v0.1/apps/{owner_name}/{app_name}/invitations/{user_email}",
httpMethod: "DELETE",
responses: {
204: {},
default: {
bodyMapper:
Mappers.PathsTcxwc4V01AppsOwnerNameAppNameInvitationsUserEmailDeleteResponsesDefaultContentApplicationJsonSchema
}
},
urlParameters: [
Parameters.$host,
Parameters.ownerName,
Parameters.appName,
Parameters.userEmail4
],
headerParameters: [Parameters.accept],
serializer
};
const createOperationSpec: coreClient.OperationSpec = {
path: "/v0.1/apps/{owner_name}/{app_name}/invitations",
httpMethod: "POST",
responses: {
204: {},
default: {
bodyMapper:
Mappers.Paths86Npv6V01AppsOwnerNameAppNameInvitationsPostResponsesDefaultContentApplicationJsonSchema
}
},
requestBody: {
parameterPath: { userEmail: ["userEmail"], role: ["options", "role"] },
mapper: {
...Mappers.Paths1CzjavmV01AppsOwnerNameAppNameInvitationsPostRequestbodyContentApplicationJsonSchema,
required: true
}
},
urlParameters: [Parameters.$host, Parameters.ownerName, Parameters.appName],
headerParameters: [Parameters.contentType, Parameters.accept],
mediaType: "json",
serializer
};
const listOperationSpec: coreClient.OperationSpec = {
path: "/v0.1/apps/{owner_name}/{app_name}/invitations",
httpMethod: "GET",
responses: {
200: {
bodyMapper:
Mappers.PathsIn5115V01AppsOwnerNameAppNameInvitationsGetResponses200ContentApplicationJsonSchema
},
default: {
bodyMapper:
Mappers.Paths8D56KcV01AppsOwnerNameAppNameInvitationsGetResponsesDefaultContentApplicationJsonSchema
}
},
urlParameters: [Parameters.$host, Parameters.ownerName, Parameters.appName],
headerParameters: [Parameters.accept],
serializer
};