@cparra/apexdocs 2.13.0-alpha.0 → 2.13.0-alpha.2
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/docs/restapi.json +12 -0
- 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
package/docs/restapi.json
CHANGED
|
@@ -14,6 +14,9 @@
|
|
|
14
14
|
"description": "Account related operations",
|
|
15
15
|
"get": {
|
|
16
16
|
"description": "This is a sample HTTP Get method",
|
|
17
|
+
"tags": [
|
|
18
|
+
"Account"
|
|
19
|
+
],
|
|
17
20
|
"parameters": [
|
|
18
21
|
{
|
|
19
22
|
"name": "limit",
|
|
@@ -136,6 +139,9 @@
|
|
|
136
139
|
},
|
|
137
140
|
"post": {
|
|
138
141
|
"description": "This is a sample HTTP Post method",
|
|
142
|
+
"tags": [
|
|
143
|
+
"Account"
|
|
144
|
+
],
|
|
139
145
|
"requestBody": {
|
|
140
146
|
"description": "This is an example of a request body",
|
|
141
147
|
"content": {
|
|
@@ -253,6 +259,9 @@
|
|
|
253
259
|
},
|
|
254
260
|
"delete": {
|
|
255
261
|
"description": "Sample HTTP Delete method with references to other types.",
|
|
262
|
+
"tags": [
|
|
263
|
+
"Account"
|
|
264
|
+
],
|
|
256
265
|
"parameters": [
|
|
257
266
|
{
|
|
258
267
|
"name": "limit",
|
|
@@ -322,6 +331,9 @@
|
|
|
322
331
|
"description": "Contact related operations",
|
|
323
332
|
"get": {
|
|
324
333
|
"description": "This is a sample HTTP Get method",
|
|
334
|
+
"tags": [
|
|
335
|
+
"Contact"
|
|
336
|
+
],
|
|
325
337
|
"responses": {
|
|
326
338
|
"200": {
|
|
327
339
|
"description": "Status code 200",
|
|
@@ -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
|
|
@@ -26,6 +26,7 @@ class MethodParser {
|
|
|
26
26
|
// We can assume there is at most one method per annotation, as this is an Apex rule.
|
|
27
27
|
const httpMethod = httpMethods[0];
|
|
28
28
|
this.openApiModel.paths[httpUrlEndpoint][httpMethodKey] = {};
|
|
29
|
+
this.openApiModel.paths[httpUrlEndpoint][httpMethodKey].tags = [tag];
|
|
29
30
|
if ((_a = httpMethod.docComment) === null || _a === void 0 ? void 0 : _a.description) {
|
|
30
31
|
this.openApiModel.paths[httpUrlEndpoint][httpMethodKey].description = httpMethod.docComment.description;
|
|
31
32
|
}
|
|
@@ -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.
|
|
@@ -38,6 +38,7 @@ export class MethodParser {
|
|
|
38
38
|
const httpMethod = httpMethods[0];
|
|
39
39
|
|
|
40
40
|
this.openApiModel.paths[httpUrlEndpoint][httpMethodKey] = {};
|
|
41
|
+
this.openApiModel.paths[httpUrlEndpoint][httpMethodKey]!.tags = [tag];
|
|
41
42
|
if (httpMethod.docComment?.description) {
|
|
42
43
|
this.openApiModel.paths[httpUrlEndpoint][httpMethodKey]!.description = httpMethod.docComment.description;
|
|
43
44
|
}
|