Add rbac docs generators
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
package codegen
|
||||
|
||||
import (
|
||||
"github.com/cortezaproject/corteza-server/codegen/schema"
|
||||
"github.com/cortezaproject/corteza-server/app"
|
||||
)
|
||||
|
||||
#_indexPayload: {
|
||||
label: string
|
||||
resources: [...string]
|
||||
}
|
||||
|
||||
#_operationsPayload: {
|
||||
label: string
|
||||
|
||||
operations: [...{
|
||||
slug: string
|
||||
label: string
|
||||
description: string
|
||||
}]
|
||||
}
|
||||
|
||||
[...schema.#codegen] &
|
||||
[
|
||||
for cmp in app.corteza.components {
|
||||
template: "docs/rbac.index.adoc.tpl"
|
||||
output: "src/modules/generated/partials/access-control/\(cmp.handle)/index.gen.adoc"
|
||||
payload: #_indexPayload & {
|
||||
label: cmp.label
|
||||
resources: [ for res in cmp.resources { res.handle } ]
|
||||
}
|
||||
}
|
||||
] +
|
||||
[
|
||||
for cmp in app.corteza.components {
|
||||
template: "docs/rbac.$component.adoc.tpl"
|
||||
output: "src/modules/generated/partials/access-control/\(cmp.handle)/component.gen.adoc"
|
||||
payload: #_operationsPayload & {
|
||||
label: cmp.label
|
||||
|
||||
operations: [
|
||||
for op in cmp.rbac.operations {
|
||||
slug: "rbac-\(cmp.handle)-\(op.handle)"
|
||||
label: op.handle
|
||||
description: op.description
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
] +
|
||||
[
|
||||
for cmp in app.corteza.components for res in cmp.resources {
|
||||
template: "docs/rbac.$resource.adoc.tpl"
|
||||
output: "src/modules/generated/partials/access-control/\(cmp.handle)/resource.\(res.handle).gen.adoc"
|
||||
payload: #_operationsPayload & {
|
||||
label: res.handle
|
||||
|
||||
operations: [
|
||||
for op in res.rbac.operations {
|
||||
slug: "rbac-\(res.handle)-\(op.handle)"
|
||||
label: op.handle
|
||||
description: op.description
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user