Skip to content

Commit 16130c4

Browse files
Addressing Jason's comment
1 parent 2bec589 commit 16130c4

6 files changed

Lines changed: 15 additions & 117 deletions

File tree

src/swagger-generation/src/config.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@ export interface EntityTypeConfig {
6161
ResourceKey?: ResourceKeyConfig
6262
OrchestrationProperties?: OrchestrationPropertiesConfig
6363
IsSingleton?: boolean,
64-
PathSegmentName?: string,
65-
IsInternal?: boolean
64+
PathSegmentName?: string
6665
}
6766

6867
export class Config {

src/swagger-generation/src/metadataWriter.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,6 @@ export const writeMetadata = (definitionMap: DefinitionMap, config: Config): Met
2828
config.EntityTypes.forEach((entityTypeConfig: EntityTypeConfig, id: string) => {
2929
const rootUri = entityTypeConfig.RootUri;
3030

31-
// Skip internal entities
32-
if (entityTypeConfig.IsInternal) {
33-
console.log("Skipping internal entity " + id);
34-
return;
35-
}
36-
3731
if (rootUri) {
3832
console.log("Writing metadata for " + id);
3933

src/swagger-generation/src/swaggerWriter.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,11 +94,6 @@ export const writeSwagger = (definitionMap: DefinitionMap, config: Config): Swag
9494
return;
9595
}
9696

97-
// Skip internal entities
98-
if (entityTypeConfig.IsInternal) {
99-
return;
100-
}
101-
10297
const entityName: string = definitionMap.EntityMap.get(id)!.Name
10398
const entitySegments: string[] = entityTypeConfig.RootUri.split("/").slice(-2)
10499
const operationType: string = entityTypeConfig.IsReadonlyResource ? "get" : "put";

src/swagger-generation/tests/metadataWriter.test.ts

Lines changed: 13 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -355,19 +355,19 @@ describe("writeMetadata", () => {
355355
const entityTypes: Map<string, EntityTypeConfig> = new Map<string, EntityTypeConfig>();
356356

357357
definitionMap.EntityMap.set(
358-
"microsoft.graph.domainRegistration",
359-
new EntityType("domainRegistration", undefined, false, undefined, false, false, [], [])
358+
"microsoft.graph.testSingletonEntity",
359+
new EntityType("testSingletonEntity", undefined, false, undefined, false, false, [], [])
360360
);
361361

362-
entityTypes.set("microsoft.graph.domainRegistration", {
363-
Name: "microsoft.graph.domainRegistration",
362+
entityTypes.set("microsoft.graph.testSingletonEntity", {
363+
Name: "microsoft.graph.testSingletonEntity",
364364
Upsertable: true,
365-
RootUri: "/applications/domainRegistration",
365+
RootUri: "/testContainer/testSingleton",
366366
IsSingleton: true,
367-
PathSegmentName: "domainRegistration",
368-
EntitySetPath: "applications/domainRegistration",
367+
PathSegmentName: "testSingleton",
368+
EntitySetPath: "testContainer/testSingleton",
369369
ResourceKey: {
370-
Name: "name",
370+
Name: "testKey",
371371
OmitInPayload: true
372372
},
373373
NavigationProperty: [],
@@ -381,70 +381,13 @@ describe("writeMetadata", () => {
381381

382382
const metadata = writeMetadata(definitionMap, config);
383383

384-
expect(metadata["applications/domainRegistration"]).toBeDefined();
385-
expect(metadata["applications/domainRegistration"]["beta"].isSingleton).toBe(true);
386-
expect(metadata["applications/domainRegistration"]["beta"].pathSegmentName).toBe("domainRegistration");
387-
expect(metadata["applications/domainRegistration"]["beta"].resourceKey).toEqual({
388-
name: "name",
384+
expect(metadata["testContainer/testSingleton"]).toBeDefined();
385+
expect(metadata["testContainer/testSingleton"]["beta"].isSingleton).toBe(true);
386+
expect(metadata["testContainer/testSingleton"]["beta"].pathSegmentName).toBe("testSingleton");
387+
expect(metadata["testContainer/testSingleton"]["beta"].resourceKey).toEqual({
388+
name: "testKey",
389389
omitInPayload: true
390390
});
391391
});
392-
393-
it("should skip internal entities when IsInternal is true", () => {
394-
const definitionMap: DefinitionMap = new DefinitionMap();
395-
const entityTypes: Map<string, EntityTypeConfig> = new Map<string, EntityTypeConfig>();
396-
397-
definitionMap.EntityMap.set(
398-
"microsoft.graph.internalEntity",
399-
new EntityType("internalEntity", undefined, false, undefined, false, false, [], [])
400-
);
401-
402-
entityTypes.set("microsoft.graph.internalEntity", {
403-
Name: "microsoft.graph.internalEntity",
404-
Upsertable: true,
405-
RootUri: "/internalEntities",
406-
IsInternal: true,
407-
NavigationProperty: [],
408-
} as EntityTypeConfig);
409-
410-
const config = {
411-
EntityTypes: entityTypes,
412-
MetadataFilePath: "https://example.com",
413-
APIVersion: "beta",
414-
} as Config;
415-
416-
const metadata = writeMetadata(definitionMap, config);
417-
418-
expect(metadata["internalEntities"]).toBeUndefined();
419-
});
420-
421-
it("should include internal entity in metadata when IsInternal is false", () => {
422-
const definitionMap: DefinitionMap = new DefinitionMap();
423-
const entityTypes: Map<string, EntityTypeConfig> = new Map<string, EntityTypeConfig>();
424-
425-
definitionMap.EntityMap.set(
426-
"microsoft.graph.publicEntity",
427-
new EntityType("publicEntity", undefined, false, undefined, false, false, [], [])
428-
);
429-
430-
entityTypes.set("microsoft.graph.publicEntity", {
431-
Name: "microsoft.graph.publicEntity",
432-
Upsertable: true,
433-
RootUri: "/publicEntities",
434-
IsInternal: false,
435-
NavigationProperty: [],
436-
} as EntityTypeConfig);
437-
438-
const config = {
439-
EntityTypes: entityTypes,
440-
MetadataFilePath: "https://example.com",
441-
APIVersion: "beta",
442-
} as Config;
443-
444-
const metadata = writeMetadata(definitionMap, config);
445-
446-
expect(metadata["publicEntities"]).toBeDefined();
447-
expect(metadata["publicEntities"]["beta"]).toBeDefined();
448-
});
449392
});
450393
});

src/swagger-generation/tests/swaggerWriter.test.ts

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1484,39 +1484,6 @@ describe('singleton resource support', () => {
14841484
}
14851485
});
14861486

1487-
it('should skip internal entities in swagger generation when IsInternal is true', () => {
1488-
const definitionMap: DefinitionMap = new DefinitionMap();
1489-
const entityMap: EntityMap = new Map<string, EntityType>();
1490-
1491-
const internalEntity = new EntityType('internalEntity', undefined, false, undefined, false, false, [], []);
1492-
entityMap.set('microsoft.graph.internalEntity', internalEntity);
1493-
1494-
const entityTypes: Map<string, EntityTypeConfig> = new Map<string, EntityTypeConfig>();
1495-
entityTypes.set('microsoft.graph.internalEntity', {
1496-
Name: 'microsoft.graph.internalEntity',
1497-
RootUri: '/internalEntities',
1498-
Upsertable: true,
1499-
IsInternal: true,
1500-
NavigationProperty: []
1501-
} as EntityTypeConfig);
1502-
1503-
const config = {
1504-
ExtensionVersion: "1.0.0",
1505-
EntityTypes: entityTypes,
1506-
MetadataFilePath: 'https://example.com',
1507-
APIVersion: 'beta'
1508-
} as Config;
1509-
1510-
definitionMap.EntityMap = entityMap;
1511-
definitionMap.EnumMap = new Map();
1512-
1513-
const result = writeSwagger(definitionMap, config);
1514-
1515-
// Check that no path is generated for internal entity
1516-
const internalPaths = Object.keys(result.paths).filter(path => path.includes('internalEntities'));
1517-
expect(internalPaths).toHaveLength(0);
1518-
});
1519-
15201487
it('should generate swagger for container singleton resources', () => {
15211488
const definitionMap: DefinitionMap = new DefinitionMap();
15221489
const entityMap: EntityMap = new Map<string, EntityType>();

0 commit comments

Comments
 (0)