Skip to content

Commit 5cd3a46

Browse files
Merge pull request #1392 from opencomponents/action-endpoint
add actions endpoint
2 parents c669a24 + 18f08fe commit 5cd3a46

File tree

3 files changed

+17
-2
lines changed

3 files changed

+17
-2
lines changed

src/registry/router.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,12 @@ export function create(app: Express, conf: Config, repository: Repository) {
7676
app.get(`${prefix}:componentName/:componentVersion`, routes.component);
7777
app.get(`${prefix}:componentName`, routes.component);
7878

79+
app.post(
80+
`${prefix}~actions/:action/:componentName/:componentVersion`,
81+
routes.component
82+
);
83+
app.post(`${prefix}~actions/:action/:componentName`, routes.component);
84+
7985
if (conf.routes) {
8086
for (const route of conf.routes) {
8187
app[

src/registry/routes/component.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,22 @@ export default function component(
1313
const getComponent = GetComponentHelper(conf, repository);
1414

1515
return (req: Request, res: Response): void => {
16+
let parameters = req.query as Record<string, string>;
17+
if (req.method === 'POST') {
18+
parameters = {
19+
...parameters,
20+
...(req.body as Record<string, string>)
21+
};
22+
}
23+
1624
getComponent(
1725
{
26+
action: req.params['action'],
1827
conf: res.conf,
1928
headers: req.headers,
2029
ip: req.ip!,
2130
name: req.params['componentName'],
22-
parameters: req.query as Record<string, string>,
31+
parameters,
2332
version: req.params['componentVersion']
2433
},
2534
(result) => {

src/registry/routes/helpers/get-component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ export default function getComponent(conf: Config, repository: Repository) {
277277
supportedTemplates.includes(templateType))
278278
);
279279

280-
let renderMode = 'rendered';
280+
let renderMode = options.action ? 'unrendered' : 'rendered';
281281
if (isUnrendered) {
282282
renderMode = 'unrendered';
283283
if (

0 commit comments

Comments
 (0)