{"_id":"@bytelab.studio/syntra","_rev":"4-e6142c14dabfa6e9380f1ff5037ca240","name":"@bytelab.studio/syntra","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@bytelab.studio/syntra","version":"0.1.0","keywords":["server","api","rest","RESTful","restful","syntra"],"author":{"name":"Christoph Koschel"},"license":"MIT","_id":"@bytelab.studio/syntra@0.1.0","maintainers":[{"name":"koschel-christoph","email":"christoph.koschel86@gmail.com"}],"homepage":"https://github.com/bytelab-studio/syntra#readme","bugs":{"url":"https://github.com/bytelab-studio/syntra/issues"},"bin":{"syntra":"out/app.js"},"dist":{"shasum":"3faefe4038387845f168150d0f36d19ccc0ad03d","tarball":"https://registry.npmjs.org/@bytelab.studio/syntra/-/syntra-0.1.0.tgz","fileCount":13,"integrity":"sha512-NVMvXesTmuIkrQWxKd2kEUIx86KHmHrb4AzhBu+WwDMlSKrRtOhrikxxdMfYC4zwnhZ41irGrTTeonoF2TXjHQ==","signatures":[{"sig":"MEQCIEhSVS9jlo2HIn/TVmbLMisnpaivSE+RkklCLqcqVJfZAiBfUGpUsR+9zB6D9LFtcwvgwmlgfBL7YsF5/11+OzhudQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72488},"main":"","gitHead":"3746335ee7f6f0b83ba4b1d123867b6da6bd282e","scripts":{"test":"echo \"Error: no tests specified\" && exit 0","syntra":"node out/app.js"},"_npmUser":{"name":"koschel-christoph","email":"christoph.koschel86@gmail.com"},"repository":{"url":"git+https://github.com/bytelab-studio/syntra.git","type":"git"},"_npmVersion":"8.19.4","description":"A modular RESTful API Server","directories":{},"_nodeVersion":"16.20.2","dependencies":{"cors":"^2.8.5","jose":"^5.9.4","morgan":"^1.10.0","mysql2":"^3.11.3","express":"^4.21.0","openapi3-ts":"^4.4.0","@bytelab.studio/syntra.plugin":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/cors":"^2.8.17","@types/node":"^22.7.5","@types/morgan":"^1.9.9","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/syntra_0.1.0_1734461388457_0.48325747882490067","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bytelab.studio/syntra","version":"0.1.1","keywords":["server","api","rest","RESTful","restful","syntra"],"author":{"name":"Christoph Koschel"},"license":"MIT","_id":"@bytelab.studio/syntra@0.1.1","maintainers":[{"name":"koschel-christoph","email":"christoph.koschel86@gmail.com"}],"homepage":"https://github.com/bytelab-studio/syntra#readme","bugs":{"url":"https://github.com/bytelab-studio/syntra/issues"},"bin":{"syntra":"out/app.js"},"dist":{"shasum":"34979a0f481a58b0c391b9becd0746fb88de57fc","tarball":"https://registry.npmjs.org/@bytelab.studio/syntra/-/syntra-0.1.1.tgz","fileCount":13,"integrity":"sha512-LH2cGcjFeoZ76J/ihKDrUg0u3eQxUuTQD0nrsgqoiJ+Ef+W1T3JPPZ/74i3HJpT2pkuD0hDSOKkKbfWQe/k91g==","signatures":[{"sig":"MEYCIQC7uEyywNcVHGRNMLlfL8SDLrtDftmMihCRG1NhxRDDrgIhALW7ZpfkYT9O96X7sN/qCKHiuD5L8Lo1g2Ga64kMyk+J","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72357},"main":"","gitHead":"9a46787c0dcf32a1f14cabec3249191cb171e702","scripts":{"test":"echo \"Error: no tests specified\" && exit 0","syntra":"node out/app.js"},"_npmUser":{"name":"koschel-christoph","email":"christoph.koschel86@gmail.com"},"repository":{"url":"git+https://github.com/bytelab-studio/syntra.git","type":"git"},"_npmVersion":"8.19.4","description":"A modular RESTful API Server","directories":{},"_nodeVersion":"16.20.2","dependencies":{"cors":"^2.8.5","jose":"^5.9.4","morgan":"^1.10.0","mysql2":"^3.11.3","express":"^4.21.0","openapi3-ts":"^4.4.0","@bytelab.studio/syntra.plugin":"^0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"@types/cors":"^2.8.17","@types/node":"^22.7.5","@types/morgan":"^1.9.9","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/syntra_0.1.1_1734707758807_0.5084950234848042","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@bytelab.studio/syntra","version":"0.1.2","keywords":["server","api","rest","RESTful","restful","syntra"],"author":{"name":"Christoph Koschel"},"license":"MIT","_id":"@bytelab.studio/syntra@0.1.2","maintainers":[{"name":"koschel-christoph","email":"christoph.koschel86@gmail.com"}],"homepage":"https://github.com/bytelab-studio/syntra#readme","bugs":{"url":"https://github.com/bytelab-studio/syntra/issues"},"bin":{"syntra":"out/app.js"},"dist":{"shasum":"3e258b875067eed25b161a96d640a2b79eaa413a","tarball":"https://registry.npmjs.org/@bytelab.studio/syntra/-/syntra-0.1.2.tgz","fileCount":13,"integrity":"sha512-Q8ymecd+EQsYwTY7/QTujvm4B9szC41whIcwLF83G1XUu0hXDZOfsRavsKpc0geqbcIWWPzuKDlvkoF4nnXy/Q==","signatures":[{"sig":"MEUCIQDW3XvJHMIAL55pvYtGpjKGfm2JzUb9ifWpGVy/EahSjgIgAi2z+sE21itlVXlmGXqcTqFQEuFzVNv2zIwEiGC/tWY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73240},"main":"","gitHead":"d91fa48011e7d2421a99a454fd8baa8944e8e49e","scripts":{"test":"echo \"Error: no tests specified\" && exit 0","syntra":"node out/app.js"},"_npmUser":{"name":"koschel-christoph","email":"christoph.koschel86@gmail.com"},"repository":{"url":"git+https://github.com/bytelab-studio/syntra.git","type":"git"},"_npmVersion":"8.19.4","description":"A modular RESTful API Server","directories":{},"_nodeVersion":"16.20.2","dependencies":{"cors":"^2.8.5","jose":"^5.9.4","morgan":"^1.10.0","mysql2":"^3.11.3","express":"^4.21.0","openapi3-ts":"^4.4.0","@bytelab.studio/syntra.plugin":"^0.1.2"},"_hasShrinkwrap":false,"devDependencies":{"@types/cors":"^2.8.17","@types/node":"^22.7.5","@types/morgan":"^1.9.9","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/syntra_0.1.2_1734714728140_0.0268692495217826","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@bytelab.studio/syntra","version":"0.2.0","keywords":["server","api","rest","RESTful","restful","syntra"],"author":{"name":"Christoph Koschel"},"license":"MIT","_id":"@bytelab.studio/syntra@0.2.0","maintainers":[{"name":"koschel-christoph","email":"christoph.koschel86@gmail.com"}],"homepage":"https://github.com/bytelab-studio/syntra#readme","bugs":{"url":"https://github.com/bytelab-studio/syntra/issues"},"bin":{"syntra":"out/app.js"},"dist":{"shasum":"9c01201ece28a345669f316d6bd5340b6d955257","tarball":"https://registry.npmjs.org/@bytelab.studio/syntra/-/syntra-0.2.0.tgz","fileCount":13,"integrity":"sha512-vm2E0KbnWo08eSLT6D0PbWbheW7oZHpb82aQiMh/Trh36uBouCO6YZm6uf4BT+0TtOBbVfZIc45LcE0yWABsJg==","signatures":[{"sig":"MEYCIQC0e7c/NAI4enit5M4ytQkj6+jLH1ygwqLstDssRx2VawIhAKIZjf48RFK31r0W9ik8E/YlvUHSdQh7qlVikss1Keta","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73467},"main":"","gitHead":"cb3d7fb5975455529c96776cf8c0ae188df4eef4","scripts":{"test":"jest","syntra":"node out/app.js"},"_npmUser":{"name":"koschel-christoph","email":"christoph.koschel86@gmail.com"},"repository":{"url":"git+https://github.com/bytelab-studio/syntra.git","type":"git"},"_npmVersion":"8.19.4","description":"A modular RESTful API Server","directories":{},"_nodeVersion":"16.20.2","dependencies":{"cors":"^2.8.5","jose":"^5.9.4","dotenv":"^16.4.7","morgan":"^1.10.0","mysql2":"^3.11.3","express":"^4.21.0","openapi3-ts":"^4.4.0","@bytelab.studio/syntra.plugin":"^0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.2.5","@types/cors":"^2.8.17","@types/jest":"^29.5.14","@types/node":"^22.7.5","@types/morgan":"^1.9.9","@types/express":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/syntra_0.2.0_1735121104015_0.030018231910079463","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@bytelab.studio/syntra","version":"0.2.1","description":"A modular RESTful API Server","main":"","author":{"name":"Christoph Koschel"},"repository":{"type":"git","url":"git+https://github.com/bytelab-studio/syntra.git"},"license":"MIT","keywords":["server","api","rest","RESTful","restful","syntra"],"scripts":{"test":"jest","syntra":"node out/app.js"},"bin":{"syntra":"out/app.js"},"dependencies":{"@bytelab.studio/syntra.plugin":"^0.2.0","cors":"^2.8.5","dotenv":"^16.4.7","express":"^4.21.0","jose":"^5.9.4","morgan":"^1.10.0","mysql2":"^3.11.3","openapi3-ts":"^4.4.0"},"devDependencies":{"@types/cors":"^2.8.17","@types/express":"^5.0.0","@types/jest":"^29.5.14","@types/morgan":"^1.9.9","@types/node":"^22.7.5","jest":"^29.7.0","ts-jest":"^29.2.5"},"gitHead":"ee283cfe0ffc458dcb26490701e90c43ce05e801","bugs":{"url":"https://github.com/bytelab-studio/syntra/issues"},"homepage":"https://github.com/bytelab-studio/syntra#readme","_id":"@bytelab.studio/syntra@0.2.1","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-3aJcJgnjJuBuTb7cNJoY3NI4dO9aBKL6wo4bllwv+fomBmLVERXQe1AtDICZQHrr7KEiSMcplaEu+1b9fX5cJg==","shasum":"154a448debe9fa10ae89a50519f6310f75f01039","tarball":"https://registry.npmjs.org/@bytelab.studio/syntra/-/syntra-0.2.1.tgz","fileCount":13,"unpackedSize":73473,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB5lOeR7nw2hx4o4QVdOhCOCW+p1YL/4XIndboqv623jAiAboTt0aLt5wmGCMwQAcgmCalUGiXbQVIkEH4jnLeF1eA=="}]},"_npmUser":{"name":"koschel-christoph","email":"christoph.koschel86@gmail.com"},"directories":{},"maintainers":[{"name":"koschel-christoph","email":"christoph.koschel86@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/syntra_0.2.1_1735126140330_0.07398619350976054"},"_hasShrinkwrap":false}},"time":{"created":"2024-12-17T18:49:48.366Z","modified":"2024-12-25T11:29:00.742Z","0.1.0":"2024-12-17T18:49:48.730Z","0.1.1":"2024-12-20T15:15:58.969Z","0.1.2":"2024-12-20T17:12:08.339Z","0.2.0":"2024-12-25T10:05:04.170Z","0.2.1":"2024-12-25T11:29:00.540Z"},"bugs":{"url":"https://github.com/bytelab-studio/syntra/issues"},"author":{"name":"Christoph Koschel"},"license":"MIT","homepage":"https://github.com/bytelab-studio/syntra#readme","keywords":["server","api","rest","RESTful","restful","syntra"],"repository":{"type":"git","url":"git+https://github.com/bytelab-studio/syntra.git"},"description":"A modular RESTful API Server","maintainers":[{"name":"koschel-christoph","email":"christoph.koschel86@gmail.com"}],"readme":"# Syntra\n\nA Modular RESTful API Server\n\n## Short Overview\n\n**Syntra** is a modular RESTful API server designed to bring a structured approach to building APIs. It includes:\n- Built-in **Swagger** documentation\n- Automatically generated **CRUD** operations\n- Built-in **security** mechanisms\n- **JWT authentication** for secure access\n- Extensible architecture through **plugins**\n\n## Why Choose Syntra?\n\nSyntra offers a robust set of features, but it is essential to understand how it differs from other solutions, such as traditional ORM systems.\n\n### Key Differences\n\nAt first glance, Syntra might resemble an ORM, but it has a fundamentally different approach:\n```typescript\n\nconst row1: Book = Book.select(1);\nconst row2: Book = Book.select(1);\n\nrow1.title.setValue(\"Changed Title\");\n\nconsole.log(row1.title.getValue()); // Changed Title\nconsole.log(row2.title.getValue()); // Title\n```\n\nIn Syntra, objects are **not references to each other**, even when selecting the same row multiple times.\n\n### Strict Ruleset\n\nUnlike traditional ORMs, Syntra enforces a strict set of rules:\n\n- **Primary keys** are always big integers (`bigint`).\n- Only **JSON-serializable datatypes** are allowed.\n\n\n## Dokumentation\n\nFor detailed information on installation and configuration, please refer to the [WIki](./wiki/README.md)\n\n## Contribution\n\nContributions are welcome! If you'd like to help improve Syntra, feel free to submit a pull request or open an issue.\nWhether it's bug fixes, new features, or documentation improvements, all contributions are appreciated.\n","readmeFilename":"README.md"}