Skip to content

Commit b8ff211

Browse files
committed
feat: webapi xml generator
1 parent ab8359b commit b8ff211

File tree

3 files changed

+42
-0
lines changed

3 files changed

+42
-0
lines changed

package.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,10 @@
9797
{
9898
"command": "magento-toolbox.generateDiXmlFile",
9999
"title": "Magento Toolbox: Generate DI XML"
100+
},
101+
{
102+
"command": "magento-toolbox.generateWebapiXmlFile",
103+
"title": "Magento Toolbox: Generate Webapi XML"
100104
}
101105
],
102106
"menus": {
@@ -162,6 +166,10 @@
162166
{
163167
"command": "magento-toolbox.generateDiXmlFile",
164168
"when": "resourcePath =~ /app\\/code\\/.+\\/.+/i"
169+
},
170+
{
171+
"command": "magento-toolbox.generateWebapiXmlFile",
172+
"when": "resourcePath =~ /app\\/code\\/.+\\/.+/i"
165173
}
166174
]
167175
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import { SimpleTemplateGeneratorCommand } from './SimpleTemplateGeneratorCommand';
2+
import { TemplateWizardData } from 'wizard/SimpleTemplateWizard';
3+
import FileHeader from 'common/xml/FileHeader';
4+
5+
export default class GenerateWebapiXmlFileCommand extends SimpleTemplateGeneratorCommand {
6+
constructor() {
7+
super('magento-toolbox.generateWebapiXmlFile');
8+
}
9+
10+
getWizardTitle(): string {
11+
return 'Webapi XML File';
12+
}
13+
14+
getFileHeader(data: TemplateWizardData): string | undefined {
15+
return FileHeader.getHeader(data.module);
16+
}
17+
18+
getTemplatePath(data: TemplateWizardData): string {
19+
const [vendor, module] = data.module.split('_');
20+
21+
return `app/code/${vendor}/${module}/etc/webapi.xml`;
22+
}
23+
24+
getTemplateName(data: TemplateWizardData): string {
25+
return 'xml/blank-webapi';
26+
}
27+
}

templates/xml/blank-webapi.ejs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0"?>
2+
<% if (fileHeader) { -%>
3+
<%- fileHeader %>
4+
<% } -%>
5+
<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6+
xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Webapi:etc/webapi.xsd">
7+
</routes>

0 commit comments

Comments
 (0)