@microsoft/teamsfx-core 1.0.0 → 1.0.1-alpha.fa070464.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/common/armInterface.d.ts +1 -0
- package/build/common/armInterface.d.ts.map +1 -1
- package/build/core/error.d.ts +1 -0
- package/build/core/error.d.ts.map +1 -1
- package/build/core/error.js +5 -1
- package/build/core/error.js.map +1 -1
- package/build/core/index.d.ts.map +1 -1
- package/build/core/index.js +41 -4
- package/build/core/index.js.map +1 -1
- package/build/core/middleware/envInfoWriter.d.ts.map +1 -1
- package/build/core/middleware/envInfoWriter.js +2 -0
- package/build/core/middleware/envInfoWriter.js.map +1 -1
- package/build/plugins/resource/aad/v2/index.d.ts +3 -0
- package/build/plugins/resource/aad/v2/index.d.ts.map +1 -1
- package/build/plugins/resource/aad/v2/index.js +9 -0
- package/build/plugins/resource/aad/v2/index.js.map +1 -1
- package/build/plugins/resource/appstudio/index.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/index.js +15 -5
- package/build/plugins/resource/appstudio/index.js.map +1 -1
- package/build/plugins/resource/appstudio/interfaces/IAppDefinition.d.ts +6 -2
- package/build/plugins/resource/appstudio/interfaces/IAppDefinition.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/plugin.d.ts +1 -1
- package/build/plugins/resource/appstudio/plugin.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/plugin.js +123 -36
- package/build/plugins/resource/appstudio/plugin.js.map +1 -1
- package/build/plugins/resource/appstudio/utils/telemetry.d.ts +1 -0
- package/build/plugins/resource/appstudio/utils/telemetry.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/utils/telemetry.js +1 -0
- package/build/plugins/resource/appstudio/utils/telemetry.js.map +1 -1
- package/build/plugins/resource/appstudio/v2/index.d.ts +3 -0
- package/build/plugins/resource/appstudio/v2/index.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/v2/index.js +9 -0
- package/build/plugins/resource/appstudio/v2/index.js.map +1 -1
- package/build/plugins/resource/index.d.ts +1 -0
- package/build/plugins/resource/index.d.ts.map +1 -1
- package/build/plugins/resource/index.js +1 -0
- package/build/plugins/resource/index.js.map +1 -1
- package/build/plugins/resource/keyvault/constants.d.ts +35 -0
- package/build/plugins/resource/keyvault/constants.d.ts.map +1 -0
- package/build/plugins/resource/keyvault/constants.js +42 -0
- package/build/plugins/resource/keyvault/constants.js.map +1 -0
- package/build/plugins/resource/keyvault/index.d.ts +14 -0
- package/build/plugins/resource/keyvault/index.d.ts.map +1 -0
- package/build/plugins/resource/keyvault/index.js +60 -0
- package/build/plugins/resource/keyvault/index.js.map +1 -0
- package/build/plugins/resource/keyvault/plugin.d.ts +6 -0
- package/build/plugins/resource/keyvault/plugin.d.ts.map +1 -0
- package/build/plugins/resource/keyvault/plugin.js +31 -0
- package/build/plugins/resource/keyvault/plugin.js.map +1 -0
- package/build/plugins/resource/keyvault/result.d.ts +9 -0
- package/build/plugins/resource/keyvault/result.d.ts.map +1 -0
- package/build/plugins/resource/keyvault/result.js +21 -0
- package/build/plugins/resource/keyvault/result.js.map +1 -0
- package/build/plugins/resource/keyvault/utils/telemetry.d.ts +17 -0
- package/build/plugins/resource/keyvault/utils/telemetry.d.ts.map +1 -0
- package/build/plugins/resource/keyvault/utils/telemetry.js +45 -0
- package/build/plugins/resource/keyvault/utils/telemetry.js.map +1 -0
- package/build/plugins/resource/simpleauth/v2/index.d.ts +7 -6
- package/build/plugins/resource/simpleauth/v2/index.d.ts.map +1 -1
- package/build/plugins/resource/simpleauth/v2/index.js +12 -6
- package/build/plugins/resource/simpleauth/v2/index.js.map +1 -1
- package/build/plugins/resource/utils4v2.d.ts +2 -1
- package/build/plugins/resource/utils4v2.d.ts.map +1 -1
- package/build/plugins/resource/utils4v2.js +26 -1
- package/build/plugins/resource/utils4v2.js.map +1 -1
- package/build/plugins/solution/fx-solution/ResourcePluginContainer.d.ts +1 -0
- package/build/plugins/solution/fx-solution/ResourcePluginContainer.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/ResourcePluginContainer.js +1 -0
- package/build/plugins/solution/fx-solution/ResourcePluginContainer.js.map +1 -1
- package/build/plugins/solution/fx-solution/arm.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/arm.js +41 -22
- package/build/plugins/solution/fx-solution/arm.js.map +1 -1
- package/build/plugins/solution/fx-solution/commonQuestions.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/commonQuestions.js.map +1 -1
- package/build/plugins/solution/fx-solution/constants.d.ts +1 -1
- package/build/plugins/solution/fx-solution/constants.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/constants.js +2 -2
- package/build/plugins/solution/fx-solution/constants.js.map +1 -1
- package/build/plugins/solution/fx-solution/question.d.ts +2 -1
- package/build/plugins/solution/fx-solution/question.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/question.js +10 -3
- package/build/plugins/solution/fx-solution/question.js.map +1 -1
- package/build/plugins/solution/fx-solution/solution.d.ts +1 -3
- package/build/plugins/solution/fx-solution/solution.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/solution.js +33 -544
- package/build/plugins/solution/fx-solution/solution.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/adaptor.d.ts +3 -0
- package/build/plugins/solution/fx-solution/v2/adaptor.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/adaptor.js +45 -7
- package/build/plugins/solution/fx-solution/v2/adaptor.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/checkPermission.d.ts +5 -0
- package/build/plugins/solution/fx-solution/v2/checkPermission.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v2/checkPermission.js +185 -0
- package/build/plugins/solution/fx-solution/v2/checkPermission.js.map +1 -0
- package/build/plugins/solution/fx-solution/v2/collaborationUtil.d.ts +20 -0
- package/build/plugins/solution/fx-solution/v2/collaborationUtil.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v2/collaborationUtil.js +83 -0
- package/build/plugins/solution/fx-solution/v2/collaborationUtil.js.map +1 -0
- package/build/plugins/solution/fx-solution/v2/executor.d.ts +1 -0
- package/build/plugins/solution/fx-solution/v2/executor.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/executor.js +17 -1
- package/build/plugins/solution/fx-solution/v2/executor.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/getQuestions.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/getQuestions.js +2 -1
- package/build/plugins/solution/fx-solution/v2/getQuestions.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/grantPermission.d.ts +5 -0
- package/build/plugins/solution/fx-solution/v2/grantPermission.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v2/grantPermission.js +200 -0
- package/build/plugins/solution/fx-solution/v2/grantPermission.js.map +1 -0
- package/build/plugins/solution/fx-solution/v2/listAllCollaborators.d.ts +5 -0
- package/build/plugins/solution/fx-solution/v2/listAllCollaborators.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v2/listAllCollaborators.js +118 -0
- package/build/plugins/solution/fx-solution/v2/listAllCollaborators.js.map +1 -0
- package/build/plugins/solution/fx-solution/v2/listCollaborator.d.ts +8 -0
- package/build/plugins/solution/fx-solution/v2/listCollaborator.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/v2/listCollaborator.js +195 -0
- package/build/plugins/solution/fx-solution/v2/listCollaborator.js.map +1 -0
- package/build/plugins/solution/fx-solution/v2/provision.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/provision.js +23 -6
- package/build/plugins/solution/fx-solution/v2/provision.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/solution.d.ts +4 -0
- package/build/plugins/solution/fx-solution/v2/solution.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/solution.js +8 -0
- package/build/plugins/solution/fx-solution/v2/solution.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/utils.d.ts +3 -1
- package/build/plugins/solution/fx-solution/v2/utils.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/utils.js +6 -1
- package/build/plugins/solution/fx-solution/v2/utils.js.map +1 -1
- package/package.json +4 -3
- package/resource/strings.json +1 -0
- package/templates/plugins/resource/bot/bicep/botConfiguration.template.bicep +10 -0
- package/templates/plugins/resource/function/bicep/functionConfiguration.template.bicep +5 -0
- package/templates/plugins/resource/keyvault/bicep/keyVaultProvision.template.bicep +53 -0
- package/templates/plugins/resource/keyvault/bicep/provision.template.bicep +13 -0
- package/templates/plugins/resource/simpleauth/bicep/simpleAuthConfiguration.template.bicep +5 -0
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.grantPermission = void 0;
|
|
4
|
+
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
5
|
+
const common_1 = require("../../../../common");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
const util_1 = require("../utils/util");
|
|
8
|
+
const executor_1 = require("../executor");
|
|
9
|
+
const ResourcePluginContainer_1 = require("../ResourcePluginContainer");
|
|
10
|
+
const utils4v2_1 = require("../../../resource/utils4v2");
|
|
11
|
+
const executor_2 = require("./executor");
|
|
12
|
+
const collaborationUtil_1 = require("./collaborationUtil");
|
|
13
|
+
const utils_1 = require("./utils");
|
|
14
|
+
const __1 = require("..");
|
|
15
|
+
async function grantPermissionImpl(param, envState, envName, telemetryReporter, ui, graphTokenProvider, logProvider, platform, email) {
|
|
16
|
+
var _a, _b;
|
|
17
|
+
telemetryReporter === null || telemetryReporter === void 0 ? void 0 : telemetryReporter.sendTelemetryEvent(constants_1.SolutionTelemetryEvent.GrantPermissionStart, {
|
|
18
|
+
[constants_1.SolutionTelemetryProperty.Component]: constants_1.SolutionTelemetryComponentName,
|
|
19
|
+
});
|
|
20
|
+
const progressBar = ui === null || ui === void 0 ? void 0 : ui.createProgressBar("Granting permission", 1);
|
|
21
|
+
try {
|
|
22
|
+
const result = await collaborationUtil_1.CollaborationUtil.getCurrentUserInfo(graphTokenProvider);
|
|
23
|
+
if (result.isErr()) {
|
|
24
|
+
return teamsfx_api_1.err(util_1.sendErrorTelemetryThenReturnError(constants_1.SolutionTelemetryEvent.GrantPermission, result.error, telemetryReporter));
|
|
25
|
+
}
|
|
26
|
+
const stateResult = collaborationUtil_1.CollaborationUtil.getCurrentCollaborationState(envState, result.value);
|
|
27
|
+
if (stateResult.state != common_1.CollaborationState.OK) {
|
|
28
|
+
if (platform === teamsfx_api_1.Platform.CLI) {
|
|
29
|
+
ui === null || ui === void 0 ? void 0 : ui.showMessage("warn", stateResult.message, false);
|
|
30
|
+
}
|
|
31
|
+
else if (platform === teamsfx_api_1.Platform.VSCode) {
|
|
32
|
+
logProvider === null || logProvider === void 0 ? void 0 : logProvider.warning(stateResult.message);
|
|
33
|
+
}
|
|
34
|
+
return teamsfx_api_1.ok({
|
|
35
|
+
state: stateResult.state,
|
|
36
|
+
message: stateResult.message,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
if (!email || email === result.value.userPrincipalName) {
|
|
40
|
+
return teamsfx_api_1.err(util_1.sendErrorTelemetryThenReturnError(constants_1.SolutionTelemetryEvent.GrantPermission, teamsfx_api_1.returnUserError(new Error("Collaborator's email cannot be null or same as current user"), constants_1.SolutionSource, constants_1.SolutionError.EmailCannotBeEmptyOrSame), telemetryReporter));
|
|
41
|
+
}
|
|
42
|
+
const userInfo = await collaborationUtil_1.CollaborationUtil.getUserInfo(graphTokenProvider, email);
|
|
43
|
+
if (!userInfo) {
|
|
44
|
+
return teamsfx_api_1.err(util_1.sendErrorTelemetryThenReturnError(constants_1.SolutionTelemetryEvent.GrantPermission, teamsfx_api_1.returnUserError(new Error("Cannot find user in current tenant, please check whether your email address is correct"), constants_1.SolutionSource, constants_1.SolutionError.CannotFindUserInCurrentTenant), telemetryReporter));
|
|
45
|
+
}
|
|
46
|
+
progressBar === null || progressBar === void 0 ? void 0 : progressBar.start();
|
|
47
|
+
progressBar === null || progressBar === void 0 ? void 0 : progressBar.next(`Grant permission for user ${email}`);
|
|
48
|
+
if (platform === teamsfx_api_1.Platform.CLI) {
|
|
49
|
+
const aadAppTenantId = (_a = envState.get(constants_1.PluginNames.SOLUTION)) === null || _a === void 0 ? void 0 : _a.get(__1.REMOTE_TEAMS_APP_TENANT_ID);
|
|
50
|
+
if (!envName) {
|
|
51
|
+
return teamsfx_api_1.err(util_1.sendErrorTelemetryThenReturnError(constants_1.SolutionTelemetryEvent.GrantPermission, teamsfx_api_1.returnSystemError(new Error("Failed to get env name."), constants_1.SolutionSource, constants_1.SolutionError.FailedToGetEnvName), telemetryReporter));
|
|
52
|
+
}
|
|
53
|
+
const message = [
|
|
54
|
+
{ content: `Account to grant permission: `, color: teamsfx_api_1.Colors.BRIGHT_WHITE },
|
|
55
|
+
{ content: userInfo.userPrincipalName + "\n", color: teamsfx_api_1.Colors.BRIGHT_MAGENTA },
|
|
56
|
+
{
|
|
57
|
+
content: `Starting grant permission for environment: `,
|
|
58
|
+
color: teamsfx_api_1.Colors.BRIGHT_WHITE,
|
|
59
|
+
},
|
|
60
|
+
{ content: `${envName}\n`, color: teamsfx_api_1.Colors.BRIGHT_MAGENTA },
|
|
61
|
+
{ content: `Tenant ID: `, color: teamsfx_api_1.Colors.BRIGHT_WHITE },
|
|
62
|
+
{ content: aadAppTenantId + "\n", color: teamsfx_api_1.Colors.BRIGHT_MAGENTA },
|
|
63
|
+
];
|
|
64
|
+
ui === null || ui === void 0 ? void 0 : ui.showMessage("info", message, false);
|
|
65
|
+
}
|
|
66
|
+
const [permissions, errors] = param.apiVersion === 1
|
|
67
|
+
? await executeGrantPermissionsV1(param.ctx, userInfo)
|
|
68
|
+
: await executeGrantPermissionsV2(param.ctx, param.inputs, param.envInfo, param.tokenProvider, userInfo);
|
|
69
|
+
let errorMsg = "";
|
|
70
|
+
if (errors.length > 0) {
|
|
71
|
+
errorMsg += `Failed to grant permission for the below resources to user: ${email}.\n Resource details: \n`;
|
|
72
|
+
for (const fxError of errors) {
|
|
73
|
+
errorMsg += fxError.error.message + "\n";
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (platform === teamsfx_api_1.Platform.CLI) {
|
|
77
|
+
for (const permission of permissions) {
|
|
78
|
+
const message = [
|
|
79
|
+
{ content: `${(_b = permission.roles) === null || _b === void 0 ? void 0 : _b.join(",")} `, color: teamsfx_api_1.Colors.BRIGHT_MAGENTA },
|
|
80
|
+
{ content: "permission has been granted to ", color: teamsfx_api_1.Colors.BRIGHT_WHITE },
|
|
81
|
+
{ content: permission.name, color: teamsfx_api_1.Colors.BRIGHT_MAGENTA },
|
|
82
|
+
{ content: ", Resource ID: ", color: teamsfx_api_1.Colors.BRIGHT_WHITE },
|
|
83
|
+
{ content: `${permission.resourceId}`, color: teamsfx_api_1.Colors.BRIGHT_MAGENTA },
|
|
84
|
+
];
|
|
85
|
+
ui === null || ui === void 0 ? void 0 : ui.showMessage("info", message, false);
|
|
86
|
+
}
|
|
87
|
+
ui === null || ui === void 0 ? void 0 : ui.showMessage("info", `\nSkip grant permission for Azure resources. You may want to handle that via Azure portal. `, false);
|
|
88
|
+
if (errorMsg) {
|
|
89
|
+
ui === null || ui === void 0 ? void 0 : ui.showMessage("error", errorMsg, false);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
if (errorMsg) {
|
|
93
|
+
return teamsfx_api_1.err(util_1.sendErrorTelemetryThenReturnError(constants_1.SolutionTelemetryEvent.GrantPermission, teamsfx_api_1.returnUserError(new Error(errorMsg), constants_1.SolutionSource, constants_1.SolutionError.FailedToGrantPermission), telemetryReporter));
|
|
94
|
+
}
|
|
95
|
+
telemetryReporter === null || telemetryReporter === void 0 ? void 0 : telemetryReporter.sendTelemetryEvent(constants_1.SolutionTelemetryEvent.GrantPermission, {
|
|
96
|
+
[constants_1.SolutionTelemetryProperty.Component]: constants_1.SolutionTelemetryComponentName,
|
|
97
|
+
[constants_1.SolutionTelemetryProperty.Success]: constants_1.SolutionTelemetrySuccess.Yes,
|
|
98
|
+
});
|
|
99
|
+
return teamsfx_api_1.ok({
|
|
100
|
+
state: common_1.CollaborationState.OK,
|
|
101
|
+
userInfo: userInfo,
|
|
102
|
+
permissions,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
finally {
|
|
106
|
+
await (progressBar === null || progressBar === void 0 ? void 0 : progressBar.end(true));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
async function grantPermission(param) {
|
|
110
|
+
var _a, _b, _c, _d;
|
|
111
|
+
if (param.apiVersion === 1) {
|
|
112
|
+
const envState = param.ctx.envInfo.state;
|
|
113
|
+
const envName = param.ctx.envInfo.envName;
|
|
114
|
+
const telemetryReporter = param.ctx.telemetryReporter;
|
|
115
|
+
const ui = param.ctx.ui;
|
|
116
|
+
const graphTokenProvider = param.ctx.graphTokenProvider;
|
|
117
|
+
const logProvider = param.ctx.logProvider;
|
|
118
|
+
const platform = (_a = param.ctx.answers) === null || _a === void 0 ? void 0 : _a.platform;
|
|
119
|
+
const email = (_b = param.ctx.answers) === null || _b === void 0 ? void 0 : _b.email;
|
|
120
|
+
return grantPermissionImpl(param, envState, envName, telemetryReporter, ui, graphTokenProvider, logProvider, platform, email);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
const configMap = teamsfx_api_1.ConfigMap.fromJSON(param.envInfo.state);
|
|
124
|
+
if (!configMap) {
|
|
125
|
+
return teamsfx_api_1.err(teamsfx_api_1.returnSystemError(new Error(`failed to convert profile ${JSON.stringify(param.envInfo.state)}`), constants_1.PluginNames.SOLUTION, constants_1.SolutionError.InternelError));
|
|
126
|
+
}
|
|
127
|
+
const envState = utils4v2_1.flattenConfigMap(configMap);
|
|
128
|
+
const envName = param.envInfo.envName;
|
|
129
|
+
const telemetryReporter = param.ctx.telemetryReporter;
|
|
130
|
+
const ui = param.ctx.userInteraction;
|
|
131
|
+
const graphTokenProvider = param.tokenProvider.graphTokenProvider;
|
|
132
|
+
const logProvider = param.ctx.logProvider;
|
|
133
|
+
const platform = (_c = param.inputs) === null || _c === void 0 ? void 0 : _c.platform;
|
|
134
|
+
const email = (_d = param.inputs) === null || _d === void 0 ? void 0 : _d.email;
|
|
135
|
+
return grantPermissionImpl(param, envState, envName, telemetryReporter, ui, graphTokenProvider, logProvider, platform, email);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
exports.grantPermission = grantPermission;
|
|
139
|
+
// Execute plugins' grantPermission() using legacy API
|
|
140
|
+
async function executeGrantPermissionsV1(ctx, userInfo) {
|
|
141
|
+
var _a;
|
|
142
|
+
const plugins = ResourcePluginContainer_1.getActivatedResourcePlugins((_a = ctx.projectSettings) === null || _a === void 0 ? void 0 : _a.solutionSettings);
|
|
143
|
+
const pluginsWithCtx = utils_1.getPluginAndContextArray(ctx, plugins);
|
|
144
|
+
const grantPermissionWithCtx = pluginsWithCtx.map(([plugin, context]) => {
|
|
145
|
+
return [
|
|
146
|
+
(plugin === null || plugin === void 0 ? void 0 : plugin.grantPermission)
|
|
147
|
+
? (ctx) => plugin.grantPermission.bind(plugin)(ctx, userInfo)
|
|
148
|
+
: undefined,
|
|
149
|
+
context,
|
|
150
|
+
plugin.name,
|
|
151
|
+
];
|
|
152
|
+
});
|
|
153
|
+
const results = await executor_1.executeConcurrently("", grantPermissionWithCtx);
|
|
154
|
+
const permissions = [];
|
|
155
|
+
const errors = [];
|
|
156
|
+
for (const result of results) {
|
|
157
|
+
if (result.isErr()) {
|
|
158
|
+
errors.push(result);
|
|
159
|
+
continue;
|
|
160
|
+
}
|
|
161
|
+
if (result && result.value) {
|
|
162
|
+
for (const res of result.value) {
|
|
163
|
+
permissions.push(res);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return [permissions, errors];
|
|
168
|
+
}
|
|
169
|
+
// Execute plugins' grantPermission() using v2 API
|
|
170
|
+
async function executeGrantPermissionsV2(ctx, inputs, envInfo, tokenProvider, userInfo) {
|
|
171
|
+
var _a;
|
|
172
|
+
const plugins = ResourcePluginContainer_1.getActivatedV2ResourcePlugins((_a = ctx.projectSetting) === null || _a === void 0 ? void 0 : _a.solutionSettings);
|
|
173
|
+
const thunks = plugins
|
|
174
|
+
.filter((plugin) => !!plugin.grantPermission)
|
|
175
|
+
.map((plugin) => {
|
|
176
|
+
return {
|
|
177
|
+
pluginName: `${plugin.name}`,
|
|
178
|
+
taskName: "grantPermission",
|
|
179
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
180
|
+
thunk: () => plugin.grantPermission(ctx, inputs, envInfo, tokenProvider, userInfo),
|
|
181
|
+
};
|
|
182
|
+
});
|
|
183
|
+
const result = await executor_2.executeConcurrently(thunks, ctx.logProvider);
|
|
184
|
+
let permissions;
|
|
185
|
+
let errors;
|
|
186
|
+
if (result.kind === "success") {
|
|
187
|
+
permissions = result.output.map((entry) => entry.result);
|
|
188
|
+
errors = [];
|
|
189
|
+
}
|
|
190
|
+
else if (result.kind === "partialSuccess") {
|
|
191
|
+
permissions = result.output.map((entry) => entry.result);
|
|
192
|
+
errors = [teamsfx_api_1.err(result.error)];
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
permissions = [];
|
|
196
|
+
errors = [teamsfx_api_1.err(result.error)];
|
|
197
|
+
}
|
|
198
|
+
return [permissions, errors];
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=grantPermission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grantPermission.js","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v2/grantPermission.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { FxError, Result } from "@microsoft/teamsfx-api";
|
|
2
|
+
import { ListCollaboratorResult } from "../../../../common";
|
|
3
|
+
import { CollabApiParam } from "./collaborationUtil";
|
|
4
|
+
export declare function listAllCollaborators(param: CollabApiParam): Promise<Result<Record<string, ListCollaboratorResult>, FxError>>;
|
|
5
|
+
//# sourceMappingURL=listAllCollaborators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listAllCollaborators.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v2/listAllCollaborators.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAIP,MAAM,EAMP,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAKL,sBAAsB,EAEvB,MAAM,oBAAoB,CAAC;AAY5B,OAAO,EAAE,cAAc,EAAqB,MAAM,qBAAqB,CAAC;AA2JxE,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAAE,OAAO,CAAC,CAAC,CAyClE"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listAllCollaborators = void 0;
|
|
4
|
+
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
5
|
+
const common_1 = require("../../../../common");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
const util_1 = require("../utils/util");
|
|
8
|
+
const collaborationUtil_1 = require("./collaborationUtil");
|
|
9
|
+
const __1 = require("../../../..");
|
|
10
|
+
const listCollaborator_1 = require("./listCollaborator");
|
|
11
|
+
async function listAllCollaboratorsImpl(param, projectPath, cryptoProvider, telemetryReporter, ui, graphTokenProvider, platform) {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
telemetryReporter === null || telemetryReporter === void 0 ? void 0 : telemetryReporter.sendTelemetryEvent(constants_1.SolutionTelemetryEvent.ListAllCollaboratorsStart, {
|
|
14
|
+
[constants_1.SolutionTelemetryProperty.Component]: constants_1.SolutionTelemetryComponentName,
|
|
15
|
+
});
|
|
16
|
+
const collaboratorsResult = {};
|
|
17
|
+
const envs = await __1.environmentManager.listEnvConfigs(projectPath);
|
|
18
|
+
if (envs.isErr()) {
|
|
19
|
+
return teamsfx_api_1.err(util_1.sendErrorTelemetryThenReturnError(constants_1.SolutionTelemetryEvent.ListAllCollaborators, envs.error, telemetryReporter));
|
|
20
|
+
}
|
|
21
|
+
const result = await collaborationUtil_1.CollaborationUtil.getCurrentUserInfo(graphTokenProvider);
|
|
22
|
+
if (result.isErr()) {
|
|
23
|
+
return teamsfx_api_1.err(util_1.sendErrorTelemetryThenReturnError(constants_1.SolutionTelemetryEvent.ListAllCollaborators, result.error, telemetryReporter));
|
|
24
|
+
}
|
|
25
|
+
const userInfo = result.value;
|
|
26
|
+
for (const env of envs.value) {
|
|
27
|
+
try {
|
|
28
|
+
const envInfo = await __1.environmentManager.loadEnvInfo(projectPath, cryptoProvider, env);
|
|
29
|
+
if (envInfo.isErr()) {
|
|
30
|
+
throw envInfo.error;
|
|
31
|
+
}
|
|
32
|
+
const stateResult = collaborationUtil_1.CollaborationUtil.getCurrentCollaborationState(envInfo.value.state, result.value);
|
|
33
|
+
if (stateResult.state != common_1.CollaborationState.OK) {
|
|
34
|
+
if (platform === teamsfx_api_1.Platform.CLI) {
|
|
35
|
+
ui === null || ui === void 0 ? void 0 : ui.showMessage("warn", stateResult.message, false);
|
|
36
|
+
}
|
|
37
|
+
collaboratorsResult[env] = {
|
|
38
|
+
state: stateResult.state,
|
|
39
|
+
message: stateResult.message,
|
|
40
|
+
};
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
const [results, errors] = param.apiVersion === 1
|
|
44
|
+
? await listCollaborator_1.executeListCollaboratorV1(param.ctx, userInfo)
|
|
45
|
+
: await listCollaborator_1.executeListCollaboratorV2(param.ctx, param.inputs, param.envInfo, param.tokenProvider, userInfo);
|
|
46
|
+
let errorMsg = "";
|
|
47
|
+
if (errors.length > 0) {
|
|
48
|
+
errorMsg += `Failed to list collaborator for the project.\n Error details: \n`;
|
|
49
|
+
for (const fxError of errors) {
|
|
50
|
+
errorMsg += fxError.error.message + "\n";
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (errorMsg) {
|
|
54
|
+
collaboratorsResult[env] = {
|
|
55
|
+
state: common_1.CollaborationState.ERROR,
|
|
56
|
+
error: teamsfx_api_1.err(util_1.sendErrorTelemetryThenReturnError(constants_1.SolutionTelemetryEvent.ListAllCollaborators, teamsfx_api_1.returnUserError(new Error(errorMsg), constants_1.SolutionSource, constants_1.SolutionError.FailedToListCollaborator), telemetryReporter)),
|
|
57
|
+
};
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
const teamsAppOwners = results[0].isErr() ? [] : results[0].value;
|
|
61
|
+
const aadOwners = results[1].isErr() ? [] : results[1].value;
|
|
62
|
+
const collaborators = [];
|
|
63
|
+
for (const teamsAppOwner of teamsAppOwners) {
|
|
64
|
+
const aadOwner = aadOwners.find((owner) => owner.userObjectId === teamsAppOwner.userObjectId);
|
|
65
|
+
collaborators.push({
|
|
66
|
+
// For guest account, aadOwner.userPrincipalName will be user's email, and is easy to read.
|
|
67
|
+
userPrincipalName: (_b = (_a = aadOwner === null || aadOwner === void 0 ? void 0 : aadOwner.userPrincipalName) !== null && _a !== void 0 ? _a : teamsAppOwner.userPrincipalName) !== null && _b !== void 0 ? _b : teamsAppOwner.userObjectId,
|
|
68
|
+
userObjectId: teamsAppOwner.userObjectId,
|
|
69
|
+
isAadOwner: aadOwner ? true : false,
|
|
70
|
+
aadResourceId: aadOwner ? aadOwner.resourceId : undefined,
|
|
71
|
+
teamsAppResourceId: teamsAppOwner.resourceId,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
const aadOwnerCount = collaborators.filter((collaborator) => collaborator.aadResourceId && collaborator.isAadOwner).length;
|
|
75
|
+
telemetryReporter === null || telemetryReporter === void 0 ? void 0 : telemetryReporter.sendTelemetryEvent(constants_1.SolutionTelemetryEvent.ListAllCollaborators, {
|
|
76
|
+
[constants_1.SolutionTelemetryProperty.Component]: constants_1.SolutionTelemetryComponentName,
|
|
77
|
+
[constants_1.SolutionTelemetryProperty.Success]: constants_1.SolutionTelemetrySuccess.Yes,
|
|
78
|
+
[constants_1.SolutionTelemetryProperty.CollaboratorCount]: collaborators.length.toString(),
|
|
79
|
+
[constants_1.SolutionTelemetryProperty.AadOwnerCount]: aadOwnerCount.toString(),
|
|
80
|
+
[constants_1.SolutionTelemetryProperty.Env]: common_1.getHashedEnv(env),
|
|
81
|
+
});
|
|
82
|
+
collaboratorsResult[env] = {
|
|
83
|
+
collaborators: collaborators,
|
|
84
|
+
state: common_1.CollaborationState.OK,
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
collaboratorsResult[env] = {
|
|
89
|
+
state: common_1.CollaborationState.ERROR,
|
|
90
|
+
error: teamsfx_api_1.err(util_1.sendErrorTelemetryThenReturnError(constants_1.SolutionTelemetryEvent.ListAllCollaborators, teamsfx_api_1.returnUserError(error, constants_1.SolutionSource, constants_1.SolutionError.FailedToListCollaborator), telemetryReporter)),
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return teamsfx_api_1.ok(collaboratorsResult);
|
|
95
|
+
}
|
|
96
|
+
async function listAllCollaborators(param) {
|
|
97
|
+
var _a, _b;
|
|
98
|
+
if (param.apiVersion === 1) {
|
|
99
|
+
const telemetryReporter = param.ctx.telemetryReporter;
|
|
100
|
+
const ui = param.ctx.ui;
|
|
101
|
+
const graphTokenProvider = param.ctx.graphTokenProvider;
|
|
102
|
+
const platform = (_a = param.ctx.answers) === null || _a === void 0 ? void 0 : _a.platform;
|
|
103
|
+
const projectPath = param.ctx.root;
|
|
104
|
+
if (!projectPath) {
|
|
105
|
+
return teamsfx_api_1.err(teamsfx_api_1.returnSystemError(new Error(`projectPath is undefined`), constants_1.PluginNames.SOLUTION, constants_1.SolutionError.InternelError));
|
|
106
|
+
}
|
|
107
|
+
return listAllCollaboratorsImpl(param, projectPath, param.ctx.cryptoProvider, telemetryReporter, ui, graphTokenProvider, platform);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
const telemetryReporter = param.ctx.telemetryReporter;
|
|
111
|
+
const ui = param.ctx.userInteraction;
|
|
112
|
+
const graphTokenProvider = param.tokenProvider.graphTokenProvider;
|
|
113
|
+
const platform = (_b = param.inputs) === null || _b === void 0 ? void 0 : _b.platform;
|
|
114
|
+
return listAllCollaboratorsImpl(param, param.inputs.projectPath, param.ctx.cryptoProvider, telemetryReporter, ui, graphTokenProvider, platform);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.listAllCollaborators = listAllCollaborators;
|
|
118
|
+
//# sourceMappingURL=listAllCollaborators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listAllCollaborators.js","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v2/listAllCollaborators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FxError, Result, SolutionContext, v2, Err, TokenProvider } from "@microsoft/teamsfx-api";
|
|
2
|
+
import { ListCollaboratorResult } from "../../../../common";
|
|
3
|
+
import { IUserList } from "../../../resource/appstudio/interfaces/IAppDefinition";
|
|
4
|
+
import { CollabApiParam } from "./collaborationUtil";
|
|
5
|
+
export declare function executeListCollaboratorV2(ctx: v2.Context, inputs: v2.InputsWithProjectPath, envInfo: v2.DeepReadonly<v2.EnvInfoV2>, tokenProvider: TokenProvider, userInfo: IUserList): Promise<[Result<any, FxError>[], Err<any, FxError>[]]>;
|
|
6
|
+
export declare function executeListCollaboratorV1(ctx: SolutionContext, userInfo: IUserList): Promise<[Result<any, FxError>[], Err<any, FxError>[]]>;
|
|
7
|
+
export declare function listCollaborator(param: CollabApiParam): Promise<Result<ListCollaboratorResult, FxError>>;
|
|
8
|
+
//# sourceMappingURL=listCollaborator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listCollaborator.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v2/listCollaborator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAKP,MAAM,EAGN,eAAe,EACf,EAAE,EAEF,GAAG,EACH,aAAa,EAOd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAKL,sBAAsB,EAEvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,uDAAuD,CAAC;AAelF,OAAO,EAAE,cAAc,EAAqB,MAAM,qBAAqB,CAAC;AAMxE,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,EAAE,CAAC,qBAAqB,EAChC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EACtC,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,SAAS,GAClB,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CA0BxD;AAED,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,eAAe,EACpB,QAAQ,EAAE,SAAS,GAClB,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CA4BxD;AA0KD,wBAAsB,gBAAgB,CACpC,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,MAAM,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC,CAgDlD"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listCollaborator = exports.executeListCollaboratorV1 = exports.executeListCollaboratorV2 = void 0;
|
|
4
|
+
const teamsfx_api_1 = require("@microsoft/teamsfx-api");
|
|
5
|
+
const common_1 = require("../../../../common");
|
|
6
|
+
const constants_1 = require("../constants");
|
|
7
|
+
const util_1 = require("../utils/util");
|
|
8
|
+
const executor_1 = require("../executor");
|
|
9
|
+
const ResourcePluginContainer_1 = require("../ResourcePluginContainer");
|
|
10
|
+
const executor_2 = require("./executor");
|
|
11
|
+
const collaborationUtil_1 = require("./collaborationUtil");
|
|
12
|
+
const utils_1 = require("./utils");
|
|
13
|
+
const typedi_1 = require("typedi");
|
|
14
|
+
const utils4v2_1 = require("../../../resource/utils4v2");
|
|
15
|
+
const __1 = require("..");
|
|
16
|
+
async function executeListCollaboratorV2(ctx, inputs, envInfo, tokenProvider, userInfo) {
|
|
17
|
+
const plugins = [
|
|
18
|
+
typedi_1.Container.get(ResourcePluginContainer_1.ResourcePluginsV2.AppStudioPlugin),
|
|
19
|
+
typedi_1.Container.get(ResourcePluginContainer_1.ResourcePluginsV2.AadPlugin),
|
|
20
|
+
];
|
|
21
|
+
const thunks = plugins
|
|
22
|
+
.filter((plugin) => !!plugin.listCollaborator)
|
|
23
|
+
.map((plugin) => {
|
|
24
|
+
return {
|
|
25
|
+
pluginName: `${plugin.name}`,
|
|
26
|
+
taskName: "listCollaborator",
|
|
27
|
+
thunk: () =>
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
29
|
+
plugin.listCollaborator(ctx, inputs, envInfo, tokenProvider, userInfo),
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
const results = await executor_2.executeThunks(thunks, ctx.logProvider);
|
|
33
|
+
const errors = [];
|
|
34
|
+
for (const r of results) {
|
|
35
|
+
if (r.isErr()) {
|
|
36
|
+
errors.push(r);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return [results, errors];
|
|
40
|
+
}
|
|
41
|
+
exports.executeListCollaboratorV2 = executeListCollaboratorV2;
|
|
42
|
+
async function executeListCollaboratorV1(ctx, userInfo) {
|
|
43
|
+
const pluginsWithCtx = utils_1.getPluginAndContextArray(ctx, [
|
|
44
|
+
typedi_1.Container.get(ResourcePluginContainer_1.ResourcePlugins.AppStudioPlugin),
|
|
45
|
+
typedi_1.Container.get(ResourcePluginContainer_1.ResourcePlugins.AadPlugin),
|
|
46
|
+
]);
|
|
47
|
+
const listCollaboratorWithCtx = pluginsWithCtx.map(([plugin, context]) => {
|
|
48
|
+
return [
|
|
49
|
+
(plugin === null || plugin === void 0 ? void 0 : plugin.listCollaborator)
|
|
50
|
+
? (ctx) => plugin.listCollaborator.bind(plugin)(ctx, userInfo)
|
|
51
|
+
: undefined,
|
|
52
|
+
context,
|
|
53
|
+
plugin.name,
|
|
54
|
+
];
|
|
55
|
+
});
|
|
56
|
+
const results = await executor_1.executeConcurrently("", listCollaboratorWithCtx);
|
|
57
|
+
const errors = [];
|
|
58
|
+
for (const result of results) {
|
|
59
|
+
if (result.isErr()) {
|
|
60
|
+
errors.push(result);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return [results, errors];
|
|
64
|
+
}
|
|
65
|
+
exports.executeListCollaboratorV1 = executeListCollaboratorV1;
|
|
66
|
+
async function listCollaboratorImpl(param, envState, envName, telemetryReporter, ui, graphTokenProvider, logProvider, platform) {
|
|
67
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
68
|
+
telemetryReporter === null || telemetryReporter === void 0 ? void 0 : telemetryReporter.sendTelemetryEvent(constants_1.SolutionTelemetryEvent.ListCollaboratorStart, {
|
|
69
|
+
[constants_1.SolutionTelemetryProperty.Component]: constants_1.SolutionTelemetryComponentName,
|
|
70
|
+
});
|
|
71
|
+
const result = await collaborationUtil_1.CollaborationUtil.getCurrentUserInfo(graphTokenProvider);
|
|
72
|
+
if (result.isErr()) {
|
|
73
|
+
return teamsfx_api_1.err(util_1.sendErrorTelemetryThenReturnError(constants_1.SolutionTelemetryEvent.ListCollaborator, result.error, telemetryReporter));
|
|
74
|
+
}
|
|
75
|
+
const stateResult = collaborationUtil_1.CollaborationUtil.getCurrentCollaborationState(envState, result.value);
|
|
76
|
+
if (stateResult.state != common_1.CollaborationState.OK) {
|
|
77
|
+
if (platform === teamsfx_api_1.Platform.CLI) {
|
|
78
|
+
ui === null || ui === void 0 ? void 0 : ui.showMessage("warn", stateResult.message, false);
|
|
79
|
+
}
|
|
80
|
+
else if (platform === teamsfx_api_1.Platform.VSCode) {
|
|
81
|
+
logProvider === null || logProvider === void 0 ? void 0 : logProvider.warning(stateResult.message);
|
|
82
|
+
}
|
|
83
|
+
return teamsfx_api_1.ok({
|
|
84
|
+
state: stateResult.state,
|
|
85
|
+
message: stateResult.message,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
const userInfo = result.value;
|
|
89
|
+
if (!envName) {
|
|
90
|
+
return teamsfx_api_1.err(util_1.sendErrorTelemetryThenReturnError(constants_1.SolutionTelemetryEvent.ListCollaborator, teamsfx_api_1.returnSystemError(new Error("Failed to get env name."), constants_1.SolutionSource, constants_1.SolutionError.FailedToGetEnvName), telemetryReporter));
|
|
91
|
+
}
|
|
92
|
+
const [results, errors] = param.apiVersion === 1
|
|
93
|
+
? await executeListCollaboratorV1(param.ctx, userInfo)
|
|
94
|
+
: await executeListCollaboratorV2(param.ctx, param.inputs, param.envInfo, param.tokenProvider, userInfo);
|
|
95
|
+
let errorMsg = "";
|
|
96
|
+
if (errors.length > 0) {
|
|
97
|
+
errorMsg += `Failed to list collaborator for the project.\n Error details: \n`;
|
|
98
|
+
for (const fxError of errors) {
|
|
99
|
+
errorMsg += fxError.error.message + "\n";
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (errorMsg) {
|
|
103
|
+
return teamsfx_api_1.err(util_1.sendErrorTelemetryThenReturnError(constants_1.SolutionTelemetryEvent.ListCollaborator, teamsfx_api_1.returnUserError(new Error(errorMsg), constants_1.SolutionSource, constants_1.SolutionError.FailedToListCollaborator), telemetryReporter));
|
|
104
|
+
}
|
|
105
|
+
const teamsAppOwners = results[0].isErr() ? [] : results[0].value;
|
|
106
|
+
const aadOwners = results[1].isErr() ? [] : results[1].value;
|
|
107
|
+
const collaborators = [];
|
|
108
|
+
const teamsAppId = (_b = (_a = teamsAppOwners[0]) === null || _a === void 0 ? void 0 : _a.resourceId) !== null && _b !== void 0 ? _b : "";
|
|
109
|
+
const aadAppId = (_d = (_c = aadOwners[0]) === null || _c === void 0 ? void 0 : _c.resourceId) !== null && _d !== void 0 ? _d : "";
|
|
110
|
+
const aadAppTenantId = (_e = envState.get(constants_1.PluginNames.SOLUTION)) === null || _e === void 0 ? void 0 : _e.get(__1.REMOTE_TEAMS_APP_TENANT_ID);
|
|
111
|
+
for (const teamsAppOwner of teamsAppOwners) {
|
|
112
|
+
const aadOwner = aadOwners.find((owner) => owner.userObjectId === teamsAppOwner.userObjectId);
|
|
113
|
+
collaborators.push({
|
|
114
|
+
// For guest account, aadOwner.userPrincipalName will be user's email, and is easy to read.
|
|
115
|
+
userPrincipalName: (_g = (_f = aadOwner === null || aadOwner === void 0 ? void 0 : aadOwner.userPrincipalName) !== null && _f !== void 0 ? _f : teamsAppOwner.userPrincipalName) !== null && _g !== void 0 ? _g : teamsAppOwner.userObjectId,
|
|
116
|
+
userObjectId: teamsAppOwner.userObjectId,
|
|
117
|
+
isAadOwner: aadOwner ? true : false,
|
|
118
|
+
aadResourceId: aadOwner ? aadOwner.resourceId : undefined,
|
|
119
|
+
teamsAppResourceId: teamsAppOwner.resourceId,
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
if (platform === teamsfx_api_1.Platform.CLI || platform === teamsfx_api_1.Platform.VSCode) {
|
|
123
|
+
const message = [
|
|
124
|
+
{ content: `Listing M365 permissions\n`, color: teamsfx_api_1.Colors.BRIGHT_WHITE },
|
|
125
|
+
{ content: `Account used to check: `, color: teamsfx_api_1.Colors.BRIGHT_WHITE },
|
|
126
|
+
{ content: userInfo.userPrincipalName + "\n", color: teamsfx_api_1.Colors.BRIGHT_MAGENTA },
|
|
127
|
+
{
|
|
128
|
+
content: `Starting list all teams app owners for environment: `,
|
|
129
|
+
color: teamsfx_api_1.Colors.BRIGHT_WHITE,
|
|
130
|
+
},
|
|
131
|
+
{ content: `${envName}\n`, color: teamsfx_api_1.Colors.BRIGHT_MAGENTA },
|
|
132
|
+
{ content: `Tenant ID: `, color: teamsfx_api_1.Colors.BRIGHT_WHITE },
|
|
133
|
+
{ content: aadAppTenantId + "\n", color: teamsfx_api_1.Colors.BRIGHT_MAGENTA },
|
|
134
|
+
{ content: `M365 Teams App (ID: `, color: teamsfx_api_1.Colors.BRIGHT_WHITE },
|
|
135
|
+
{ content: teamsAppId, color: teamsfx_api_1.Colors.BRIGHT_MAGENTA },
|
|
136
|
+
{ content: `), SSO AAD App (ID: `, color: teamsfx_api_1.Colors.BRIGHT_WHITE },
|
|
137
|
+
{ content: aadAppId, color: teamsfx_api_1.Colors.BRIGHT_MAGENTA },
|
|
138
|
+
{ content: `)\n`, color: teamsfx_api_1.Colors.BRIGHT_WHITE },
|
|
139
|
+
];
|
|
140
|
+
for (const collaborator of collaborators) {
|
|
141
|
+
message.push({ content: `Teams App Owner: `, color: teamsfx_api_1.Colors.BRIGHT_WHITE }, { content: collaborator.userPrincipalName, color: teamsfx_api_1.Colors.BRIGHT_MAGENTA }, { content: `. `, color: teamsfx_api_1.Colors.BRIGHT_WHITE });
|
|
142
|
+
if (!collaborator.isAadOwner) {
|
|
143
|
+
message.push({ content: `(Not owner of SSO AAD app)`, color: teamsfx_api_1.Colors.BRIGHT_YELLOW });
|
|
144
|
+
}
|
|
145
|
+
message.push({ content: "\n", color: teamsfx_api_1.Colors.BRIGHT_WHITE });
|
|
146
|
+
}
|
|
147
|
+
if (platform === teamsfx_api_1.Platform.CLI) {
|
|
148
|
+
ui === null || ui === void 0 ? void 0 : ui.showMessage("info", message, false);
|
|
149
|
+
}
|
|
150
|
+
else if (platform === teamsfx_api_1.Platform.VSCode) {
|
|
151
|
+
logProvider === null || logProvider === void 0 ? void 0 : logProvider.info(message);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
const aadOwnerCount = collaborators.filter((collaborator) => collaborator.aadResourceId && collaborator.isAadOwner).length;
|
|
155
|
+
telemetryReporter === null || telemetryReporter === void 0 ? void 0 : telemetryReporter.sendTelemetryEvent(constants_1.SolutionTelemetryEvent.ListCollaborator, {
|
|
156
|
+
[constants_1.SolutionTelemetryProperty.Component]: constants_1.SolutionTelemetryComponentName,
|
|
157
|
+
[constants_1.SolutionTelemetryProperty.Success]: constants_1.SolutionTelemetrySuccess.Yes,
|
|
158
|
+
[constants_1.SolutionTelemetryProperty.CollaboratorCount]: collaborators.length.toString(),
|
|
159
|
+
[constants_1.SolutionTelemetryProperty.AadOwnerCount]: aadOwnerCount.toString(),
|
|
160
|
+
[constants_1.SolutionTelemetryProperty.Env]: common_1.getHashedEnv(envName),
|
|
161
|
+
});
|
|
162
|
+
return teamsfx_api_1.ok({
|
|
163
|
+
collaborators: collaborators,
|
|
164
|
+
state: common_1.CollaborationState.OK,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
async function listCollaborator(param) {
|
|
168
|
+
var _a, _b;
|
|
169
|
+
if (param.apiVersion === 1) {
|
|
170
|
+
const envState = param.ctx.envInfo.state;
|
|
171
|
+
const envName = param.ctx.envInfo.envName;
|
|
172
|
+
const telemetryReporter = param.ctx.telemetryReporter;
|
|
173
|
+
const ui = param.ctx.ui;
|
|
174
|
+
const graphTokenProvider = param.ctx.graphTokenProvider;
|
|
175
|
+
const logProvider = param.ctx.logProvider;
|
|
176
|
+
const platform = (_a = param.ctx.answers) === null || _a === void 0 ? void 0 : _a.platform;
|
|
177
|
+
return listCollaboratorImpl(param, envState, envName, telemetryReporter, ui, graphTokenProvider, logProvider, platform);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
const configMap = teamsfx_api_1.ConfigMap.fromJSON(param.envInfo.state);
|
|
181
|
+
if (!configMap) {
|
|
182
|
+
return teamsfx_api_1.err(teamsfx_api_1.returnSystemError(new Error(`failed to convert profile ${JSON.stringify(param.envInfo.state)}`), constants_1.PluginNames.SOLUTION, constants_1.SolutionError.InternelError));
|
|
183
|
+
}
|
|
184
|
+
const envState = utils4v2_1.flattenConfigMap(configMap);
|
|
185
|
+
const envName = param.envInfo.envName;
|
|
186
|
+
const telemetryReporter = param.ctx.telemetryReporter;
|
|
187
|
+
const ui = param.ctx.userInteraction;
|
|
188
|
+
const graphTokenProvider = param.tokenProvider.graphTokenProvider;
|
|
189
|
+
const logProvider = param.ctx.logProvider;
|
|
190
|
+
const platform = (_b = param.inputs) === null || _b === void 0 ? void 0 : _b.platform;
|
|
191
|
+
return listCollaboratorImpl(param, envState, envName, telemetryReporter, ui, graphTokenProvider, logProvider, platform);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
exports.listCollaborator = listCollaborator;
|
|
195
|
+
//# sourceMappingURL=listCollaborator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listCollaborator.js","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v2/listCollaborator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v2/provision.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,EAAE,EACF,MAAM,EACN,OAAO,EACP,MAAM,EAIN,aAAa,EACb,IAAI,EACJ,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AAmChC,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EACtC,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"provision.d.ts","sourceRoot":"","sources":["../../../../../src/plugins/solution/fx-solution/v2/provision.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,EAAE,EACF,MAAM,EACN,OAAO,EACP,MAAM,EAIN,aAAa,EACb,IAAI,EACJ,eAAe,EAEhB,MAAM,wBAAwB,CAAC;AAmChC,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,EAAE,CAAC,OAAO,EACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EACtC,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC,CA+M3D;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CA8CjG"}
|