Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mssql #258

Open
wants to merge 69 commits into
base: master
Choose a base branch
from
Open

Mssql #258

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
e156668
Add splitter
peterdee Mar 13, 2019
6d12973
Add file creation
peterdee Mar 14, 2019
96e74a7
Formatter: default API responses
peterdee Mar 14, 2019
774e7c5
Default API responses
peterdee Mar 15, 2019
d4cbe15
Classes, x-AuthFieldType
peterdee Mar 18, 2019
70d1c35
Update x-AuthFieldType check in controllers, update templates
peterdee Mar 19, 2019
01bebda
Load definitions to the global scope
peterdee Mar 19, 2019
bf59213
Definitions files generation
peterdee Mar 19, 2019
71c0b15
x-AuthFieldType parameter validation fix
peterdee Mar 20, 2019
f10b02b
Bindings inside of the controllers, global availability
peterdee Mar 20, 2019
af80550
Load objects and classes to the global scope
peterdee Mar 21, 2019
a5ed911
Bind definition classes inside of the controllers
peterdee Mar 21, 2019
2f7b5d9
Fix duplicating definitions
peterdee Mar 21, 2019
05c5386
Fix x-AuthFieldType inside of the definitions classes
peterdee Mar 21, 2019
0b30b93
Default response values for controllers
peterdee Mar 22, 2019
72001af
FieldValidator fixes
peterdee Mar 22, 2019
a6775db
Remove 'require-from-string'
peterdee Mar 22, 2019
cd2262b
Fix definitions classes export to global
peterdee Mar 22, 2019
ff01b38
Fix definitions classes call inside of the controllers
peterdee Mar 22, 2019
6effc4c
Formatting
peterdee Mar 25, 2019
9482fc0
Remove class names from controllers
peterdee Mar 25, 2019
1e45537
Remove class names from controllers
peterdee Mar 25, 2019
140339c
Method template update
peterdee Mar 25, 2019
057b95c
Update templates, fix controller parameters binding
peterdee Mar 26, 2019
4b7d7d2
Fix definitions classes instantination
peterdee Mar 26, 2019
d769ab7
Fix definition binding name
peterdee Mar 26, 2019
0370a29
Fix definitions bindings: nested objects
peterdee Mar 26, 2019
5e478dc
Fix props names for definitions
peterdee Mar 26, 2019
60b67f3
Fix x-AuthFieldType check for definitions
peterdee Mar 27, 2019
f9cdc53
Fix array binding for definitions
peterdee Mar 27, 2019
e5e2aac
Definitions formatting
peterdee Mar 27, 2019
8041aa8
Definitions formatting
peterdee Mar 27, 2019
5ac8dea
Fix default API responses (arrays of objects)
peterdee Mar 27, 2019
7adbb0c
Merge pull request #1 from voicenter/feature/OFC-3
voicenter Mar 27, 2019
8f5fcd2
Fix x-AuthFieldType validation
peterdee Mar 28, 2019
80f25ad
Fix definitions nesting
peterdee Mar 29, 2019
a3c0d5a
Add options checks, update package.json, update README
peterdee Apr 1, 2019
d6706d7
Fix default directories for the generated files, update README
peterdee Apr 1, 2019
c885b75
Merge pull request #2 from voicenter/feature/OFC-3
peterdee Apr 1, 2019
d4269a4
Simple queries generation
peterdee Apr 2, 2019
92679a2
Merge pull request #3 from voicenter/feature/OFC-3
peterdee Apr 2, 2019
d7b789a
Generate all queries
peterdee Apr 2, 2019
2cfcb38
Merge pull request #4 from voicenter/feature/OFC-3
peterdee Apr 2, 2019
58b6ee0
Multi-method template update
peterdee Apr 2, 2019
7dedbba
Merge pull request #5 from voicenter/feature/OFC-3
peterdee Apr 2, 2019
75f0347
Fix typo
peterdee Apr 4, 2019
69cf41e
Merge pull request #6 from voicenter/feature/OFC-3
peterdee Apr 4, 2019
23e5089
Add dal import, use try/catch in methods
peterdee Apr 9, 2019
1891213
Merge pull request #7 from voicenter/feature/OFC-3
peterdee Apr 9, 2019
9fe725b
AMQP: successfull response
peterdee Apr 17, 2019
14f0c7e
Add error responses to the controllers
peterdee Apr 18, 2019
5d2b5b8
Node version ^
peterdee Apr 18, 2019
08c0dbf
Pass error to the response function
peterdee Apr 18, 2019
26ad4ec
Merge pull request #8 from voicenter/feature/amqp
voicenter Apr 22, 2019
d9557d3
added alias to fn querier.
TzachiSh Apr 24, 2019
4362bfc
added specialKeys
TzachiSh Jun 6, 2019
75cc42a
generate bug fix
Oct 29, 2019
0ad9f12
generate bug fix 2
Oct 29, 2019
9945584
generate bug fix 3
Nov 7, 2019
2e3e131
Add type to validate function
voicenter Jul 23, 2020
a0243a6
Update expose.js
Bohdan2000 Jul 31, 2020
cd821ee
Merge pull request #9 from Bohdan2000/patch-2
voicenter Jul 31, 2020
6c049d5
use validators list instead of one validation
dmitrysam88 Apr 8, 2021
8527cc0
Merge pull request #10 from dmitrysam88/use-validators-list
voicenter Apr 8, 2021
7c5dfdf
Update multi-method.mustache
ViktoryaSVA Jun 2, 2021
93f13cb
Update multi-method.mustache
ViktoryaSVA Jun 2, 2021
312b031
Update multi-method.mustache
ViktoryaSVA Jun 2, 2021
cc89650
Merge pull request #11 from ViktoryaSVA/patch-2
voicenter Jun 2, 2021
5b2dc6b
first push mssql
May 9, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ wks.*
*.swp

