@cparra/apexdocs 2.13.0-alpha.0 → 2.13.0-alpha.1
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/lib/model/openapi/open-api-types.d.ts +1 -0
- package/lib/transpiler/openapi/open-api-docs-processor.js +7 -6
- package/lib/transpiler/openapi/open-api-docs-processor.js.map +1 -1
- package/lib/transpiler/openapi/parsers/MethodParser.d.ts +1 -1
- package/lib/transpiler/openapi/parsers/MethodParser.js +2 -1
- package/lib/transpiler/openapi/parsers/MethodParser.js.map +1 -1
- package/package.json +1 -1
- package/src/model/openapi/open-api-types.ts +1 -0
- package/src/transpiler/openapi/open-api-docs-processor.ts +7 -6
- package/src/transpiler/openapi/parsers/MethodParser.ts +2 -1
|
@@ -38,21 +38,22 @@ class OpenApiDocsProcessor extends processor_type_transpiler_1.default {
|
|
|
38
38
|
// We can safely cast to a ClassMirror, since only these support the @RestResource annotation
|
|
39
39
|
const typeAsClass = type;
|
|
40
40
|
// Add tags for this Apex class to the OpenApi model
|
|
41
|
+
const tagName = endpointPath.replaceAll('/', '');
|
|
41
42
|
this.openApiModel.tags.push({
|
|
42
|
-
name:
|
|
43
|
+
name: tagName,
|
|
43
44
|
description: (_b = type.docComment) === null || _b === void 0 ? void 0 : _b.description,
|
|
44
45
|
});
|
|
45
46
|
const parser = new MethodParser_1.MethodParser(this.openApiModel);
|
|
46
47
|
// GET
|
|
47
|
-
parser.parseMethod(typeAsClass, endpointPath, 'get');
|
|
48
|
+
parser.parseMethod(typeAsClass, endpointPath, 'get', tagName);
|
|
48
49
|
// PATCH
|
|
49
|
-
parser.parseMethod(typeAsClass, endpointPath, 'patch');
|
|
50
|
+
parser.parseMethod(typeAsClass, endpointPath, 'patch', tagName);
|
|
50
51
|
// POST
|
|
51
|
-
parser.parseMethod(typeAsClass, endpointPath, 'post');
|
|
52
|
+
parser.parseMethod(typeAsClass, endpointPath, 'post', tagName);
|
|
52
53
|
// PUT
|
|
53
|
-
parser.parseMethod(typeAsClass, endpointPath, 'put');
|
|
54
|
+
parser.parseMethod(typeAsClass, endpointPath, 'put', tagName);
|
|
54
55
|
// DELETE
|
|
55
|
-
parser.parseMethod(typeAsClass, endpointPath, 'delete');
|
|
56
|
+
parser.parseMethod(typeAsClass, endpointPath, 'delete', tagName);
|
|
56
57
|
}
|
|
57
58
|
getEndpointPath(type) {
|
|
58
59
|
var _a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-api-docs-processor.js","sourceRoot":"","sources":["../../../src/transpiler/openapi/open-api-docs-processor.ts"],"names":[],"mappings":";;;AAAA,4EAAmE;AACnE,sDAAkD;AAElD,6EAAwE;AACxE,8CAA2C;AAC3C,2DAAuD;AACvD,6CAA0C;AAC1C,yDAAsD;AAEtD,MAAa,oBAAqB,SAAQ,mCAAuB;IAI/D;QACE,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"open-api-docs-processor.js","sourceRoot":"","sources":["../../../src/transpiler/openapi/open-api-docs-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ type HttpOperations = 'get' | 'put' | 'post' | 'delete' | 'patch';
|
|
|
7
7
|
export declare class MethodParser {
|
|
8
8
|
openApiModel: OpenApi;
|
|
9
9
|
constructor(openApiModel: OpenApi);
|
|
10
|
-
parseMethod(classMirror: ClassMirror, httpUrlEndpoint: string, httpMethodKey: HttpOperations): void;
|
|
10
|
+
parseMethod(classMirror: ClassMirror, httpUrlEndpoint: string, httpMethodKey: HttpOperations, tag: string): void;
|
|
11
11
|
private parseHttpAnnotation;
|
|
12
12
|
private addToOpenApiStrategy;
|
|
13
13
|
private addRequestBodyToOpenApi;
|
|
@@ -14,7 +14,7 @@ class MethodParser {
|
|
|
14
14
|
constructor(openApiModel) {
|
|
15
15
|
this.openApiModel = openApiModel;
|
|
16
16
|
}
|
|
17
|
-
parseMethod(classMirror, httpUrlEndpoint, httpMethodKey) {
|
|
17
|
+
parseMethod(classMirror, httpUrlEndpoint, httpMethodKey, tag) {
|
|
18
18
|
var _a;
|
|
19
19
|
const classMirrorWrapper = new ClassMirrorWrapper_1.ClassMirrorWrapper(classMirror);
|
|
20
20
|
// Apex supports HttpGet, HttpPut, HttpPost, HttpDelete, and HttpPatch, so we search for a method
|
|
@@ -28,6 +28,7 @@ class MethodParser {
|
|
|
28
28
|
this.openApiModel.paths[httpUrlEndpoint][httpMethodKey] = {};
|
|
29
29
|
if ((_a = httpMethod.docComment) === null || _a === void 0 ? void 0 : _a.description) {
|
|
30
30
|
this.openApiModel.paths[httpUrlEndpoint][httpMethodKey].description = httpMethod.docComment.description;
|
|
31
|
+
this.openApiModel.paths[httpUrlEndpoint][httpMethodKey].tags = [tag];
|
|
31
32
|
}
|
|
32
33
|
this.parseHttpAnnotation(httpMethod, httpUrlEndpoint, httpMethodKey, 'http-request-body', this.addRequestBodyToOpenApi.bind(this), this.fallbackHttpRequestBodyParser(httpUrlEndpoint, httpMethodKey));
|
|
33
34
|
this.parseHttpAnnotation(httpMethod, httpUrlEndpoint, httpMethodKey, 'http-parameter', this.addParametersToOpenApi.bind(this));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MethodParser.js","sourceRoot":"","sources":["../../../../src/transpiler/openapi/parsers/MethodParser.ts"],"names":[],"mappings":";;;AAEA,gCAAgC;AAChC,6FAA0F;AAC1F,yDAAiE;AACjE,qEAAkE;AAClE,yDAAsD;AAMtD,6DAA0D;AAS1D;;GAEG;AACH,MAAa,YAAY;IACvB,YAAmB,YAAqB;QAArB,iBAAY,GAAZ,YAAY,CAAS;IAAG,CAAC;IAErC,WAAW,CAAC,WAAwB,EAAE,eAAuB,EAAE,aAA6B;;
|
|
1
|
+
{"version":3,"file":"MethodParser.js","sourceRoot":"","sources":["../../../../src/transpiler/openapi/parsers/MethodParser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -42,27 +42,28 @@ export class OpenApiDocsProcessor extends ProcessorTypeTranspiler {
|
|
|
42
42
|
const typeAsClass = type as ClassMirror;
|
|
43
43
|
|
|
44
44
|
// Add tags for this Apex class to the OpenApi model
|
|
45
|
+
const tagName = endpointPath.replaceAll('/', '');
|
|
45
46
|
this.openApiModel.tags.push({
|
|
46
|
-
name:
|
|
47
|
+
name: tagName,
|
|
47
48
|
description: type.docComment?.description,
|
|
48
49
|
});
|
|
49
50
|
|
|
50
51
|
const parser = new MethodParser(this.openApiModel);
|
|
51
52
|
|
|
52
53
|
// GET
|
|
53
|
-
parser.parseMethod(typeAsClass, endpointPath, 'get');
|
|
54
|
+
parser.parseMethod(typeAsClass, endpointPath, 'get', tagName);
|
|
54
55
|
|
|
55
56
|
// PATCH
|
|
56
|
-
parser.parseMethod(typeAsClass, endpointPath, 'patch');
|
|
57
|
+
parser.parseMethod(typeAsClass, endpointPath, 'patch', tagName);
|
|
57
58
|
|
|
58
59
|
// POST
|
|
59
|
-
parser.parseMethod(typeAsClass, endpointPath, 'post');
|
|
60
|
+
parser.parseMethod(typeAsClass, endpointPath, 'post', tagName);
|
|
60
61
|
|
|
61
62
|
// PUT
|
|
62
|
-
parser.parseMethod(typeAsClass, endpointPath, 'put');
|
|
63
|
+
parser.parseMethod(typeAsClass, endpointPath, 'put', tagName);
|
|
63
64
|
|
|
64
65
|
// DELETE
|
|
65
|
-
parser.parseMethod(typeAsClass, endpointPath, 'delete');
|
|
66
|
+
parser.parseMethod(typeAsClass, endpointPath, 'delete', tagName);
|
|
66
67
|
}
|
|
67
68
|
|
|
68
69
|
onAfterProcess: ((types: Type[]) => void) | undefined = () => {
|
|
@@ -25,7 +25,7 @@ type HttpOperations = 'get' | 'put' | 'post' | 'delete' | 'patch';
|
|
|
25
25
|
export class MethodParser {
|
|
26
26
|
constructor(public openApiModel: OpenApi) {}
|
|
27
27
|
|
|
28
|
-
public parseMethod(classMirror: ClassMirror, httpUrlEndpoint: string, httpMethodKey: HttpOperations) {
|
|
28
|
+
public parseMethod(classMirror: ClassMirror, httpUrlEndpoint: string, httpMethodKey: HttpOperations, tag: string) {
|
|
29
29
|
const classMirrorWrapper = new ClassMirrorWrapper(classMirror);
|
|
30
30
|
// Apex supports HttpGet, HttpPut, HttpPost, HttpDelete, and HttpPatch, so we search for a method
|
|
31
31
|
// that has one of those annotations.
|
|
@@ -40,6 +40,7 @@ export class MethodParser {
|
|
|
40
40
|
this.openApiModel.paths[httpUrlEndpoint][httpMethodKey] = {};
|
|
41
41
|
if (httpMethod.docComment?.description) {
|
|
42
42
|
this.openApiModel.paths[httpUrlEndpoint][httpMethodKey]!.description = httpMethod.docComment.description;
|
|
43
|
+
this.openApiModel.paths[httpUrlEndpoint][httpMethodKey]!.tags = [tag];
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
this.parseHttpAnnotation<ApexDocHttpRequestBody>(
|