From d4b30272c3351e629886c6e9f6a6689eb381fdc7 Mon Sep 17 00:00:00 2001 From: Rizky Date: Mon, 16 Oct 2023 12:33:57 +0000 Subject: [PATCH] fix --- .devcontainer/devcontainer.json | 17 -------- app/db/test.mjs | 1 - app/srv/exports.ts | 72 ++++++++++++++++---------------- bun.lockb | Bin 286520 -> 292184 bytes deploy.sh | 2 +- 5 files changed, 37 insertions(+), 55 deletions(-) delete mode 100644 .devcontainer/devcontainer.json delete mode 100644 app/db/test.mjs diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json deleted file mode 100644 index b4880fe3..00000000 --- a/.devcontainer/devcontainer.json +++ /dev/null @@ -1,17 +0,0 @@ -// For format details, see https://aka.ms/devcontainer.json. For config options, see the -// README at: https://github.com/devcontainers/templates/tree/main/src/alpine -{ - "name": "Prasi", - // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile - "image": "oven/bun:alpine" - // Features to add to the dev container. More info: https://containers.dev/features. - // "features": {}, - // Use 'forwardPorts' to make a list of ports inside the container available locally. - // "forwardPorts": [], - // Use 'postCreateCommand' to run commands after the container is created. - // "postCreateCommand": "uname -a", - // Configure tool-specific properties. - // "customizations": {}, - // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. - // "remoteUser": "root" -} \ No newline at end of file diff --git a/app/db/test.mjs b/app/db/test.mjs deleted file mode 100644 index 4bb62518..00000000 --- a/app/db/test.mjs +++ /dev/null @@ -1 +0,0 @@ -import { PrismaClient } from "@prisma/client"; diff --git a/app/srv/exports.ts b/app/srv/exports.ts index 547cdadc..93feaace 100644 --- a/app/srv/exports.ts +++ b/app/srv/exports.ts @@ -5,33 +5,19 @@ export const npm_size = { args: ["mode","id"], handler: import("./api/npm-size") } -export const login = { - name: "login", - url: "/_login", - path: "app/srv/api/auth/login.ts", - args: ["username","password"], - handler: import("./api/auth/login") -} export const session = { name: "session", - url: "/session", - path: "app/srv/api/session.ts", + url: "/_session", + path: "app/srv/api/auth/session.ts", args: [], - handler: import("./api/session") + handler: import("./api/auth/session") } -export const npm = { - name: "npm", - url: "/npm/:mode/:id/*", - path: "app/srv/api/npm.ts", - args: ["mode","id"], - handler: import("./api/npm") -} -export const local_ip = { - name: "local_ip", - url: "/local-ip", - path: "app/srv/api/local-ip.ts", - args: [], - handler: import("./api/local-ip") +export const site_dts = { + name: "site_dts", + url: "/site-dts/:site_id", + path: "app/srv/api/site-dts.ts", + args: ["site_id"], + handler: import("./api/site-dts") } export const npm_bundle = { name: "npm_bundle", @@ -40,12 +26,26 @@ export const npm_bundle = { args: ["mode","id"], handler: import("./api/npm-bundle") } -export const site_dts = { - name: "site_dts", - url: "/site-dts/:site_id", - path: "app/srv/api/site-dts.ts", - args: ["site_id"], - handler: import("./api/site-dts") +export const npm = { + name: "npm", + url: "/npm/:mode/:id/*", + path: "app/srv/api/npm.ts", + args: ["mode","id"], + handler: import("./api/npm") +} +export const login = { + name: "login", + url: "/_login", + path: "app/srv/api/auth/login.ts", + args: ["username","password"], + handler: import("./api/auth/login") +} +export const local_ip = { + name: "local_ip", + url: "/local-ip", + path: "app/srv/api/local-ip.ts", + args: [], + handler: import("./api/local-ip") } export const _upload = { name: "_upload", @@ -61,13 +61,6 @@ export const _prasi = { args: [], handler: import("./api/_prasi") } -export const _file = { - name: "_file", - url: "/_file/*", - path: "app/srv/api/_file.ts", - args: [], - handler: import("./api/_file") -} export const _api_frm = { name: "_api_frm", url: "/_api_frm", @@ -81,4 +74,11 @@ export const _dbs = { path: "app/srv/api/_dbs.ts", args: ["dbName","action"], handler: import("./api/_dbs") +} +export const _file = { + name: "_file", + url: "/_file/*", + path: "app/srv/api/_file.ts", + args: [], + handler: import("./api/_file") } \ No newline at end of file diff --git a/bun.lockb b/bun.lockb index 1db07734037c79dd1d8b85a1358a7964d46c3720..319a8bfb4c6855f9ff4358a4ba539f3c3f864872 100755 GIT binary patch delta 17856 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 B{Br;R delta 14017 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