stock-nse-india
Version:
This package will help us to get equity/index details and historical data from National Stock Exchange of India.
50 lines • 2.53 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
/* eslint-disable no-console */
var express_1 = __importDefault(require("express"));
var http_1 = __importDefault(require("http"));
var swagger_ui_express_1 = __importDefault(require("swagger-ui-express"));
var apollo_server_express_1 = require("apollo-server-express");
var apollo_server_core_1 = require("apollo-server-core");
var graphql_1 = require("graphql");
var load_1 = require("@graphql-tools/load");
var load_files_1 = require("@graphql-tools/load-files");
var merge_1 = require("@graphql-tools/merge");
var graphql_file_loader_1 = require("@graphql-tools/graphql-file-loader");
var swaggerDocOptions_1 = require("./swaggerDocOptions");
var path_1 = __importDefault(require("path"));
var routes_1 = require("./routes");
var app = express_1.default();
var port = process.env.PORT || 3000;
var hostUrl = process.env.HOST_URL || "http://localhost:" + port;
app.use(routes_1.mainRouter);
app.use('/api-docs', swagger_ui_express_1.default.serve, swagger_ui_express_1.default.setup(swaggerDocOptions_1.openapiSpecification));
var loadedTypeDefs = load_1.loadSchemaSync(path_1.default.join(__dirname, './**/*.graphql'), { loaders: [new graphql_file_loader_1.GraphQLFileLoader()] });
var loadedResolvers = load_files_1.loadFilesSync(path_1.default.join(__dirname, './**/*.resolver.{ts,js}'));
var typeDefs = merge_1.mergeTypeDefs(loadedTypeDefs);
if (process.env.NODE_ENV === 'development') {
console.log('\n=== GraphQL Schema Start ===\n');
var printedTypeDefs = graphql_1.print(typeDefs);
console.log(printedTypeDefs);
console.log('\n=== GraphQL Schema End ===\n');
}
var resolvers = merge_1.mergeResolvers(loadedResolvers);
var httpServer = http_1.default.createServer(app);
var server = new apollo_server_express_1.ApolloServer({
typeDefs: typeDefs,
resolvers: resolvers,
plugins: [apollo_server_core_1.ApolloServerPluginDrainHttpServer({ httpServer: httpServer })],
});
server.start().then(function () {
server.applyMiddleware({ app: app });
app.listen(port, function () {
console.log("NseIndia App started in port " + port);
console.log("For API docs: " + hostUrl + "/api-docs");
console.log("Open " + hostUrl + " in browser.");
console.log("For graphql: " + hostUrl + server.graphqlPath);
});
});
//# sourceMappingURL=server.js.map