Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
src/app/modules/common-regobs-api/*
src/app/api/*
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

# Language files. When we download files from lokalise, they only get <LF> as line break character
src/assets/i18n/*.json text eol=lf
src/app/modules/common-regobs-api/**/*.ts text eol=lf

# Custom for Visual Studio
*.cs diff=csharp
Expand Down
18 changes: 18 additions & 0 deletions generate-models-index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//Genererer models/models.ts med eksport av alle genererte modeller
import * as fs from 'fs';
import * as path from 'path';

console.log('Starter generering av models/models.ts med eksport av alle modeller...');

const modelsDir = path.join(__dirname, 'src', 'app', 'modules', 'common-regobs-api', 'models');
const outFile = path.join(modelsDir, 'models.ts');

const files = fs
.readdirSync(modelsDir)
.filter((f) => f.endsWith('.ts') && f !== 'index.ts' && f !== 'models.ts')
.map((f) => f.replace(/\.ts$/, ''));

const content = files.map((f) => `export * from './${f}';`).join('\n') + '\n';

fs.writeFileSync(outFile, content);
console.log(outFile + ' oppdatert med', files.length, 'modeller.');
8 changes: 8 additions & 0 deletions openapi-templates/index.mustache
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{{! Denne trenger vi fordi vi har overstyrt standard mappe for modeller }}
export * from './api/api';
export * from './models/models';
export * from './variables';
export * from './configuration';
export * from './api.module';
export * from './provide-api';
export * from './param';
6 changes: 6 additions & 0 deletions openapi-templates/licenseInfo.mustache
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{{! Denne trenger vi for å ikke få med byggenummer og commit-ID i header på genererte filer }}
/**
* NOTE: This file is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
23 changes: 23 additions & 0 deletions openapi-templates/modelGeneric.mustache
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{{! Denne trenger vi for å overstyre nullable felter i API'et, slik at ikke alle nullable felter i modellene får typen | null i tillegg }}
export interface {{classname}}{{#allParents}}{{#-first}} extends {{/-first}}{{{.}}}{{^-last}}, {{/-last}}{{/allParents}} { {{>modelGenericAdditionalProperties}}
{{#vars}}
{{#description}}
/**
{{#description}}
* {{{.}}}
{{/description}}
*/
{{/description}}
{{#deprecated}}
/** @deprecated */
{{/deprecated}}
{{#isReadOnly}}
/** Readonly property */
{{/isReadOnly}}
{{name}}{{^required}}?{{/required}}: {{{datatypeWithEnum}}}{{#nullable}}{{^isPrimitiveType}} | null{{/isPrimitiveType}}{{/nullable}};
{{/vars}}
}
{{! Fjern tom namespace-blokk }}
{{#hasEnums}}
{{>modelGenericEnums}}
{{/hasEnums}}
4 changes: 4 additions & 0 deletions openapi-templates/models.mustache
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{{! Denne trenger vi for å generere en models.ts i common-regobs-api/models }}
{{#models}}
export * from './{{modelFilename}}';
{{/models}}
2 changes: 2 additions & 0 deletions openapi-templates/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Her ligger det maler for generering av klient-kode basert på Regobs-API'et.
Mer info: https://openapi-generator.tech/docs/templating/
21 changes: 21 additions & 0 deletions openapitools.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json",
"spaces": 2,
"generator-cli": {
"version": "7.17.0",
"generators": {
"regobs-client": {
"generatorName": "typescript-angular",
"inputSpec": "http://localhost:5130/swagger/v6/swagger.json",
"output": "src/app/modules/common-regobs-api",
"templateDir": "openapi-templates",
"additionalProperties": {
"fileNaming": "kebab-case",
"useSingleRequestParameter": true,
"modelPackage": "models",
"nullableReference": false
}
}
}
}
}
Loading
Loading