apifox-mock-generator 1.4.5 → 2.0.0
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/CHANGELOG.md +125 -0
- package/README.md +12 -10
- package/dist/package.json +22 -4
- package/dist/src/application/use-cases/fetch-apifox-data.use-case.d.ts +19 -0
- package/dist/src/application/use-cases/fetch-apifox-data.use-case.d.ts.map +1 -0
- package/dist/src/application/use-cases/fetch-apifox-data.use-case.js +29 -0
- package/dist/src/application/use-cases/fetch-apifox-data.use-case.js.map +1 -0
- package/dist/src/application/use-cases/generate-mock.use-case.d.ts +22 -0
- package/dist/src/application/use-cases/generate-mock.use-case.d.ts.map +1 -0
- package/dist/src/application/use-cases/generate-mock.use-case.js +42 -0
- package/dist/src/application/use-cases/generate-mock.use-case.js.map +1 -0
- package/dist/src/application/use-cases/generate-types.use-case.d.ts +22 -0
- package/dist/src/application/use-cases/generate-types.use-case.d.ts.map +1 -0
- package/dist/src/application/use-cases/generate-types.use-case.js +42 -0
- package/dist/src/application/use-cases/generate-types.use-case.js.map +1 -0
- package/dist/src/application/use-cases/index.d.ts +8 -0
- package/dist/src/application/use-cases/index.d.ts.map +1 -0
- package/dist/src/application/use-cases/index.js +8 -0
- package/dist/src/application/use-cases/index.js.map +1 -0
- package/dist/src/application/use-cases/serve-mock.use-case.d.ts +26 -0
- package/dist/src/application/use-cases/serve-mock.use-case.d.ts.map +1 -0
- package/dist/src/application/use-cases/serve-mock.use-case.js +103 -0
- package/dist/src/application/use-cases/serve-mock.use-case.js.map +1 -0
- package/dist/src/core/apifox-client.d.ts +5 -1
- package/dist/src/core/apifox-client.d.ts.map +1 -1
- package/dist/src/core/apifox-client.js +8 -101
- package/dist/src/core/apifox-client.js.map +1 -1
- package/dist/src/core/config-loader.d.ts.map +1 -1
- package/dist/src/core/config-loader.js +17 -5
- package/dist/src/core/config-loader.js.map +1 -1
- package/dist/src/core/container-setup.d.ts +9 -0
- package/dist/src/core/container-setup.d.ts.map +1 -0
- package/dist/src/core/container-setup.js +64 -0
- package/dist/src/core/container-setup.js.map +1 -0
- package/dist/src/core/container.d.ts +42 -0
- package/dist/src/core/container.d.ts.map +1 -0
- package/dist/src/core/container.js +70 -0
- package/dist/src/core/container.js.map +1 -0
- package/dist/src/core/endpoint-filter.d.ts +10 -0
- package/dist/src/core/endpoint-filter.d.ts.map +1 -1
- package/dist/src/core/endpoint-filter.js +22 -95
- package/dist/src/core/endpoint-filter.js.map +1 -1
- package/dist/src/core/error-codes.d.ts +22 -0
- package/dist/src/core/error-codes.d.ts.map +1 -0
- package/dist/src/core/error-codes.js +31 -0
- package/dist/src/core/error-codes.js.map +1 -0
- package/dist/src/core/error-handler.d.ts +8 -0
- package/dist/src/core/error-handler.d.ts.map +1 -0
- package/dist/src/core/error-handler.js +45 -0
- package/dist/src/core/error-handler.js.map +1 -0
- package/dist/src/core/errors.d.ts +49 -0
- package/dist/src/core/errors.d.ts.map +1 -0
- package/dist/src/core/errors.js +70 -0
- package/dist/src/core/errors.js.map +1 -0
- package/dist/src/core/mock-config-loader.d.ts +1 -0
- package/dist/src/core/mock-config-loader.d.ts.map +1 -1
- package/dist/src/core/mock-config-loader.js +24 -7
- package/dist/src/core/mock-config-loader.js.map +1 -1
- package/dist/src/core/openapi-converter.d.ts +5 -1
- package/dist/src/core/openapi-converter.d.ts.map +1 -1
- package/dist/src/core/openapi-converter.js +11 -34
- package/dist/src/core/openapi-converter.js.map +1 -1
- package/dist/src/core/service-keys.d.ts +39 -0
- package/dist/src/core/service-keys.d.ts.map +1 -0
- package/dist/src/core/service-keys.js +43 -0
- package/dist/src/core/service-keys.js.map +1 -0
- package/dist/src/domain/entities/api-endpoint.entity.d.ts +57 -0
- package/dist/src/domain/entities/api-endpoint.entity.d.ts.map +1 -0
- package/dist/src/domain/entities/api-endpoint.entity.js +87 -0
- package/dist/src/domain/entities/api-endpoint.entity.js.map +1 -0
- package/dist/src/domain/entities/index.d.ts +6 -0
- package/dist/src/domain/entities/index.d.ts.map +1 -0
- package/dist/src/domain/entities/index.js +6 -0
- package/dist/src/domain/entities/index.js.map +1 -0
- package/dist/src/domain/entities/mock-route.entity.d.ts +41 -0
- package/dist/src/domain/entities/mock-route.entity.d.ts.map +1 -0
- package/dist/src/domain/entities/mock-route.entity.js +82 -0
- package/dist/src/domain/entities/mock-route.entity.js.map +1 -0
- package/dist/src/domain/interfaces/apifox-client.interface.d.ts +14 -0
- package/dist/src/domain/interfaces/apifox-client.interface.d.ts.map +1 -0
- package/dist/src/domain/interfaces/apifox-client.interface.js +2 -0
- package/dist/src/domain/interfaces/apifox-client.interface.js.map +1 -0
- package/dist/src/domain/interfaces/file-system.interface.d.ts +46 -0
- package/dist/src/domain/interfaces/file-system.interface.d.ts.map +1 -0
- package/dist/src/domain/interfaces/file-system.interface.js +2 -0
- package/dist/src/domain/interfaces/file-system.interface.js.map +1 -0
- package/dist/src/domain/interfaces/generator.interface.d.ts +24 -0
- package/dist/src/domain/interfaces/generator.interface.d.ts.map +1 -0
- package/dist/src/domain/interfaces/generator.interface.js +2 -0
- package/dist/src/domain/interfaces/generator.interface.js.map +1 -0
- package/dist/src/domain/interfaces/http-client.interface.d.ts +54 -0
- package/dist/src/domain/interfaces/http-client.interface.d.ts.map +1 -0
- package/dist/src/domain/interfaces/http-client.interface.js +2 -0
- package/dist/src/domain/interfaces/http-client.interface.js.map +1 -0
- package/dist/src/domain/interfaces/index.d.ts +11 -0
- package/dist/src/domain/interfaces/index.d.ts.map +1 -0
- package/dist/src/domain/interfaces/index.js +11 -0
- package/dist/src/domain/interfaces/index.js.map +1 -0
- package/dist/src/domain/interfaces/logger.interface.d.ts +36 -0
- package/dist/src/domain/interfaces/logger.interface.d.ts.map +1 -0
- package/dist/src/domain/interfaces/logger.interface.js +2 -0
- package/dist/src/domain/interfaces/logger.interface.js.map +1 -0
- package/dist/src/domain/interfaces/remote-proxy.interface.d.ts +26 -0
- package/dist/src/domain/interfaces/remote-proxy.interface.d.ts.map +1 -0
- package/dist/src/domain/interfaces/remote-proxy.interface.js +2 -0
- package/dist/src/domain/interfaces/remote-proxy.interface.js.map +1 -0
- package/dist/src/domain/interfaces/route-manager.interface.d.ts +34 -0
- package/dist/src/domain/interfaces/route-manager.interface.d.ts.map +1 -0
- package/dist/src/domain/interfaces/route-manager.interface.js +2 -0
- package/dist/src/domain/interfaces/route-manager.interface.js.map +1 -0
- package/dist/src/domain/interfaces.d.ts +239 -0
- package/dist/src/domain/interfaces.d.ts.map +1 -0
- package/dist/src/domain/interfaces.js +2 -0
- package/dist/src/domain/interfaces.js.map +1 -0
- package/dist/src/domain/services/endpoint-filter.service.d.ts +52 -0
- package/dist/src/domain/services/endpoint-filter.service.d.ts.map +1 -0
- package/dist/src/domain/services/endpoint-filter.service.js +150 -0
- package/dist/src/domain/services/endpoint-filter.service.js.map +1 -0
- package/dist/src/domain/services/index.d.ts +7 -0
- package/dist/src/domain/services/index.d.ts.map +1 -0
- package/dist/src/domain/services/index.js +7 -0
- package/dist/src/domain/services/index.js.map +1 -0
- package/dist/src/domain/services/openapi-converter.service.d.ts +15 -0
- package/dist/src/domain/services/openapi-converter.service.d.ts.map +1 -0
- package/dist/src/domain/services/openapi-converter.service.js +74 -0
- package/dist/src/domain/services/openapi-converter.service.js.map +1 -0
- package/dist/src/domain/services/route-matcher.service.d.ts +38 -0
- package/dist/src/domain/services/route-matcher.service.d.ts.map +1 -0
- package/dist/src/domain/services/route-matcher.service.js +61 -0
- package/dist/src/domain/services/route-matcher.service.js.map +1 -0
- package/dist/src/generators/mock-generator.d.ts +2 -1
- package/dist/src/generators/mock-generator.d.ts.map +1 -1
- package/dist/src/generators/mock-generator.js +13 -8
- package/dist/src/generators/mock-generator.js.map +1 -1
- package/dist/src/generators/templates/type-template.d.ts +2 -1
- package/dist/src/generators/templates/type-template.d.ts.map +1 -1
- package/dist/src/generators/templates/type-template.js +72 -48
- package/dist/src/generators/templates/type-template.js.map +1 -1
- package/dist/src/generators/type-generator.d.ts +2 -1
- package/dist/src/generators/type-generator.d.ts.map +1 -1
- package/dist/src/generators/type-generator.js +1 -1
- package/dist/src/generators/type-generator.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/infrastructure/apifox/apifox-client.impl.d.ts +22 -0
- package/dist/src/infrastructure/apifox/apifox-client.impl.d.ts.map +1 -0
- package/dist/src/infrastructure/apifox/apifox-client.impl.js +135 -0
- package/dist/src/infrastructure/apifox/apifox-client.impl.js.map +1 -0
- package/dist/src/infrastructure/file-system/file-system.impl.d.ts +15 -0
- package/dist/src/infrastructure/file-system/file-system.impl.d.ts.map +1 -0
- package/dist/src/infrastructure/file-system/file-system.impl.js +45 -0
- package/dist/src/infrastructure/file-system/file-system.impl.js.map +1 -0
- package/dist/src/infrastructure/http/axios-client.impl.d.ts +19 -0
- package/dist/src/infrastructure/http/axios-client.impl.d.ts.map +1 -0
- package/dist/src/infrastructure/http/axios-client.impl.js +59 -0
- package/dist/src/infrastructure/http/axios-client.impl.js.map +1 -0
- package/dist/src/infrastructure/logger/console-logger.impl.d.ts +15 -0
- package/dist/src/infrastructure/logger/console-logger.impl.d.ts.map +1 -0
- package/dist/src/infrastructure/logger/console-logger.impl.js +30 -0
- package/dist/src/infrastructure/logger/console-logger.impl.js.map +1 -0
- package/dist/src/infrastructure/route-manager/route-manager.impl.d.ts +14 -0
- package/dist/src/infrastructure/route-manager/route-manager.impl.d.ts.map +1 -0
- package/dist/src/infrastructure/route-manager/route-manager.impl.js +25 -0
- package/dist/src/infrastructure/route-manager/route-manager.impl.js.map +1 -0
- package/dist/src/infrastructure/server/hot-reload.d.ts +8 -0
- package/dist/src/infrastructure/server/hot-reload.d.ts.map +1 -0
- package/dist/src/infrastructure/server/hot-reload.js +132 -0
- package/dist/src/infrastructure/server/hot-reload.js.map +1 -0
- package/dist/src/infrastructure/server/remote-proxy.d.ts +22 -0
- package/dist/src/infrastructure/server/remote-proxy.d.ts.map +1 -0
- package/dist/src/infrastructure/server/remote-proxy.js +82 -0
- package/dist/src/infrastructure/server/remote-proxy.js.map +1 -0
- package/dist/src/infrastructure/server/route-loader.d.ts +18 -0
- package/dist/src/infrastructure/server/route-loader.d.ts.map +1 -0
- package/dist/src/infrastructure/server/route-loader.js +256 -0
- package/dist/src/infrastructure/server/route-loader.js.map +1 -0
- package/dist/src/presentation/http/express-server.d.ts +8 -0
- package/dist/src/presentation/http/express-server.d.ts.map +1 -0
- package/dist/src/presentation/http/express-server.js +65 -0
- package/dist/src/presentation/http/express-server.js.map +1 -0
- package/dist/src/presentation/http/middleware/error-handler.middleware.d.ts +9 -0
- package/dist/src/presentation/http/middleware/error-handler.middleware.d.ts.map +1 -0
- package/dist/src/presentation/http/middleware/error-handler.middleware.js +31 -0
- package/dist/src/presentation/http/middleware/error-handler.middleware.js.map +1 -0
- package/dist/src/presentation/http/route-handler.d.ts +38 -0
- package/dist/src/presentation/http/route-handler.d.ts.map +1 -0
- package/dist/src/presentation/http/route-handler.js +237 -0
- package/dist/src/presentation/http/route-handler.js.map +1 -0
- package/dist/src/presentation/http/validation.d.ts +25 -0
- package/dist/src/presentation/http/validation.d.ts.map +1 -0
- package/dist/src/presentation/http/validation.js +131 -0
- package/dist/src/presentation/http/validation.js.map +1 -0
- package/dist/src/scripts/cli.js +1 -1
- package/dist/src/scripts/cli.js.map +1 -1
- package/dist/src/scripts/generate-mock.js +15 -35
- package/dist/src/scripts/generate-mock.js.map +1 -1
- package/dist/src/scripts/serve-mock.js +9 -74
- package/dist/src/scripts/serve-mock.js.map +1 -1
- package/dist/src/server/express-server.d.ts +2 -2
- package/dist/src/server/express-server.d.ts.map +1 -1
- package/dist/src/server/express-server.js +16 -1
- package/dist/src/server/express-server.js.map +1 -1
- package/dist/src/server/hot-reload.d.ts +2 -2
- package/dist/src/server/hot-reload.d.ts.map +1 -1
- package/dist/src/server/hot-reload.js +26 -20
- package/dist/src/server/hot-reload.js.map +1 -1
- package/dist/src/server/remote-proxy.d.ts +6 -1
- package/dist/src/server/remote-proxy.d.ts.map +1 -1
- package/dist/src/server/remote-proxy.js +38 -7
- package/dist/src/server/remote-proxy.js.map +1 -1
- package/dist/src/server/route-handler.d.ts +9 -3
- package/dist/src/server/route-handler.d.ts.map +1 -1
- package/dist/src/server/route-handler.js +82 -20
- package/dist/src/server/route-handler.js.map +1 -1
- package/dist/src/server/route-loader.d.ts +2 -2
- package/dist/src/server/route-loader.d.ts.map +1 -1
- package/dist/src/server/route-loader.js +80 -42
- package/dist/src/server/route-loader.js.map +1 -1
- package/dist/src/server/route-matcher.d.ts.map +1 -1
- package/dist/src/server/route-matcher.js +3 -1
- package/dist/src/server/route-matcher.js.map +1 -1
- package/dist/src/server/validation.d.ts +20 -1
- package/dist/src/server/validation.d.ts.map +1 -1
- package/dist/src/server/validation.js +25 -13
- package/dist/src/server/validation.js.map +1 -1
- package/dist/src/types/index.d.ts +23 -6
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/mock/arithmetic/alarmPush.d.ts +26 -0
- package/dist/src/types/mock/arithmetic/alarmPush.d.ts.map +1 -0
- package/dist/src/types/mock/arithmetic/alarmPush.js +4 -0
- package/dist/src/types/mock/arithmetic/alarmPush.js.map +1 -0
- package/dist/src/types/mock/arithmetic/list.d.ts +33 -0
- package/dist/src/types/mock/arithmetic/list.d.ts.map +1 -0
- package/dist/src/types/mock/arithmetic/list.js +4 -0
- package/dist/src/types/mock/arithmetic/list.js.map +1 -0
- package/dist/src/types/mock/captchaImage.d.ts +19 -0
- package/dist/src/types/mock/captchaImage.d.ts.map +1 -0
- package/dist/src/types/mock/captchaImage.js +4 -0
- package/dist/src/types/mock/captchaImage.js.map +1 -0
- package/dist/src/types/mock/intern/agents/configs.d.ts +31 -0
- package/dist/src/types/mock/intern/agents/configs.d.ts.map +1 -0
- package/dist/src/types/mock/intern/agents/configs.js +4 -0
- package/dist/src/types/mock/intern/agents/configs.js.map +1 -0
- package/dist/src/types/mock/internal/agents/devices/auth.d.ts +27 -0
- package/dist/src/types/mock/internal/agents/devices/auth.d.ts.map +1 -0
- package/dist/src/types/mock/internal/agents/devices/auth.js +4 -0
- package/dist/src/types/mock/internal/agents/devices/auth.js.map +1 -0
- package/dist/src/types/mock/list.d.ts +13 -0
- package/dist/src/types/mock/list.d.ts.map +1 -0
- package/dist/src/types/mock/list.js +4 -0
- package/dist/src/types/mock/list.js.map +1 -0
- package/dist/src/types/mock/login.d.ts +21 -0
- package/dist/src/types/mock/login.d.ts.map +1 -0
- package/dist/src/types/mock/login.js +4 -0
- package/dist/src/types/mock/login.js.map +1 -0
- package/dist/src/types/mock/logout.d.ts +16 -0
- package/dist/src/types/mock/logout.d.ts.map +1 -0
- package/dist/src/types/mock/logout.js +4 -0
- package/dist/src/types/mock/logout.js.map +1 -0
- package/dist/src/types/mock/v1/agents/batch.d.ts +22 -0
- package/dist/src/types/mock/v1/agents/batch.d.ts.map +1 -0
- package/dist/src/types/mock/v1/agents/batch.js +4 -0
- package/dist/src/types/mock/v1/agents/batch.js.map +1 -0
- package/dist/src/types/mock/v1/agents/devices/auth.d.ts +25 -0
- package/dist/src/types/mock/v1/agents/devices/auth.d.ts.map +1 -0
- package/dist/src/types/mock/v1/agents/devices/auth.js +4 -0
- package/dist/src/types/mock/v1/agents/devices/auth.js.map +1 -0
- package/dist/src/types/mock/v1/agents/devices/batch.d.ts +25 -0
- package/dist/src/types/mock/v1/agents/devices/batch.d.ts.map +1 -0
- package/dist/src/types/mock/v1/agents/devices/batch.js +4 -0
- package/dist/src/types/mock/v1/agents/devices/batch.js.map +1 -0
- package/dist/src/types/mock/v1/agents/devices.d.ts +128 -0
- package/dist/src/types/mock/v1/agents/devices.d.ts.map +1 -0
- package/dist/src/types/mock/v1/agents/devices.js +4 -0
- package/dist/src/types/mock/v1/agents/devices.js.map +1 -0
- package/dist/src/types/mock/v1/agents/roles/reset.d.ts +34 -0
- package/dist/src/types/mock/v1/agents/roles/reset.d.ts.map +1 -0
- package/dist/src/types/mock/v1/agents/roles/reset.js +4 -0
- package/dist/src/types/mock/v1/agents/roles/reset.js.map +1 -0
- package/dist/src/types/mock/v1/agents/roles/template.d.ts +12 -0
- package/dist/src/types/mock/v1/agents/roles/template.d.ts.map +1 -0
- package/dist/src/types/mock/v1/agents/roles/template.js +4 -0
- package/dist/src/types/mock/v1/agents/roles/template.js.map +1 -0
- package/dist/src/types/mock/v1/agents/roles.d.ts +94 -0
- package/dist/src/types/mock/v1/agents/roles.d.ts.map +1 -0
- package/dist/src/types/mock/v1/agents/roles.js +4 -0
- package/dist/src/types/mock/v1/agents/roles.js.map +1 -0
- package/dist/src/types/mock/v1/agents.d.ts +130 -0
- package/dist/src/types/mock/v1/agents.d.ts.map +1 -0
- package/dist/src/types/mock/v1/agents.js +4 -0
- package/dist/src/types/mock/v1/agents.js.map +1 -0
- package/dist/src/types/mock/v1/algo/pose-detect/delete.d.ts +25 -0
- package/dist/src/types/mock/v1/algo/pose-detect/delete.d.ts.map +1 -0
- package/dist/src/types/mock/v1/algo/pose-detect/delete.js +4 -0
- package/dist/src/types/mock/v1/algo/pose-detect/delete.js.map +1 -0
- package/dist/src/types/mock/v1/algos/pose-detect/target.d.ts +41 -0
- package/dist/src/types/mock/v1/algos/pose-detect/target.d.ts.map +1 -0
- package/dist/src/types/mock/v1/algos/pose-detect/target.js +4 -0
- package/dist/src/types/mock/v1/algos/pose-detect/target.js.map +1 -0
- package/dist/src/types/mock/v1/algos/pose-detect.d.ts +28 -0
- package/dist/src/types/mock/v1/algos/pose-detect.d.ts.map +1 -0
- package/dist/src/types/mock/v1/algos/pose-detect.js +4 -0
- package/dist/src/types/mock/v1/algos/pose-detect.js.map +1 -0
- package/dist/src/types/mock/v1/auth/login/username.d.ts +1 -1
- package/dist/src/types/mock/v1/auth/login/username.d.ts.map +1 -1
- package/dist/src/types/mock/v1/business/tenant/pagedList.d.ts +8 -0
- package/dist/src/types/mock/v1/business/tenant/pagedList.d.ts.map +1 -1
- package/dist/src/types/mock/v1/business/tenant/pagedList.js.map +1 -1
- package/dist/src/types/mock/v1/business/tenant/user/link.d.ts +24 -0
- package/dist/src/types/mock/v1/business/tenant/user/link.d.ts.map +1 -1
- package/dist/src/types/mock/v1/business/tenant/user/link.js +1 -1
- package/dist/src/types/mock/v1/business/tenant/user/link.js.map +1 -1
- package/dist/src/types/mock/v1/business/tenant.d.ts +2 -20
- package/dist/src/types/mock/v1/business/tenant.d.ts.map +1 -1
- package/dist/src/types/mock/v1/business/tenant.js.map +1 -1
- package/dist/src/types/mock/v1/business/user/disabled.d.ts +1 -1
- package/dist/src/types/mock/v1/business/user/disabled.d.ts.map +1 -1
- package/dist/src/types/mock/v1/business/user/pagedList.d.ts +10 -0
- package/dist/src/types/mock/v1/business/user/pagedList.d.ts.map +1 -1
- package/dist/src/types/mock/v1/business/user/pagedList.js.map +1 -1
- package/dist/src/types/mock/v1/business/user/unlock.d.ts +23 -0
- package/dist/src/types/mock/v1/business/user/unlock.d.ts.map +1 -0
- package/dist/src/types/mock/v1/business/user/unlock.js +4 -0
- package/dist/src/types/mock/v1/business/user/unlock.js.map +1 -0
- package/dist/src/types/mock/v1/business/user.d.ts +15 -14
- package/dist/src/types/mock/v1/business/user.d.ts.map +1 -1
- package/dist/src/types/mock/v1/business/user.js.map +1 -1
- package/dist/src/types/mock/v1/dict/data/default.d.ts +25 -0
- package/dist/src/types/mock/v1/dict/data/default.d.ts.map +1 -0
- package/dist/src/types/mock/v1/dict/data/default.js +4 -0
- package/dist/src/types/mock/v1/dict/data/default.js.map +1 -0
- package/dist/src/types/mock/v1/dict/data/order.d.ts +25 -0
- package/dist/src/types/mock/v1/dict/data/order.d.ts.map +1 -0
- package/dist/src/types/mock/v1/dict/data/order.js +4 -0
- package/dist/src/types/mock/v1/dict/data/order.js.map +1 -0
- package/dist/src/types/mock/v1/dict/data/pagedList.d.ts +62 -0
- package/dist/src/types/mock/v1/dict/data/pagedList.d.ts.map +1 -0
- package/dist/src/types/mock/v1/dict/data/pagedList.js +4 -0
- package/dist/src/types/mock/v1/dict/data/pagedList.js.map +1 -0
- package/dist/src/types/mock/v1/dict/data.d.ts +82 -0
- package/dist/src/types/mock/v1/dict/data.d.ts.map +1 -0
- package/dist/src/types/mock/v1/dict/data.js +4 -0
- package/dist/src/types/mock/v1/dict/data.js.map +1 -0
- package/dist/src/types/mock/v1/dict/pagedList.d.ts +54 -0
- package/dist/src/types/mock/v1/dict/pagedList.d.ts.map +1 -0
- package/dist/src/types/mock/v1/dict/pagedList.js +4 -0
- package/dist/src/types/mock/v1/dict/pagedList.js.map +1 -0
- package/dist/src/types/mock/v1/dict.d.ts +80 -0
- package/dist/src/types/mock/v1/dict.d.ts.map +1 -0
- package/dist/src/types/mock/v1/dict.js +4 -0
- package/dist/src/types/mock/v1/dict.js.map +1 -0
- package/dist/src/types/mock/v1/file/download.d.ts +23 -0
- package/dist/src/types/mock/v1/file/download.d.ts.map +1 -0
- package/dist/src/types/mock/v1/file/download.js +4 -0
- package/dist/src/types/mock/v1/file/download.js.map +1 -0
- package/dist/src/types/mock/v1/file/pagedList.d.ts +62 -0
- package/dist/src/types/mock/v1/file/pagedList.d.ts.map +1 -0
- package/dist/src/types/mock/v1/file/pagedList.js +4 -0
- package/dist/src/types/mock/v1/file/pagedList.js.map +1 -0
- package/dist/src/types/mock/v1/file.d.ts +56 -0
- package/dist/src/types/mock/v1/file.d.ts.map +1 -0
- package/dist/src/types/mock/v1/file.js +4 -0
- package/dist/src/types/mock/v1/file.js.map +1 -0
- package/dist/src/types/mock/v1/inspection/alarm-lists.d.ts +28 -0
- package/dist/src/types/mock/v1/inspection/alarm-lists.d.ts.map +1 -0
- package/dist/src/types/mock/v1/inspection/alarm-lists.js +4 -0
- package/dist/src/types/mock/v1/inspection/alarm-lists.js.map +1 -0
- package/dist/src/types/mock/v1/inspection.d.ts +11 -0
- package/dist/src/types/mock/v1/inspection.d.ts.map +1 -0
- package/dist/src/types/mock/v1/inspection.js +4 -0
- package/dist/src/types/mock/v1/inspection.js.map +1 -0
- package/dist/src/types/mock/v1/internal/getToken.d.ts +32 -0
- package/dist/src/types/mock/v1/internal/getToken.d.ts.map +1 -0
- package/dist/src/types/mock/v1/internal/getToken.js +4 -0
- package/dist/src/types/mock/v1/internal/getToken.js.map +1 -0
- package/dist/src/types/mock/v1/internal/user/unlock.d.ts +23 -0
- package/dist/src/types/mock/v1/internal/user/unlock.d.ts.map +1 -0
- package/dist/src/types/mock/v1/internal/user/unlock.js +4 -0
- package/dist/src/types/mock/v1/internal/user/unlock.js.map +1 -0
- package/dist/src/types/mock/v1/log/login/pagedList.d.ts +15 -0
- package/dist/src/types/mock/v1/log/login/pagedList.d.ts.map +1 -1
- package/dist/src/types/mock/v1/log/login/pagedList.js.map +1 -1
- package/dist/src/types/mock/v1/log/oper/pagedList.d.ts +29 -2
- package/dist/src/types/mock/v1/log/oper/pagedList.d.ts.map +1 -1
- package/dist/src/types/mock/v1/log/oper/pagedList.js.map +1 -1
- package/dist/src/types/mock/v1/models/asr/config.d.ts +39 -0
- package/dist/src/types/mock/v1/models/asr/config.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/asr/config.js +4 -0
- package/dist/src/types/mock/v1/models/asr/config.js.map +1 -0
- package/dist/src/types/mock/v1/models/asr/create.d.ts +35 -0
- package/dist/src/types/mock/v1/models/asr/create.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/asr/create.js +4 -0
- package/dist/src/types/mock/v1/models/asr/create.js.map +1 -0
- package/dist/src/types/mock/v1/models/asr/default.d.ts +27 -0
- package/dist/src/types/mock/v1/models/asr/default.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/asr/default.js +4 -0
- package/dist/src/types/mock/v1/models/asr/default.js.map +1 -0
- package/dist/src/types/mock/v1/models/asr/delete-select.d.ts +24 -0
- package/dist/src/types/mock/v1/models/asr/delete-select.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/asr/delete-select.js +4 -0
- package/dist/src/types/mock/v1/models/asr/delete-select.js.map +1 -0
- package/dist/src/types/mock/v1/models/asr/delete.d.ts +25 -0
- package/dist/src/types/mock/v1/models/asr/delete.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/asr/delete.js +4 -0
- package/dist/src/types/mock/v1/models/asr/delete.js.map +1 -0
- package/dist/src/types/mock/v1/models/asr/search.d.ts +35 -0
- package/dist/src/types/mock/v1/models/asr/search.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/asr/search.js +4 -0
- package/dist/src/types/mock/v1/models/asr/search.js.map +1 -0
- package/dist/src/types/mock/v1/models/asr/status.d.ts +27 -0
- package/dist/src/types/mock/v1/models/asr/status.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/asr/status.js +4 -0
- package/dist/src/types/mock/v1/models/asr/status.js.map +1 -0
- package/dist/src/types/mock/v1/models/asr/update-config.d.ts +35 -0
- package/dist/src/types/mock/v1/models/asr/update-config.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/asr/update-config.js +4 -0
- package/dist/src/types/mock/v1/models/asr/update-config.js.map +1 -0
- package/dist/src/types/mock/v1/models/kb/default.d.ts +27 -0
- package/dist/src/types/mock/v1/models/kb/default.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/kb/default.js +4 -0
- package/dist/src/types/mock/v1/models/kb/default.js.map +1 -0
- package/dist/src/types/mock/v1/models/kb/delete-select.d.ts +24 -0
- package/dist/src/types/mock/v1/models/kb/delete-select.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/kb/delete-select.js +4 -0
- package/dist/src/types/mock/v1/models/kb/delete-select.js.map +1 -0
- package/dist/src/types/mock/v1/models/kb/delete.d.ts +25 -0
- package/dist/src/types/mock/v1/models/kb/delete.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/kb/delete.js +4 -0
- package/dist/src/types/mock/v1/models/kb/delete.js.map +1 -0
- package/dist/src/types/mock/v1/models/kb/search.d.ts +34 -0
- package/dist/src/types/mock/v1/models/kb/search.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/kb/search.js +4 -0
- package/dist/src/types/mock/v1/models/kb/search.js.map +1 -0
- package/dist/src/types/mock/v1/models/kb/status.d.ts +27 -0
- package/dist/src/types/mock/v1/models/kb/status.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/kb/status.js +4 -0
- package/dist/src/types/mock/v1/models/kb/status.js.map +1 -0
- package/dist/src/types/mock/v1/models/kb/update-config.d.ts +39 -0
- package/dist/src/types/mock/v1/models/kb/update-config.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/kb/update-config.js +4 -0
- package/dist/src/types/mock/v1/models/kb/update-config.js.map +1 -0
- package/dist/src/types/mock/v1/models/kb.d.ts +33 -0
- package/dist/src/types/mock/v1/models/kb.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/kb.js +4 -0
- package/dist/src/types/mock/v1/models/kb.js.map +1 -0
- package/dist/src/types/mock/v1/models/llm/config.d.ts +55 -0
- package/dist/src/types/mock/v1/models/llm/config.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/llm/config.js +4 -0
- package/dist/src/types/mock/v1/models/llm/config.js.map +1 -0
- package/dist/src/types/mock/v1/models/llm/default.d.ts +27 -0
- package/dist/src/types/mock/v1/models/llm/default.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/llm/default.js +4 -0
- package/dist/src/types/mock/v1/models/llm/default.js.map +1 -0
- package/dist/src/types/mock/v1/models/llm/delete-select.d.ts +24 -0
- package/dist/src/types/mock/v1/models/llm/delete-select.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/llm/delete-select.js +4 -0
- package/dist/src/types/mock/v1/models/llm/delete-select.js.map +1 -0
- package/dist/src/types/mock/v1/models/llm/delete.d.ts +25 -0
- package/dist/src/types/mock/v1/models/llm/delete.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/llm/delete.js +4 -0
- package/dist/src/types/mock/v1/models/llm/delete.js.map +1 -0
- package/dist/src/types/mock/v1/models/llm/search.d.ts +34 -0
- package/dist/src/types/mock/v1/models/llm/search.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/llm/search.js +4 -0
- package/dist/src/types/mock/v1/models/llm/search.js.map +1 -0
- package/dist/src/types/mock/v1/models/llm/status.d.ts +27 -0
- package/dist/src/types/mock/v1/models/llm/status.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/llm/status.js +4 -0
- package/dist/src/types/mock/v1/models/llm/status.js.map +1 -0
- package/dist/src/types/mock/v1/models/llm/update-config.d.ts +51 -0
- package/dist/src/types/mock/v1/models/llm/update-config.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/llm/update-config.js +4 -0
- package/dist/src/types/mock/v1/models/llm/update-config.js.map +1 -0
- package/dist/src/types/mock/v1/models/llm.d.ts +33 -0
- package/dist/src/types/mock/v1/models/llm.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/llm.js +4 -0
- package/dist/src/types/mock/v1/models/llm.js.map +1 -0
- package/dist/src/types/mock/v1/models/modelManagement/actionList.d.ts +14 -0
- package/dist/src/types/mock/v1/models/modelManagement/actionList.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/modelManagement/actionList.js +4 -0
- package/dist/src/types/mock/v1/models/modelManagement/actionList.js.map +1 -0
- package/dist/src/types/mock/v1/models/modelManagement/batchDelete.d.ts +26 -0
- package/dist/src/types/mock/v1/models/modelManagement/batchDelete.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/modelManagement/batchDelete.js +4 -0
- package/dist/src/types/mock/v1/models/modelManagement/batchDelete.js.map +1 -0
- package/dist/src/types/mock/v1/models/modelManagement/delete.d.ts +26 -0
- package/dist/src/types/mock/v1/models/modelManagement/delete.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/modelManagement/delete.js +4 -0
- package/dist/src/types/mock/v1/models/modelManagement/delete.js.map +1 -0
- package/dist/src/types/mock/v1/models/modelManagement/list.d.ts +40 -0
- package/dist/src/types/mock/v1/models/modelManagement/list.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/modelManagement/list.js +4 -0
- package/dist/src/types/mock/v1/models/modelManagement/list.js.map +1 -0
- package/dist/src/types/mock/v1/models/modelManagement/selectDefault.d.ts +29 -0
- package/dist/src/types/mock/v1/models/modelManagement/selectDefault.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/modelManagement/selectDefault.js +4 -0
- package/dist/src/types/mock/v1/models/modelManagement/selectDefault.js.map +1 -0
- package/dist/src/types/mock/v1/models/modelManagement/start.d.ts +27 -0
- package/dist/src/types/mock/v1/models/modelManagement/start.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/modelManagement/start.js +4 -0
- package/dist/src/types/mock/v1/models/modelManagement/start.js.map +1 -0
- package/dist/src/types/mock/v1/models/modelManagement/update.d.ts +61 -0
- package/dist/src/types/mock/v1/models/modelManagement/update.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/modelManagement/update.js +4 -0
- package/dist/src/types/mock/v1/models/modelManagement/update.js.map +1 -0
- package/dist/src/types/mock/v1/models/modelManagement.d.ts +111 -0
- package/dist/src/types/mock/v1/models/modelManagement.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/modelManagement.js +4 -0
- package/dist/src/types/mock/v1/models/modelManagement.js.map +1 -0
- package/dist/src/types/mock/v1/models/tts/config.d.ts +35 -0
- package/dist/src/types/mock/v1/models/tts/config.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/tts/config.js +4 -0
- package/dist/src/types/mock/v1/models/tts/config.js.map +1 -0
- package/dist/src/types/mock/v1/models/tts/create.d.ts +33 -0
- package/dist/src/types/mock/v1/models/tts/create.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/tts/create.js +4 -0
- package/dist/src/types/mock/v1/models/tts/create.js.map +1 -0
- package/dist/src/types/mock/v1/models/tts/default.d.ts +27 -0
- package/dist/src/types/mock/v1/models/tts/default.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/tts/default.js +4 -0
- package/dist/src/types/mock/v1/models/tts/default.js.map +1 -0
- package/dist/src/types/mock/v1/models/tts/delete-select.d.ts +24 -0
- package/dist/src/types/mock/v1/models/tts/delete-select.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/tts/delete-select.js +4 -0
- package/dist/src/types/mock/v1/models/tts/delete-select.js.map +1 -0
- package/dist/src/types/mock/v1/models/tts/delete.d.ts +25 -0
- package/dist/src/types/mock/v1/models/tts/delete.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/tts/delete.js +4 -0
- package/dist/src/types/mock/v1/models/tts/delete.js.map +1 -0
- package/dist/src/types/mock/v1/models/tts/search.d.ts +35 -0
- package/dist/src/types/mock/v1/models/tts/search.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/tts/search.js +4 -0
- package/dist/src/types/mock/v1/models/tts/search.js.map +1 -0
- package/dist/src/types/mock/v1/models/tts/sound/batch.d.ts +20 -0
- package/dist/src/types/mock/v1/models/tts/sound/batch.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/tts/sound/batch.js +4 -0
- package/dist/src/types/mock/v1/models/tts/sound/batch.js.map +1 -0
- package/dist/src/types/mock/v1/models/tts/sound/list.d.ts +33 -0
- package/dist/src/types/mock/v1/models/tts/sound/list.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/tts/sound/list.js +4 -0
- package/dist/src/types/mock/v1/models/tts/sound/list.js.map +1 -0
- package/dist/src/types/mock/v1/models/tts/sound.d.ts +75 -0
- package/dist/src/types/mock/v1/models/tts/sound.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/tts/sound.js +4 -0
- package/dist/src/types/mock/v1/models/tts/sound.js.map +1 -0
- package/dist/src/types/mock/v1/models/tts/status.d.ts +27 -0
- package/dist/src/types/mock/v1/models/tts/status.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/tts/status.js +4 -0
- package/dist/src/types/mock/v1/models/tts/status.js.map +1 -0
- package/dist/src/types/mock/v1/models/tts/update-config.d.ts +33 -0
- package/dist/src/types/mock/v1/models/tts/update-config.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/tts/update-config.js +4 -0
- package/dist/src/types/mock/v1/models/tts/update-config.js.map +1 -0
- package/dist/src/types/mock/v1/models/tts.d.ts +33 -0
- package/dist/src/types/mock/v1/models/tts.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/tts.js +4 -0
- package/dist/src/types/mock/v1/models/tts.js.map +1 -0
- package/dist/src/types/mock/v1/models/vad/config.d.ts +37 -0
- package/dist/src/types/mock/v1/models/vad/config.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/vad/config.js +4 -0
- package/dist/src/types/mock/v1/models/vad/config.js.map +1 -0
- package/dist/src/types/mock/v1/models/vad/create.d.ts +35 -0
- package/dist/src/types/mock/v1/models/vad/create.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/vad/create.js +4 -0
- package/dist/src/types/mock/v1/models/vad/create.js.map +1 -0
- package/dist/src/types/mock/v1/models/vad/default.d.ts +27 -0
- package/dist/src/types/mock/v1/models/vad/default.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/vad/default.js +4 -0
- package/dist/src/types/mock/v1/models/vad/default.js.map +1 -0
- package/dist/src/types/mock/v1/models/vad/delete-select.d.ts +24 -0
- package/dist/src/types/mock/v1/models/vad/delete-select.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/vad/delete-select.js +4 -0
- package/dist/src/types/mock/v1/models/vad/delete-select.js.map +1 -0
- package/dist/src/types/mock/v1/models/vad/delete.d.ts +25 -0
- package/dist/src/types/mock/v1/models/vad/delete.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/vad/delete.js +4 -0
- package/dist/src/types/mock/v1/models/vad/delete.js.map +1 -0
- package/dist/src/types/mock/v1/models/vad/status.d.ts +27 -0
- package/dist/src/types/mock/v1/models/vad/status.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/vad/status.js +4 -0
- package/dist/src/types/mock/v1/models/vad/status.js.map +1 -0
- package/dist/src/types/mock/v1/models/vad/update-config.d.ts +35 -0
- package/dist/src/types/mock/v1/models/vad/update-config.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/vad/update-config.js +4 -0
- package/dist/src/types/mock/v1/models/vad/update-config.js.map +1 -0
- package/dist/src/types/mock/v1/models/vad.d.ts +33 -0
- package/dist/src/types/mock/v1/models/vad.d.ts.map +1 -0
- package/dist/src/types/mock/v1/models/vad.js +4 -0
- package/dist/src/types/mock/v1/models/vad.js.map +1 -0
- package/dist/src/types/mock/v1/pnc/NavigationCommands.d.ts +46 -0
- package/dist/src/types/mock/v1/pnc/NavigationCommands.d.ts.map +1 -0
- package/dist/src/types/mock/v1/pnc/NavigationCommands.js +4 -0
- package/dist/src/types/mock/v1/pnc/NavigationCommands.js.map +1 -0
- package/dist/src/types/mock/v1/pnc/NavigationStates.d.ts +12 -0
- package/dist/src/types/mock/v1/pnc/NavigationStates.d.ts.map +1 -0
- package/dist/src/types/mock/v1/pnc/NavigationStates.js +4 -0
- package/dist/src/types/mock/v1/pnc/NavigationStates.js.map +1 -0
- package/dist/src/types/mock/v1/pnc/NavigationTasks.d.ts +32 -0
- package/dist/src/types/mock/v1/pnc/NavigationTasks.d.ts.map +1 -0
- package/dist/src/types/mock/v1/pnc/NavigationTasks.js +4 -0
- package/dist/src/types/mock/v1/pnc/NavigationTasks.js.map +1 -0
- package/dist/src/types/mock/v1/role/disabled.d.ts +25 -0
- package/dist/src/types/mock/v1/role/disabled.d.ts.map +1 -0
- package/dist/src/types/mock/v1/role/disabled.js +4 -0
- package/dist/src/types/mock/v1/role/disabled.js.map +1 -0
- package/dist/src/types/mock/v1/role/pagedList.d.ts +4 -2
- package/dist/src/types/mock/v1/role/pagedList.d.ts.map +1 -1
- package/dist/src/types/mock/v1/role/pagedList.js.map +1 -1
- package/dist/src/types/mock/v1/role.d.ts +31 -29
- package/dist/src/types/mock/v1/role.d.ts.map +1 -1
- package/dist/src/types/mock/v1/role.js.map +1 -1
- package/dist/src/types/mock/v1/sync/to-cloud.d.ts +69 -0
- package/dist/src/types/mock/v1/sync/to-cloud.d.ts.map +1 -0
- package/dist/src/types/mock/v1/sync/to-cloud.js +4 -0
- package/dist/src/types/mock/v1/sync/to-cloud.js.map +1 -0
- package/dist/src/types/mock/v1/tenant/permission/tree.d.ts +2 -2
- package/dist/src/types/mock/v1/tenant/permission/tree.d.ts.map +1 -1
- package/dist/src/types/mock/v1/tenant/user/link.d.ts +23 -0
- package/dist/src/types/mock/v1/tenant/user/link.d.ts.map +1 -0
- package/dist/src/types/mock/v1/tenant/user/link.js +4 -0
- package/dist/src/types/mock/v1/tenant/user/link.js.map +1 -0
- package/dist/src/types/mock/v1/tenant/user/pagedList.d.ts +8 -0
- package/dist/src/types/mock/v1/tenant/user/pagedList.d.ts.map +1 -1
- package/dist/src/types/mock/v1/tenant/user/pagedList.js.map +1 -1
- package/dist/src/types/mock/v1/tenant/user.d.ts +19 -0
- package/dist/src/types/mock/v1/tenant/user.d.ts.map +1 -1
- package/dist/src/types/mock/v1/tenant/user.js.map +1 -1
- package/dist/src/types/mock/v1/user/exportData.d.ts +25 -0
- package/dist/src/types/mock/v1/user/exportData.d.ts.map +1 -0
- package/dist/src/types/mock/v1/user/exportData.js +4 -0
- package/dist/src/types/mock/v1/user/exportData.js.map +1 -0
- package/dist/src/types/mock/v1/user/importData.d.ts +13 -0
- package/dist/src/types/mock/v1/user/importData.d.ts.map +1 -0
- package/dist/src/types/mock/v1/user/importData.js +4 -0
- package/dist/src/types/mock/v1/user/importData.js.map +1 -0
- package/dist/src/types/mock/v1/user/info.d.ts +0 -30
- package/dist/src/types/mock/v1/user/info.d.ts.map +1 -1
- package/dist/src/types/mock/v1/user/info.js.map +1 -1
- package/dist/src/types/mock/v1/user/pagedList.d.ts +63 -0
- package/dist/src/types/mock/v1/user/pagedList.d.ts.map +1 -0
- package/dist/src/types/mock/v1/user/pagedList.js +4 -0
- package/dist/src/types/mock/v1/user/pagedList.js.map +1 -0
- package/dist/src/types/mock/v1/user/permission/tree.d.ts +4 -2
- package/dist/src/types/mock/v1/user/permission/tree.d.ts.map +1 -1
- package/dist/src/types/mock/v1/user/permission/tree.js.map +1 -1
- package/dist/src/types/mock/v1/user/unlock.d.ts +23 -0
- package/dist/src/types/mock/v1/user/unlock.d.ts.map +1 -0
- package/dist/src/types/mock/v1/user/unlock.js +4 -0
- package/dist/src/types/mock/v1/user/unlock.js.map +1 -0
- package/dist/src/types/mock/v1/user.d.ts +0 -106
- package/dist/src/types/mock/v1/user.d.ts.map +1 -1
- package/dist/src/types/mock/v1/user.js +1 -1
- package/dist/src/types/mock/v1/user.js.map +1 -1
- package/dist/src/types/mock/v1/users/batch.d.ts +31 -0
- package/dist/src/types/mock/v1/users/batch.d.ts.map +1 -0
- package/dist/src/types/mock/v1/users/batch.js +4 -0
- package/dist/src/types/mock/v1/users/batch.js.map +1 -0
- package/dist/src/types/mock/v1/users/password.d.ts +18 -0
- package/dist/src/types/mock/v1/users/password.d.ts.map +1 -0
- package/dist/src/types/mock/v1/users/password.js +4 -0
- package/dist/src/types/mock/v1/users/password.js.map +1 -0
- package/dist/src/types/mock/v1/users/single.d.ts +22 -0
- package/dist/src/types/mock/v1/users/single.d.ts.map +1 -0
- package/dist/src/types/mock/v1/users/single.js +4 -0
- package/dist/src/types/mock/v1/users/single.js.map +1 -0
- package/dist/src/types/mock/v1/users/status.d.ts +22 -0
- package/dist/src/types/mock/v1/users/status.d.ts.map +1 -0
- package/dist/src/types/mock/v1/users/status.js +4 -0
- package/dist/src/types/mock/v1/users/status.js.map +1 -0
- package/dist/src/types/mock/v1/users.d.ts +153 -0
- package/dist/src/types/mock/v1/users.d.ts.map +1 -0
- package/dist/src/types/mock/v1/users.js +4 -0
- package/dist/src/types/mock/v1/users.js.map +1 -0
- package/dist/src/types/mock/v2/models/kb/create.d.ts +39 -0
- package/dist/src/types/mock/v2/models/kb/create.d.ts.map +1 -0
- package/dist/src/types/mock/v2/models/kb/create.js +4 -0
- package/dist/src/types/mock/v2/models/kb/create.js.map +1 -0
- package/dist/src/types/mock/v2/models/llm/create.d.ts +51 -0
- package/dist/src/types/mock/v2/models/llm/create.d.ts.map +1 -0
- package/dist/src/types/mock/v2/models/llm/create.js +4 -0
- package/dist/src/types/mock/v2/models/llm/create.js.map +1 -0
- package/dist/src/types/openapi.d.ts +426 -0
- package/dist/src/types/openapi.d.ts.map +1 -0
- package/dist/src/types/openapi.js +23 -0
- package/dist/src/types/openapi.js.map +1 -0
- package/dist/src/utils/block-updater.d.ts.map +1 -1
- package/dist/src/utils/block-updater.js +5 -4
- package/dist/src/utils/block-updater.js.map +1 -1
- package/dist/src/utils/code-formatter.d.ts.map +1 -1
- package/dist/src/utils/code-formatter.js +2 -0
- package/dist/src/utils/code-formatter.js.map +1 -1
- package/dist/src/utils/file-helper.d.ts +7 -7
- package/dist/src/utils/file-helper.d.ts.map +1 -1
- package/dist/src/utils/file-helper.js +11 -8
- package/dist/src/utils/file-helper.js.map +1 -1
- package/dist/src/utils/file-operations.d.ts +1 -1
- package/dist/src/utils/file-operations.d.ts.map +1 -1
- package/dist/src/utils/file-operations.js.map +1 -1
- package/dist/src/utils/file-utils.d.ts +3 -2
- package/dist/src/utils/file-utils.d.ts.map +1 -1
- package/dist/src/utils/file-utils.js +1 -1
- package/dist/src/utils/file-utils.js.map +1 -1
- package/dist/src/utils/path-utils.js.map +1 -1
- package/dist/src/utils/type-mapping.d.ts +9 -2
- package/dist/src/utils/type-mapping.d.ts.map +1 -1
- package/dist/src/utils/type-mapping.js +42 -35
- package/dist/src/utils/type-mapping.js.map +1 -1
- package/package.json +22 -4
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,131 @@
|
|
|
5
5
|
格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/),
|
|
6
6
|
版本号遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
|
|
7
7
|
|
|
8
|
+
## [2.0.0] - 2026-01-08
|
|
9
|
+
|
|
10
|
+
### 🎯 重大更新
|
|
11
|
+
|
|
12
|
+
这是一个重大版本更新,引入了全新的架构设计和多项核心功能改进。
|
|
13
|
+
|
|
14
|
+
### ✨ 新增功能
|
|
15
|
+
|
|
16
|
+
#### 🏗️ 项目架构重构
|
|
17
|
+
|
|
18
|
+
- **依赖注入容器** - 引入依赖注入(DI)容器,优化服务注册和解析
|
|
19
|
+
- 实现基于接口的服务注册机制,提升代码解耦和可测试性
|
|
20
|
+
- 支持服务标识符常量管理,统一服务注册和解析
|
|
21
|
+
- 提供容器设置和初始化功能,简化依赖管理
|
|
22
|
+
|
|
23
|
+
- **用例模式(Use Cases)** - 新增多个用例类,负责处理核心业务逻辑
|
|
24
|
+
- `FetchApifoxDataUseCase` - 处理从 Apifox 获取 OpenAPI 文档
|
|
25
|
+
- `GenerateMockUseCase` - 处理 Mock 文件生成
|
|
26
|
+
- `GenerateTypesUseCase` - 处理 TypeScript 类型生成
|
|
27
|
+
- `ServeMockUseCase` - 处理 Mock 服务器启动
|
|
28
|
+
- 每个用例专注于单一职责,提升代码可维护性
|
|
29
|
+
|
|
30
|
+
- **领域驱动设计(DDD)架构** - 重构项目结构,采用分层架构
|
|
31
|
+
- **domain/** - 领域层:实体、服务接口、业务逻辑
|
|
32
|
+
- **application/** - 应用层:用例实现
|
|
33
|
+
- **infrastructure/** - 基础设施层:具体实现(文件系统、日志、HTTP 客户端等)
|
|
34
|
+
- **presentation/** - 表现层:HTTP 服务器、中间件等
|
|
35
|
+
- 清晰的层次划分,提升代码组织性和可维护性
|
|
36
|
+
|
|
37
|
+
- **统一文件系统接口** - 实现统一的文件系统操作接口
|
|
38
|
+
- 新增 `IFileSystem` 接口和 `FileSystemImpl` 实现
|
|
39
|
+
- 替代原有的分散文件操作工具,统一文件操作方式
|
|
40
|
+
- 支持依赖注入,便于测试和替换
|
|
41
|
+
|
|
42
|
+
#### 🛡️ 统一错误处理机制
|
|
43
|
+
|
|
44
|
+
- **错误类体系** - 新增统一的错误处理类
|
|
45
|
+
- `ApifoxError` - 基础错误类
|
|
46
|
+
- `ConfigError` - 配置错误类
|
|
47
|
+
- `NetworkError` - 网络错误类
|
|
48
|
+
- `ApifoxApiError` - Apifox API 错误类
|
|
49
|
+
- 所有错误类支持详细的错误信息和建议
|
|
50
|
+
|
|
51
|
+
- **错误码系统** - 引入错误码常量定义
|
|
52
|
+
- 统一的错误码管理(`ERROR_CODES`)
|
|
53
|
+
- 错误码到 HTTP 状态码的映射(`ERROR_TO_HTTP_STATUS`)
|
|
54
|
+
- 便于错误管理和调试
|
|
55
|
+
|
|
56
|
+
- **错误处理中间件** - 新增 Express 错误处理中间件
|
|
57
|
+
- 统一的错误响应格式
|
|
58
|
+
- 自动转换错误码为 HTTP 状态码
|
|
59
|
+
- 提供详细的错误信息和建议
|
|
60
|
+
|
|
61
|
+
#### 📝 类型安全增强
|
|
62
|
+
|
|
63
|
+
- **OpenAPI 类型定义** - 引入完整的 OpenAPI 类型定义
|
|
64
|
+
- `OpenAPIDocument` - OpenAPI 文档类型
|
|
65
|
+
- `OpenAPISchema` - Schema 类型定义
|
|
66
|
+
- 将多个函数的参数和返回值类型从 `any` 修改为具体的 OpenAPI 类型
|
|
67
|
+
- 提升类型安全,减少类型不匹配的风险
|
|
68
|
+
|
|
69
|
+
#### 🧪 测试支持
|
|
70
|
+
|
|
71
|
+
- **E2E 测试框架** - 新增端到端测试支持
|
|
72
|
+
- 使用 Vitest 作为测试框架
|
|
73
|
+
- 支持配置测试、生成文件测试、Mock 服务器测试
|
|
74
|
+
- 提供测试辅助工具和帮助函数
|
|
75
|
+
- 新增测试脚本:`test:e2e`、`test:e2e:config`、`test:e2e:mock`
|
|
76
|
+
|
|
77
|
+
### 🔄 重构改进
|
|
78
|
+
|
|
79
|
+
- **路由管理器重构** - 将路由管理器迁移到基础设施层
|
|
80
|
+
- 实现 `IRouteManager` 接口
|
|
81
|
+
- 支持依赖注入,便于测试和替换
|
|
82
|
+
|
|
83
|
+
- **日志系统重构** - 重构日志系统为接口实现
|
|
84
|
+
- 新增 `ILogger` 接口和 `ConsoleLoggerImpl` 实现
|
|
85
|
+
- 支持依赖注入,便于替换日志实现
|
|
86
|
+
|
|
87
|
+
- **服务接口抽象** - 新增多个服务接口
|
|
88
|
+
- `IApifoxClient` - Apifox 客户端接口
|
|
89
|
+
- `IRouteManager` - 路由管理器接口
|
|
90
|
+
- `IFileSystem` - 文件系统接口
|
|
91
|
+
- `ILogger` - 日志接口
|
|
92
|
+
- `IHttpClient` - HTTP 客户端接口
|
|
93
|
+
|
|
94
|
+
- **代码组织优化** - 优化代码组织结构
|
|
95
|
+
- 多个模块文件路径发生变化(内部重构,不影响用户使用)
|
|
96
|
+
- `src/server/` → `src/infrastructure/server/` 或 `src/presentation/http/`
|
|
97
|
+
- `src/utils/logger.ts` → `src/infrastructure/logger/console-logger.impl.ts`
|
|
98
|
+
- `src/utils/file-operations.ts` → `src/infrastructure/file-system/file-system.impl.ts`
|
|
99
|
+
- 移除不再使用的代码和模块
|
|
100
|
+
- 统一导出文件,简化导入路径
|
|
101
|
+
- 提升代码整洁度和可维护性
|
|
102
|
+
- 注意:这些是内部重构,用户通过配置文件(`apifox.config.json`、`mock.config.js`)和命令行工具使用,不受影响
|
|
103
|
+
|
|
104
|
+
### 📖 文档更新
|
|
105
|
+
|
|
106
|
+
- **架构设计文档** - 新增架构设计文档(`doc/ARCHITECTURE_DESIGN.md`)
|
|
107
|
+
- 提供项目整体结构说明
|
|
108
|
+
- 详细的功能模块介绍
|
|
109
|
+
- 依赖注入使用指南
|
|
110
|
+
|
|
111
|
+
## [1.4.6] - 2025-12-09
|
|
112
|
+
|
|
113
|
+
### 🐛 修复
|
|
114
|
+
|
|
115
|
+
- **修复代理接口响应状态码不一致问题** - 修复代理接口与实际接口响应状态码不一致的问题
|
|
116
|
+
- 修改为完全透明代理,完全原样返回响应
|
|
117
|
+
- 确保代理响应包含原始状态码、响应头和响应体
|
|
118
|
+
- 禁用 axios 的状态码验证,让所有响应都被视为成功并原样返回
|
|
119
|
+
|
|
120
|
+
### ✨ 新增
|
|
121
|
+
|
|
122
|
+
- **Apifox API 基础 URL 配置支持** - 增加可选的 Apifox API 基础 URL 配置
|
|
123
|
+
- 在 `apifox.config.json` 中新增 `apiUrl` 配置项(可选,默认:`https://api.apifox.com`)
|
|
124
|
+
- 支持自定义 Apifox API 服务器地址,适用于私有部署或内网环境
|
|
125
|
+
- 更新相关文档和配置文件示例
|
|
126
|
+
|
|
127
|
+
- **路径前缀配置支持** - 添加路径前缀配置支持,优化路由匹配逻辑
|
|
128
|
+
- 在 `mock.config.js` 中新增 `pathPrefixes` 配置项(可选)
|
|
129
|
+
- 支持单个字符串或字符串数组配置
|
|
130
|
+
- 用于处理生成路径与真实请求的前缀差异,兼容项目接口前缀
|
|
131
|
+
- 优化路由匹配逻辑,自动处理路径前缀的添加和移除
|
|
132
|
+
|
|
8
133
|
## [1.4.5] - 2025-11-05
|
|
9
134
|
|
|
10
135
|
### 🐛 修复
|
package/README.md
CHANGED
|
@@ -69,7 +69,7 @@ export default {
|
|
|
69
69
|
// 本地服务的端口
|
|
70
70
|
port: 10000,
|
|
71
71
|
// 默认代理至系统测试环境, 请配置本地host
|
|
72
|
-
target: 'http://
|
|
72
|
+
target: 'http://172.24.7.99:8082',
|
|
73
73
|
// 开始remote参数, 通过url中remote=xxx来代理多个后端地址, 需要mock直接在url中设置remote=mock即可
|
|
74
74
|
remoteTarget: true,
|
|
75
75
|
// 按接口粒度控制 Mock/Proxy(可选)
|
|
@@ -166,6 +166,7 @@ const login = async (
|
|
|
166
166
|
- `projectId`: Apifox 项目 ID(在项目设置中查看)
|
|
167
167
|
- `token`: Apifox API Token(在账号设置中生成, 需账号在当前项目中有管理员及以上权限)
|
|
168
168
|
- `branchId`: 项目分支名称(number类型,有key则必须有值)
|
|
169
|
+
- `apiUrl`: Apifox API 基础 URL(可选,默认:`https://api.apifox.com`)。用于自定义 Apifox API 服务器地址,适用于私有部署或内网环境
|
|
169
170
|
- `mockDir`: Mock 文件生成目录(默认:`./mock`)
|
|
170
171
|
- `typesDir`: TypeScript 类型文件生成目录(默认:`./src/types/mock`)
|
|
171
172
|
- `generate`: 生成范围(可选,默认 `all`)。可选值:
|
|
@@ -208,15 +209,16 @@ const login = async (
|
|
|
208
209
|
|
|
209
210
|
#### 配置选项说明
|
|
210
211
|
|
|
211
|
-
| 参数 | 类型
|
|
212
|
-
| -------------- |
|
|
213
|
-
| `model` | `string`
|
|
214
|
-
| `https` | `boolean`
|
|
215
|
-
| `port` | `number`
|
|
216
|
-
| `target` | `string`
|
|
217
|
-
| `remoteTarget` | `boolean`
|
|
218
|
-
| `
|
|
219
|
-
| `
|
|
212
|
+
| 参数 | 类型 | 默认值 | 说明 |
|
|
213
|
+
| -------------- | -------------------- | ------- | ------------------------------------------------------- |
|
|
214
|
+
| `model` | `string` | `mock` | 工作模式:`mock`(本地数据)或 `proxy`(代理到远程) |
|
|
215
|
+
| `https` | `boolean` | `false` | 是否开启 HTTPS |
|
|
216
|
+
| `port` | `number` | `10000` | Mock 服务器端口 |
|
|
217
|
+
| `target` | `string` | - | 远程服务器目标地址(代理模式使用) |
|
|
218
|
+
| `remoteTarget` | `boolean` | `true` | 是否支持页面 URL 参数控制(`?remote=mock/https://xxx`) |
|
|
219
|
+
| `pathPrefixes` | `string \| string[]` | - | 请求路径前缀(用于处理生成路径与真实请求的前缀差异) |
|
|
220
|
+
| `mockRoutes` | `string[]` | `[]` | 强制使用 Mock 的路由列表(可选) |
|
|
221
|
+
| `proxyRoutes` | `string[]` | `[]` | 强制使用 Proxy 的路由列表(可选) |
|
|
220
222
|
|
|
221
223
|
#### 工作模式说明
|
|
222
224
|
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apifox-mock-generator",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "从Apifox拉取API接口并生成本地mock和TypeScript类型文件,并提供mock服务器",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -15,10 +15,26 @@
|
|
|
15
15
|
"dev:generate": "tsx src/scripts/generate-mock.ts",
|
|
16
16
|
"dev:serve": "tsx src/scripts/serve-mock.ts",
|
|
17
17
|
"dev:full": "npm run dev:generate && npm run dev:serve",
|
|
18
|
+
"test:e2e": "vitest run tests/e2e",
|
|
19
|
+
"test:e2e:config": "vitest run tests/e2e/apifox-config.e2e.test.ts tests/e2e/generated-files.e2e.test.ts",
|
|
20
|
+
"test:e2e:mock": "vitest run tests/e2e/mock-config.e2e.test.ts tests/e2e/mock-server.e2e.test.ts",
|
|
18
21
|
"prepublishOnly": "npm run build"
|
|
19
22
|
},
|
|
20
|
-
"files": [
|
|
21
|
-
|
|
23
|
+
"files": [
|
|
24
|
+
"dist",
|
|
25
|
+
"README.md",
|
|
26
|
+
"LICENSE",
|
|
27
|
+
"CHANGELOG.md"
|
|
28
|
+
],
|
|
29
|
+
"keywords": [
|
|
30
|
+
"apifox",
|
|
31
|
+
"mock",
|
|
32
|
+
"api",
|
|
33
|
+
"typescript",
|
|
34
|
+
"mock-server",
|
|
35
|
+
"openapi",
|
|
36
|
+
"code-generator"
|
|
37
|
+
],
|
|
22
38
|
"author": "liujun",
|
|
23
39
|
"license": "MIT",
|
|
24
40
|
"repository": {
|
|
@@ -42,8 +58,10 @@
|
|
|
42
58
|
"eslint-plugin-unicorn": "^61.0.2",
|
|
43
59
|
"eslint-plugin-vue": "^10.5.1",
|
|
44
60
|
"glob": "^11.0.3",
|
|
61
|
+
"puppeteer": "^24.34.0",
|
|
45
62
|
"tsx": "^4.7.0",
|
|
46
|
-
"typescript": "^5.3.3"
|
|
63
|
+
"typescript": "^5.3.3",
|
|
64
|
+
"vitest": "^1.0.0"
|
|
47
65
|
},
|
|
48
66
|
"peerDependencies": {
|
|
49
67
|
"lodash": "^4.17.21",
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { IApifoxClient, ILogger } from '../../domain/interfaces.js';
|
|
2
|
+
import type { ApifoxConfig } from '../../types/index.js';
|
|
3
|
+
import type { OpenAPIDocument } from '../../types/openapi.js';
|
|
4
|
+
/**
|
|
5
|
+
* 获取 Apifox 数据用例
|
|
6
|
+
* 负责从 Apifox 获取 OpenAPI 文档
|
|
7
|
+
*/
|
|
8
|
+
export declare class FetchApifoxDataUseCase {
|
|
9
|
+
private readonly apifoxClient;
|
|
10
|
+
private readonly logger;
|
|
11
|
+
constructor(apifoxClient: IApifoxClient, logger: ILogger);
|
|
12
|
+
/**
|
|
13
|
+
* 执行用例
|
|
14
|
+
* @param config Apifox 配置
|
|
15
|
+
* @returns OpenAPI 文档
|
|
16
|
+
*/
|
|
17
|
+
execute(config: ApifoxConfig): Promise<OpenAPIDocument>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=fetch-apifox-data.use-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-apifox-data.use-case.d.ts","sourceRoot":"","sources":["../../../../src/application/use-cases/fetch-apifox-data.use-case.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;GAGG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,OAAO;IAGlC;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;CAmB9D"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 获取 Apifox 数据用例
|
|
3
|
+
* 负责从 Apifox 获取 OpenAPI 文档
|
|
4
|
+
*/
|
|
5
|
+
export class FetchApifoxDataUseCase {
|
|
6
|
+
constructor(apifoxClient, logger) {
|
|
7
|
+
this.apifoxClient = apifoxClient;
|
|
8
|
+
this.logger = logger;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 执行用例
|
|
12
|
+
* @param config Apifox 配置
|
|
13
|
+
* @returns OpenAPI 文档
|
|
14
|
+
*/
|
|
15
|
+
async execute(config) {
|
|
16
|
+
this.logger.info('从 Apifox 拉取 API 数据...');
|
|
17
|
+
try {
|
|
18
|
+
const openapi = await this.apifoxClient.fetchOpenAPI(config);
|
|
19
|
+
const endpointCount = Object.keys(openapi.paths || {}).length;
|
|
20
|
+
this.logger.success(`✓ 从 Apifox 拉取成功(${endpointCount} 个接口)`);
|
|
21
|
+
return openapi;
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
this.logger.error(`❌ 拉取失败: ${error instanceof Error ? error.message : '未知错误'}`);
|
|
25
|
+
throw error;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=fetch-apifox-data.use-case.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-apifox-data.use-case.js","sourceRoot":"","sources":["../../../../src/application/use-cases/fetch-apifox-data.use-case.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,OAAO,sBAAsB;IACjC,YACmB,YAA2B,EAC3B,MAAe;QADf,iBAAY,GAAZ,YAAY,CAAe;QAC3B,WAAM,GAAN,MAAM,CAAS;IAC/B,CAAC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,MAAoB;QAChC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAE1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAE7D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,mBAAmB,aAAa,OAAO,CACxC,CAAC;YAEF,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,WAAW,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAC7D,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ILogger } from '../../domain/interfaces.js';
|
|
2
|
+
import type { ApifoxConfig } from '../../types/index.js';
|
|
3
|
+
import type { OpenAPIDocument } from '../../types/openapi.js';
|
|
4
|
+
import { EndpointFilterService } from '../../domain/services/endpoint-filter.service.js';
|
|
5
|
+
import { OpenAPIConverterService } from '../../domain/services/openapi-converter.service.js';
|
|
6
|
+
/**
|
|
7
|
+
* 生成 Mock 用例
|
|
8
|
+
* 负责生成 Mock 文件
|
|
9
|
+
*/
|
|
10
|
+
export declare class GenerateMockUseCase {
|
|
11
|
+
private readonly endpointFilter;
|
|
12
|
+
private readonly openapiConverter;
|
|
13
|
+
private readonly logger;
|
|
14
|
+
constructor(endpointFilter: EndpointFilterService, openapiConverter: OpenAPIConverterService, logger: ILogger);
|
|
15
|
+
/**
|
|
16
|
+
* 执行用例
|
|
17
|
+
* @param config Apifox 配置
|
|
18
|
+
* @param openapi OpenAPI 文档
|
|
19
|
+
*/
|
|
20
|
+
execute(config: ApifoxConfig, openapi: OpenAPIDocument): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=generate-mock.use-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-mock.use-case.d.ts","sourceRoot":"","sources":["../../../../src/application/use-cases/generate-mock.use-case.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;AAI7F;;;GAGG;AACH,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,cAAc,EAAE,qBAAqB,EACrC,gBAAgB,EAAE,uBAAuB,EACzC,MAAM,EAAE,OAAO;IAGlC;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CA+B7E"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { generateMockFiles } from '../../generators/mock-generator.js';
|
|
2
|
+
/**
|
|
3
|
+
* 生成 Mock 用例
|
|
4
|
+
* 负责生成 Mock 文件
|
|
5
|
+
*/
|
|
6
|
+
export class GenerateMockUseCase {
|
|
7
|
+
constructor(endpointFilter, openapiConverter, logger) {
|
|
8
|
+
this.endpointFilter = endpointFilter;
|
|
9
|
+
this.openapiConverter = openapiConverter;
|
|
10
|
+
this.logger = logger;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 执行用例
|
|
14
|
+
* @param config Apifox 配置
|
|
15
|
+
* @param openapi OpenAPI 文档
|
|
16
|
+
*/
|
|
17
|
+
async execute(config, openapi) {
|
|
18
|
+
this.logger.title('生成 Mock 文件...');
|
|
19
|
+
// 转换为端点实体
|
|
20
|
+
const allEndpoints = this.openapiConverter.convert(openapi);
|
|
21
|
+
this.logger.success(`✓ 解析到 ${allEndpoints.length} 个 API 接口`);
|
|
22
|
+
// 应用过滤(转换为普通对象以兼容现有生成器)
|
|
23
|
+
const filteredEndpoints = this.endpointFilter.filter(allEndpoints, config.apiFilter);
|
|
24
|
+
if (config.apiFilter) {
|
|
25
|
+
const filteredCount = allEndpoints.length - filteredEndpoints.length;
|
|
26
|
+
if (filteredCount > 0) {
|
|
27
|
+
this.logger.info(` 应用客户端筛选规则,过滤掉 ${filteredCount} 个接口`);
|
|
28
|
+
}
|
|
29
|
+
this.logger.success(`✓ 保留 ${filteredEndpoints.length} 个接口用于生成`);
|
|
30
|
+
}
|
|
31
|
+
if (filteredEndpoints.length === 0) {
|
|
32
|
+
this.logger.warn('没有匹配的 API 接口,请检查筛选规则配置');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
// 转换为普通对象以兼容现有生成器
|
|
36
|
+
const endpoints = filteredEndpoints.map(e => e.toJSON());
|
|
37
|
+
// 生成 Mock 文件
|
|
38
|
+
await generateMockFiles(config, endpoints, openapi.components?.schemas);
|
|
39
|
+
this.logger.success('✓ Mock 文件生成完成');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=generate-mock.use-case.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-mock.use-case.js","sourceRoot":"","sources":["../../../../src/application/use-cases/generate-mock.use-case.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAGvE;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IAC9B,YACmB,cAAqC,EACrC,gBAAyC,EACzC,MAAe;QAFf,mBAAc,GAAd,cAAc,CAAuB;QACrC,qBAAgB,GAAhB,gBAAgB,CAAyB;QACzC,WAAM,GAAN,MAAM,CAAS;IAC/B,CAAC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,MAAoB,EAAE,OAAwB;QAC1D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAEnC,UAAU;QACV,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,YAAY,CAAC,MAAM,WAAW,CAAC,CAAC;QAE7D,wBAAwB;QACxB,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAErF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC;YACrE,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,aAAa,MAAM,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,iBAAiB,CAAC,MAAM,UAAU,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,kBAAkB;QAClB,MAAM,SAAS,GAAkB,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAExE,aAAa;QACb,MAAM,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAExE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ILogger } from '../../domain/interfaces.js';
|
|
2
|
+
import type { ApifoxConfig } from '../../types/index.js';
|
|
3
|
+
import type { OpenAPIDocument } from '../../types/openapi.js';
|
|
4
|
+
import { EndpointFilterService } from '../../domain/services/endpoint-filter.service.js';
|
|
5
|
+
import { OpenAPIConverterService } from '../../domain/services/openapi-converter.service.js';
|
|
6
|
+
/**
|
|
7
|
+
* 生成类型用例
|
|
8
|
+
* 负责生成 TypeScript 类型文件
|
|
9
|
+
*/
|
|
10
|
+
export declare class GenerateTypesUseCase {
|
|
11
|
+
private readonly endpointFilter;
|
|
12
|
+
private readonly openapiConverter;
|
|
13
|
+
private readonly logger;
|
|
14
|
+
constructor(endpointFilter: EndpointFilterService, openapiConverter: OpenAPIConverterService, logger: ILogger);
|
|
15
|
+
/**
|
|
16
|
+
* 执行用例
|
|
17
|
+
* @param config Apifox 配置
|
|
18
|
+
* @param openapi OpenAPI 文档
|
|
19
|
+
*/
|
|
20
|
+
execute(config: ApifoxConfig, openapi: OpenAPIDocument): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=generate-types.use-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-types.use-case.d.ts","sourceRoot":"","sources":["../../../../src/application/use-cases/generate-types.use-case.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AACzF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oDAAoD,CAAC;AAI7F;;;GAGG;AACH,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,cAAc,EAAE,qBAAqB,EACrC,gBAAgB,EAAE,uBAAuB,EACzC,MAAM,EAAE,OAAO;IAGlC;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CA+B7E"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { generateTypeFiles } from '../../generators/type-generator.js';
|
|
2
|
+
/**
|
|
3
|
+
* 生成类型用例
|
|
4
|
+
* 负责生成 TypeScript 类型文件
|
|
5
|
+
*/
|
|
6
|
+
export class GenerateTypesUseCase {
|
|
7
|
+
constructor(endpointFilter, openapiConverter, logger) {
|
|
8
|
+
this.endpointFilter = endpointFilter;
|
|
9
|
+
this.openapiConverter = openapiConverter;
|
|
10
|
+
this.logger = logger;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 执行用例
|
|
14
|
+
* @param config Apifox 配置
|
|
15
|
+
* @param openapi OpenAPI 文档
|
|
16
|
+
*/
|
|
17
|
+
async execute(config, openapi) {
|
|
18
|
+
this.logger.title('生成 TypeScript 类型文件...');
|
|
19
|
+
// 转换为端点实体
|
|
20
|
+
const allEndpoints = this.openapiConverter.convert(openapi);
|
|
21
|
+
this.logger.success(`✓ 解析到 ${allEndpoints.length} 个 API 接口`);
|
|
22
|
+
// 应用过滤(转换为普通对象以兼容现有生成器)
|
|
23
|
+
const filteredEndpoints = this.endpointFilter.filter(allEndpoints, config.apiFilter);
|
|
24
|
+
if (config.apiFilter) {
|
|
25
|
+
const filteredCount = allEndpoints.length - filteredEndpoints.length;
|
|
26
|
+
if (filteredCount > 0) {
|
|
27
|
+
this.logger.info(` 应用客户端筛选规则,过滤掉 ${filteredCount} 个接口`);
|
|
28
|
+
}
|
|
29
|
+
this.logger.success(`✓ 保留 ${filteredEndpoints.length} 个接口用于生成`);
|
|
30
|
+
}
|
|
31
|
+
if (filteredEndpoints.length === 0) {
|
|
32
|
+
this.logger.warn('没有匹配的 API 接口,请检查筛选规则配置');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
// 转换为普通对象以兼容现有生成器
|
|
36
|
+
const endpoints = filteredEndpoints.map(e => e.toJSON());
|
|
37
|
+
// 生成类型文件
|
|
38
|
+
await generateTypeFiles(config, openapi, endpoints);
|
|
39
|
+
this.logger.success('✓ 类型文件生成完成');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=generate-types.use-case.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-types.use-case.js","sourceRoot":"","sources":["../../../../src/application/use-cases/generate-types.use-case.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAGvE;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IAC/B,YACmB,cAAqC,EACrC,gBAAyC,EACzC,MAAe;QAFf,mBAAc,GAAd,cAAc,CAAuB;QACrC,qBAAgB,GAAhB,gBAAgB,CAAyB;QACzC,WAAM,GAAN,MAAM,CAAS;IAC/B,CAAC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,MAAoB,EAAE,OAAwB;QAC1D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAE3C,UAAU;QACV,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,YAAY,CAAC,MAAM,WAAW,CAAC,CAAC;QAE7D,wBAAwB;QACxB,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAErF,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC;YACrE,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,aAAa,MAAM,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,iBAAiB,CAAC,MAAM,UAAU,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAED,kBAAkB;QAClB,MAAM,SAAS,GAAkB,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAExE,SAAS;QACT,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/application/use-cases/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/application/use-cases/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ILogger } from '../../domain/interfaces.js';
|
|
2
|
+
import type { ApifoxConfig } from '../../types/index.js';
|
|
3
|
+
import type { MockConfig } from '../../core/mock-config-loader.js';
|
|
4
|
+
/**
|
|
5
|
+
* 启动 Mock 服务器用例
|
|
6
|
+
* 负责启动 Mock 服务器并加载路由
|
|
7
|
+
*
|
|
8
|
+
* 注意:这里暂时直接使用 RouteManager 类,因为现有代码依赖具体类型
|
|
9
|
+
* Phase 4 中将重构服务器代码以使用接口
|
|
10
|
+
*/
|
|
11
|
+
export declare class ServeMockUseCase {
|
|
12
|
+
private readonly logger;
|
|
13
|
+
constructor(logger: ILogger);
|
|
14
|
+
/**
|
|
15
|
+
* 检查并清理端口占用
|
|
16
|
+
* @param port 端口号
|
|
17
|
+
*/
|
|
18
|
+
checkAndCleanPort(port: number): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* 执行用例
|
|
21
|
+
* @param apifoxConfig Apifox 配置
|
|
22
|
+
* @param mockConfig Mock 配置
|
|
23
|
+
*/
|
|
24
|
+
execute(apifoxConfig: ApifoxConfig, mockConfig: MockConfig): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=serve-mock.use-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve-mock.use-case.d.ts","sourceRoot":"","sources":["../../../../src/application/use-cases/serve-mock.use-case.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAUnE;;;;;;GAMG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,OAAO;IAG5C;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCpD;;;;OAIG;IACG,OAAO,CACX,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC;CA6CjB"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { RouteManagerImpl } from '../../infrastructure/route-manager/route-manager.impl.js';
|
|
2
|
+
import { loadMockRoutes } from '../../infrastructure/server/route-loader.js';
|
|
3
|
+
import { setupMockServer } from '../../presentation/http/express-server.js';
|
|
4
|
+
import { setupHotReload } from '../../infrastructure/server/hot-reload.js';
|
|
5
|
+
import { exec } from 'child_process';
|
|
6
|
+
import { promisify } from 'util';
|
|
7
|
+
const execAsync = promisify(exec);
|
|
8
|
+
/**
|
|
9
|
+
* 启动 Mock 服务器用例
|
|
10
|
+
* 负责启动 Mock 服务器并加载路由
|
|
11
|
+
*
|
|
12
|
+
* 注意:这里暂时直接使用 RouteManager 类,因为现有代码依赖具体类型
|
|
13
|
+
* Phase 4 中将重构服务器代码以使用接口
|
|
14
|
+
*/
|
|
15
|
+
export class ServeMockUseCase {
|
|
16
|
+
constructor(logger) {
|
|
17
|
+
this.logger = logger;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 检查并清理端口占用
|
|
21
|
+
* @param port 端口号
|
|
22
|
+
*/
|
|
23
|
+
async checkAndCleanPort(port) {
|
|
24
|
+
try {
|
|
25
|
+
const { stdout } = await execAsync(`netstat -ano | findstr :${port}`);
|
|
26
|
+
if (stdout.trim()) {
|
|
27
|
+
this.logger.warn(`端口 ${port} 被占用,正在清理...`);
|
|
28
|
+
const lines = stdout.trim().split('\n');
|
|
29
|
+
const pids = new Set();
|
|
30
|
+
lines.forEach(line => {
|
|
31
|
+
const parts = line.trim().split(/\s+/);
|
|
32
|
+
if (parts.length >= 5) {
|
|
33
|
+
const pid = parts[parts.length - 1];
|
|
34
|
+
if (pid && pid !== '0') {
|
|
35
|
+
pids.add(pid);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
for (const pid of pids) {
|
|
40
|
+
try {
|
|
41
|
+
await execAsync(`taskkill /F /PID ${pid}`);
|
|
42
|
+
this.logger.success(`✓ 已清理进程 ${pid}`);
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
this.logger.warn(`无法清理进程 ${pid}: ${error}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// 等待端口释放
|
|
49
|
+
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
// 端口未被占用,这是正常情况
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* 执行用例
|
|
58
|
+
* @param apifoxConfig Apifox 配置
|
|
59
|
+
* @param mockConfig Mock 配置
|
|
60
|
+
*/
|
|
61
|
+
async execute(apifoxConfig, mockConfig) {
|
|
62
|
+
// 检查并清理端口占用
|
|
63
|
+
await this.checkAndCleanPort(mockConfig.port);
|
|
64
|
+
this.logger.title('启动 Mock 服务器...');
|
|
65
|
+
// 初始加载所有 Mock 路由
|
|
66
|
+
const routes = await loadMockRoutes(apifoxConfig, mockConfig);
|
|
67
|
+
const routeManager = new RouteManagerImpl();
|
|
68
|
+
routes.forEach(route => {
|
|
69
|
+
const key = `${route.method} ${route.path}`;
|
|
70
|
+
routeManager.setRoute(key, route);
|
|
71
|
+
});
|
|
72
|
+
this.logger.success(`加载了 ${routes.length} 个 Mock 路由`);
|
|
73
|
+
// 创建并启动服务器
|
|
74
|
+
const app = setupMockServer(routeManager, mockConfig);
|
|
75
|
+
app.listen(mockConfig.port, 'localhost', () => {
|
|
76
|
+
this.logger.success(`\n🚀 Mock 服务器已启动!`);
|
|
77
|
+
this.logger.info(` 🌐 地址: http://localhost:${mockConfig.port}`);
|
|
78
|
+
this.logger.info(` ⚙️ 工作模式: ${mockConfig.model}`);
|
|
79
|
+
if (mockConfig.model === 'mock') {
|
|
80
|
+
// 纯 mock 模式:只在存在 proxyRoutes 时提示目标服务器
|
|
81
|
+
if (mockConfig.proxyRoutes?.length) {
|
|
82
|
+
this.logger.info(` 🎯 目标服务器: ${mockConfig.target}`);
|
|
83
|
+
}
|
|
84
|
+
this.logger.info(` 📁 Mock 目录: ${apifoxConfig.mockDir}`);
|
|
85
|
+
this.logger.info(` 📊 已加载路由: ${routes.length} 个`);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
// 纯 proxy 模式:仅在存在 mockRoutes 时提示本地 Mock 目录和路由数
|
|
89
|
+
this.logger.info(` 🎯 目标服务器: ${mockConfig.target}`);
|
|
90
|
+
if (mockConfig.mockRoutes?.length) {
|
|
91
|
+
this.logger.info(` 📁 Mock 目录: ${apifoxConfig.mockDir}`);
|
|
92
|
+
this.logger.info(` 📊 已加载路由: ${routes.length} 个`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
this.logger.info('\n💡 提示:');
|
|
96
|
+
this.logger.info(' - 🔥 热重载已启用,修改 Mock 文件将自动生效');
|
|
97
|
+
this.logger.info(' - 🛑 按 Ctrl+C 停止服务器\n');
|
|
98
|
+
// 启动文件监听(热重载)
|
|
99
|
+
setupHotReload(apifoxConfig, routeManager, mockConfig);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=serve-mock.use-case.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serve-mock.use-case.js","sourceRoot":"","sources":["../../../../src/application/use-cases/serve-mock.use-case.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { ApifoxConfig } from '../types/index.js';
|
|
2
|
+
import type { OpenAPIDocument } from '../types/openapi.js';
|
|
2
3
|
/**
|
|
3
4
|
* 从 Apifox 拉取 OpenAPI 数据
|
|
5
|
+
*
|
|
6
|
+
* @deprecated 此函数已废弃,请使用 IApifoxClient 接口
|
|
7
|
+
* 此函数现在内部调用新的 ApifoxClientImpl 实现
|
|
4
8
|
*/
|
|
5
|
-
export declare function fetchOpenAPIFromApifox(config: ApifoxConfig): Promise<
|
|
9
|
+
export declare function fetchOpenAPIFromApifox(config: ApifoxConfig): Promise<OpenAPIDocument>;
|
|
6
10
|
//# sourceMappingURL=apifox-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apifox-client.d.ts","sourceRoot":"","sources":["../../../src/core/apifox-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"apifox-client.d.ts","sourceRoot":"","sources":["../../../src/core/apifox-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAK3D;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,CAI3F"}
|