@povio/openapi-codegen-cli 0.4.3 → 0.4.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@povio/openapi-codegen-cli",
3
- "version": "0.4.3",
3
+ "version": "0.4.5",
4
4
  "main": "./dist/index.js",
5
5
  "bin": {
6
6
  "openapi-codegen": "./dist/sh.js"
@@ -0,0 +1,27 @@
1
+ {{! Casl AbilityTuple import}}
2
+ {{{genImport caslAbilityTupleImport}}}
3
+ {{! Models import }}
4
+ {{#each modelsImports as | modelsImport |}}
5
+ {{{genImport modelsImport}}}
6
+ {{/each}}
7
+
8
+ {{#if includeNamespace}}
9
+ export namespace {{namespace}} {
10
+ {{/if}}
11
+ {{! Ability types }}
12
+ {{#each endpoints as | endpoint |}}
13
+ {{{genCaslAbilityType endpoint}}}
14
+
15
+ {{/each}}
16
+ {{! All abilities type }}
17
+ export type AllAbilities =
18
+ {{#each endpoints as | endpoint |}} | {{abilityTypeName endpoint}} {{/each}};
19
+
20
+ {{! Ability functions }}
21
+ {{#each endpoints as | endpoint |}}
22
+ {{{genCaslAbilityFunction endpoint}}}
23
+
24
+ {{/each}}
25
+ {{#if includeNamespace}}
26
+ }
27
+ {{/if}}
@@ -0,0 +1,12 @@
1
+ {{! Casl AbilityTuple import}}
2
+ {{{genImport caslAbilityTupleImport}}}
3
+ {{! Acl imports }}
4
+ {{#each imports as | import |}}
5
+ {{{genImport import}}}
6
+ {{/each}}
7
+ {{! AppAbilities union type }}
8
+ export type AppAbilities =
9
+ {{#if includeNamespace}}{{#each namespaces as | namespace |}} | {{namespace}}.{{../allAbilities}}{{/each}}
10
+ {{else}}{{#each tags as | tag |}} | {{tagAllAbilitiesName tag}}{{/each}}{{/if}}
11
+
12
+ export type AppAbility = PureAbility<AppAbilities>;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Use for `{{queryName endpoint}}` {{#if (isQuery endpoint)}}query{{else}}mutation{{/if}} ability. {{#if (hasAbilityConditions endpoint)}}For global ability, omit the object parameter.{{/if}}
3
+ * {{#if (hasAbilityConditions endpoint)}}
4
+ {{#each (abilityConditionsTypes endpoint) as | propertyType |}}* @param object.{{propertyType.name}} - {{propertyType.name}} from {{propertyType.info}}{{/each}}{{/if}}
5
+ * @returns An ability tuple indicating the user's ability to use `{{queryName endpoint}}` {{#if (isQuery endpoint)}}query{{else}}mutation{{/if}}.
6
+ */
7
+ export const {{abilityFunctionName endpoint}} = (
8
+ {{#if (hasAbilityConditions endpoint)}}object?: { {{#each (abilityConditionsTypes endpoint) as | propertyType |}}{{propertyType.name}}{{#unless propertyType.required}}?{{/unless}}: {{propertyType.type}}{{propertyType.zodSchemaName}}, {{/each}} } {{/if}}
9
+ ) => [
10
+ "{{ablityAction endpoint}}",
11
+ {{#if (hasAbilityConditions endpoint)}}object ? subject("{{ablitySubject endpoint}}", object) : "{{ablitySubject endpoint}}"{{else}}"{{ablitySubject endpoint}}"{{/if}}
12
+ ] as {{abilityTypeName endpoint}};
@@ -0,0 +1,5 @@
1
+ type {{abilityTypeName endpoint}} = {{abilityTupleType}}<
2
+ "{{ablityAction endpoint}}",
3
+ "{{ablitySubject endpoint}}"
4
+ {{#if (hasAbilityConditions endpoint)}}| (ForcedSubject<"{{ablitySubject endpoint}}"> & { {{#each (abilityConditionsTypes endpoint) as | propertyType |}}{{propertyType.name}}{{#unless propertyType.required}}?{{/unless}}: {{propertyType.type}}{{propertyType.zodSchemaName}}, {{/each}} }){{/if}}
5
+ >;