Skip to content

Commit

Permalink
refactor: add telemetry (#11508)
Browse files Browse the repository at this point in the history
  • Loading branch information
xzf0587 committed Apr 29, 2024
1 parent b389a0e commit 8da24c1
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 3 deletions.
7 changes: 7 additions & 0 deletions packages/fx-core/src/common/telemetry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@ export enum TelemetryProperty {
GraphPermissionRoles = "graph-permission-roles",
RscApplication = "rsc-application",
RscDelegated = "rsc-delegated",
WebApplicationId = "web-application-id",

AadManifest = "aad-manifest",

Expand Down Expand Up @@ -197,6 +198,12 @@ export enum ProjectMigratorStatus {
Cancel = "cancel",
}

export enum WebApplicationIdValue {
None = "none",
Default = "default",
Customized = "customized",
}

export enum ProjectMigratorGuideStatus {
Reload = "reload",
LearnMore = "learn-more",
Expand Down
14 changes: 13 additions & 1 deletion packages/fx-core/src/component/utils/metadataRscPermission.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import path from "path";
import fs from "fs-extra";
import { MetadataV3 } from "../../common/versionMetadata";
import { ProjectModel } from "../configManager/interface";
import { ProjectTypeProps, TelemetryProperty } from "../../common/telemetry";
import { ProjectTypeProps, TelemetryProperty, WebApplicationIdValue } from "../../common/telemetry";
import { manifestUtils } from "../driver/teamsApp/utils/ManifestUtils";
import { TeamsAppManifest } from "../../../../manifest/build/manifest";

Expand Down Expand Up @@ -42,6 +42,9 @@ class MetadataRscPermissionUtil {
if (result.isErr()) {
return;
}
const webApplicationApp = result.value.webApplicationInfo?.id;
props[TelemetryProperty.WebApplicationId] = getWebApplicationIdStatus(webApplicationApp);

const manifest = result.value;
const summary = this.summary(manifest);
if (summary) {
Expand Down Expand Up @@ -77,4 +80,13 @@ class MetadataRscPermissionUtil {
}
}

export function getWebApplicationIdStatus(id: string | undefined): string {
if (!id) {
return WebApplicationIdValue.None;
}
if (id === "${{AAD_APP_CLIENT_ID}}") {
return WebApplicationIdValue.Default;
}
return WebApplicationIdValue.Customized;
}
export const metadataRscPermissionUtil = new MetadataRscPermissionUtil();
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,15 @@ import { DriverContext } from "../../../src/component/driver/interface/commonArg
import { setTools } from "../../../src/core/globalVars";
import { MockTools } from "../../core/utils";
import { ExecutionResult as DriverResult } from "../../../src/component/driver/interface/stepDriver";
import { ProjectTypeProps, TelemetryProperty } from "../../../src/common/telemetry";
import { metadataRscPermissionUtil } from "../../../src/component/utils/metadataRscPermission";
import {
ProjectTypeProps,
TelemetryProperty,
WebApplicationIdValue,
} from "../../../src/common/telemetry";
import {
getWebApplicationIdStatus,
metadataRscPermissionUtil,
} from "../../../src/component/utils/metadataRscPermission";
import { manifestUtils } from "../../../src/component/driver/teamsApp/utils/ManifestUtils";

function mockedResolveDriverInstances(log: LogProvider): Result<DriverInstance[], FxError> {
Expand Down Expand Up @@ -198,4 +205,13 @@ describe("metadata rsc permission util", () => {
await metadataRscPermissionUtil.parseManifest(ymlPath, mockProjectModel, props);
assert(props[ProjectTypeProps.TeamsManifestVersion] === undefined);
});

it("get Web ApplicationIdStatus", async () => {
const resNone = getWebApplicationIdStatus("");
assert(resNone === WebApplicationIdValue.None);
const resDefault = getWebApplicationIdStatus("${{AAD_APP_CLIENT_ID}}");
assert(resDefault === WebApplicationIdValue.Default);
const resCustomized = getWebApplicationIdStatus("00000000-0000-0000-0000-000000000000");
assert(resCustomized === WebApplicationIdValue.Customized);
});
});

0 comments on commit 8da24c1

Please sign in to comment.