Skip to content

Incorrect path generated #66

@FranDepascuali

Description

@FranDepascuali

Describe the bug
When I generate the openapi spec, it doesn't resolve imports correctly
Check the schemas.

With this:

import SubscriptionTiers from '@kamara/backend/src/database/__tables__/public/SubscriptionTiers.js';
...
export type SubscriptionsApiSpec = Tspec.DefineApiSpec<{
  tags: ['Subscriptions'];
  paths: {
    '/subscriptions': {
      get: {
        summary: 'Get all subscription tiers';
        response: {
          200: SubscriptionTiers;
        };
        // handler: typeof SubscriptionsController.getAllSubscriptionTiers;
      };
    };
  };
}>;

Generated openapi

{
  "info": {
    "title": "Tspec API",
    "version": "0.0.1",
    "description": ""
  },
  "openapi": "3.0.3",
  "paths": {
    "/subscriptions": {
      "get": {
        "operationId": "SubscriptionsApiSpec_get_/subscriptions",
        "tags": [
          "Subscriptions"
        ],
        "summary": "Get all subscription tiers",
        "parameters": [],
        "responses": {}
      }
    }
  },
  "components": {
    "schemas": {
      "import__apps_backend_src_database___tables___public_SubscriptionTiers___assert___resolution-mode___import____.default": {
        "description": "Represents the table public.subscription_tiers",
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/import__apps_backend_src_database___tables___public_SubscriptionTiers___assert___resolution-mode___import____.SubscriptionTiersId"
          },
          "subscription_type": {
            "type": "string"
          },
          "monthly_price": {
            "type": "string"
          },
          "repository_limit": {
            "type": "number"
          },
          "monthly_credits": {
            "type": "number"
          },
          "created_at": {
            "type": "string",
            "nullable": true
          },
          "updated_at": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "required": [
          "created_at",
          "id",
          "monthly_credits",
          "monthly_price",
          "repository_limit",
          "subscription_type",
          "updated_at"
        ]
      },
      "import__apps_backend_src_database___tables___public_SubscriptionTiers___assert___resolution-mode___import____.SubscriptionTiersId": {
        "description": "Identifier type for public.subscription_tiers",
        "additionalProperties": false,
        "type": "object",
        "properties": {
          "__brand": {
            "type": "string",
            "enum": [
              "SubscriptionTiersId"
            ]
          }
        },
        "required": [
          "__brand"
        ]
      }
    }
  }
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions