Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • O openapi-generator
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,476
    • Issues 3,476
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 402
    • Merge requests 402
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenAPI Tools
  • openapi-generator
  • Issues
  • #4183
Closed
Open
Issue created Oct 19, 2019 by Administrator@rootContributor

[REQ] Support TypeScript Server generation

Created by: HiromiShikata

Is your feature request related to a problem? Please describe.

I want to make a server generator of Node using typescript with koa.js. There is a very nice useful class AbstructTypeScriptClientCodegen for clients, but not for servers.

Describe the solution you'd like

  1. Rename AbstructTypeScriptClientCodegen to AbstructTypeScriptCodegen, and remove getTag() from this
  2. Create AbstructTypeScriptClientCodegen again, add getTag() to this.
  3. Create AbstructTypeScriptServerCodegen, add getTag() to this.

Provably this is a minimal impact and maintainable solution because there are some client generators. (And we need to change TypeScriptNodeClientCodegen to extends AbstractTypeScriptServerCodegen from AbstractTypeScriptClientCodegen maybe.)

Describe alternatives you've considered

Have only AbstractTypeScriptCodegen

  • Need to add getTag() to all typescript client generators.
  • If increase method for typescript client, we need to change all typescript client generators.

Copy AbstractTypeScriptServerCodegen from AbstructTypeScriptClientCodegen.

  • Almost all functions will overlap with those of client.
    • There are many codes that dependencies TypeScript. It's pretty hard to maintain both codes, I think.

Create AbstractTypeScriptServerCodegen that extends AbstructTypeScriptClientCodegen.

  • if new medhod added to AbstractTypeScriptClientCodegen, it may occur probrem in server.
    • But difficult to notice those problems when working because the name is misleading.

Additional context

TypeScript is used by clients and servers. But other Languages also can have servers and clients. I would be happy to discuss the good balance of abstraction in this nice project.

Assignee
Assign to
Time tracking