tmp-*
zz/
5 changes: 5 additions & 0 deletions .jshintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
lib/expose.js
lib/formatter.js
lib/querier.js
lib/splitter.js
zz/
5 changes: 2 additions & 3 deletions .jshintrc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"curly": true,
"eqeqeq": true,
"immed": true,
"indent": 4,
"indent": 2,
"latedef": true,
"newcap": false,
"noarg": true,
Expand All @@ -18,6 +18,5 @@
"strict": true,
"trailing": true,
"smarttabs": true,
"globals": {
}
"globals": {}
}
66 changes: 57 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,68 @@
# Swagger to JS & Typescript Codegen
[![Circle CI](https://circleci.com/gh/wcandillon/swagger-js-codegen.svg?style=svg)](https://circleci.com/gh/wcandillon/swagger-js-codegen) [![NPM version](http://img.shields.io/npm/v/swagger-js-codegen.svg?style=flat)](http://badge.fury.io/js/swagger-js-codegen)

## We are looking for a new maintainer
## Installation
```bash
npm install swagger-js-codegen
```

This project is no longer actively maintained by its creator. Please let us know if you would like to become a maintainer.
At the time we wrote this package, the swagger didn't have generators for JavaScript nor TypeScript. Now there are [great alternatives of this package available](https://github.com/swagger-api/swagger-codegen).
___

This package generates a nodejs, reactjs or angularjs class from a [swagger specification file](https://github.com/wordnik/swagger-spec). The code is generated using [mustache templates](https://github.com/wcandillon/swagger-js-codegen/tree/master/templates) and is quality checked by [jshint](https://github.com/jshint/jshint/) and beautified by [js-beautify](https://github.com/beautify-web/js-beautify).
## Multi-class generation (Node)

The typescript generator is based on [superagent](https://github.com/visionmedia/superagent) and can be used for both nodejs and the browser via browserify/webpack.
It is possible now to generate multiple controllers for Node.

## Installation
```bash
npm install swagger-js-codegen
Each controller will have a class that has several methods inside of it.

Each method represents an API, and has a default built-in response.

Definitions are generated as well.

**How it works:**

Definitions are generated before the APIs. File `expose.js` generates all of the necessary definitions and places them in the destination directory.

APIs are generated after that, based on the Mustache templates.

Module utilizes the custom Mustache templates (`multi-class` and `multi-method`).

Mustache generates a single file with a single ES5 class, that contains all of the methods.

File `splitter.js` splits the single file into several files with classes (based on tags in the original JSON). After the split is completed and methods are combined, they are saved as a controller file in the destination directory.

**Options:**

`className` **[REQUIRED]**: name of the single generated class. You can put any name.

`swagger` **[REQUIRED]**: loaded Swagger JSON file.

`multiple` **[REQUIRED]**: this option should be provided and should be set to `true` if you need a multi-class output.

`path` **[REQUIRED]**: location of the destination directories. `__dirname` is the best option, but you can provide your own destination path.

`controllersDirName` **[OPTIONAL]**: this is the name of the destination directory for **controllers**. `routes_generated` is the recommended name (it is used as default if this option was not provided).

`definitionsDirName` **[OPTIONAL]**: this is the name of the destination directory for **definitions**. `definitions_generated` is the recommended name (it is used as default if this option was not provided).

**Multi-class generation example:**

```
const { CodeGen } = require('swagger-js-codegen');
const fs = require('fs');

const file = 'swagger/swagger.json';
const spec = JSON.parse(fs.readFileSync(file, 'UTF-8'));

await CodeGen.getNodeCode({
className: 'Service',
swagger: spec,
multiple: true,
path: __dirname,
controllersDirName: 'routes_generated',
definitionsDirName: 'definitions_generated',
});
```

____
## Example
```javascript
var fs = require('fs');
Expand Down
Loading