diff options
Diffstat (limited to 'scripts/schema.js')
-rw-r--r-- | scripts/schema.js | 36 |
1 files changed, 19 insertions, 17 deletions
diff --git a/scripts/schema.js b/scripts/schema.js index fedbf25f..be1a7a3f 100644 --- a/scripts/schema.js +++ b/scripts/schema.js @@ -1,10 +1,29 @@ /* + Fosscord: A FOSS re-implementation and extension of the Discord.com backend. + Copyright (C) 2023 Fosscord and Fosscord Contributors + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published + by the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. +*/ + +/* Regenerates the `fosscord-server/assets/schemas.json` file, used for API/Gateway input validation. */ const path = require("path"); const fs = require("fs"); const TJS = require("typescript-json-schema"); +const walk = require("./util/walk"); const schemaPath = path.join(__dirname, "..", "assets", "schemas.json"); const settings = { @@ -98,20 +117,3 @@ function main() { } main(); - -function walk(dir) { - var results = []; - var list = fs.readdirSync(dir); - list.forEach(function (file) { - file = dir + "/" + file; - var stat = fs.statSync(file); - if (stat && stat.isDirectory()) { - /* Recurse into a subdirectory */ - results = results.concat(walk(file)); - } else { - if (!file.endsWith(".ts")) return; - results.push(file); - } - }); - return results; -} |