Versions

  • v5

    4/24/2024
    Open: Version
    Changes from v4 to v5
    +2
    -2
    ⦚ 39 unchanged lines ⦚
    app.post('/signup', SubmitSignup);
    app.post('/login', SubmitLogin);
    app.delete('/users/:userId', jwtMiddleware, deleteUserHandler);

    // User profile routes
    app.get('/edit-profile/:username', jwtMiddleware, getUserProfileHandler);
    app.put('/edit-profile/:username', jwtMiddleware, updateUserProfileHandler);
    app.get('/:username', userProfilePageHandler);

    // Link routes
    ⦚ 30 unchanged lines ⦚
    ⦚ 39 unchanged lines ⦚
    app.post('/signup', SubmitSignup);
    app.post('/login', SubmitLogin);
    // app.delete('/users/:userId', jwtMiddleware, deleteUserHandler);

    // User profile routes
    app.get('/edit-profile/:username', jwtMiddleware, getUserProfileHandler);
    app.put('/edit-profile/:username', jwtMiddleware, updateUserProfileHandler);
    // app.get('/:username', userProfilePageHandler);

    // Link routes
    ⦚ 30 unchanged lines ⦚
  • v4

    4/24/2024
    Open: Version
    Changes from v3 to v4
    +27
    -38
    /** @jsx jsx */
    /** @jsxFrag Fragment */
    import { jsx, Fragment } from 'https://deno.land/x/hono/middleware.ts'
    import { Hono } from "npm:hono@3";
    import { sqlite } from "https://esm.town/v/std/sqlite";
    ⦚ 4 unchanged lines ⦚
    import EditProfilePage from "https://esm.town/v/iamseeley/EditProfilePage";
    import ProfilePage from "https://esm.town/v/iamseeley/ProfilePage";
    import SubmitSignup from "https://esm.town/v/iamseeley/SubmitSignup"
    import SubmitLogin from "https://esm.town/v/iamseeley/SubmitLogin";
    import ProfilePageGet from "https://esm.town/v/iamseeley/ProfilePageGet"
    import { getEditProfileHandler, postEditProfileHandler, deleteLink, updateLinkHandler, addLinkHandler } from "https://esm.town/v/iamseeley/EditProfileHandlers";
    import { logger } from 'npm:hono/logger';
    import SignupRoute from "https://esm.town/v/iamseeley/SignupRoute";
    import SignupModal from "https://esm.town/v/iamseeley/SignupModal";
    import LoginModal from "https://esm.town/v/iamseeley/LoginModal";
    import AddLink from "https://esm.town/v/iamseeley/AddLink";
    import EditLinkModal from "https://esm.town/v/iamseeley/EditLinkModal";
    import { getLinkById } from "https://esm.town/v/iamseeley/Queries";

    const app = new Hono();

    app.use(logger())

    const SECRET_KEY = Deno.env.get("JWT_SECRET_TOKEN");
    if (!SECRET_KEY) {
    console.error("JWT_SECRET_TOKEN is not set");
    }
    const jwtMiddleware = jwt({ secret: SECRET_KEY, cookie: 'token' });


    app.get('/', (c) => { return c.html(<LandingPage title={"link tree alt"} description={"simple link tree"} />)});


    // user
    /** @jsx jsx */
    /** @jsxFrag Fragment */
    import { jsx, Fragment } from 'https://deno.land/x/hono/middleware.ts';
    import { Hono } from "npm:hono@3";
    import { sqlite } from "https://esm.town/v/std/sqlite";
    ⦚ 4 unchanged lines ⦚
    import EditProfilePage from "https://esm.town/v/iamseeley/EditProfilePage";
    import ProfilePage from "https://esm.town/v/iamseeley/ProfilePage";
    import SubmitSignup from "https://esm.town/v/iamseeley/SubmitSignup";
    import SubmitLogin from "https://esm.town/v/iamseeley/SubmitLogin";
    import ProfilePageGet from "https://esm.town/v/iamseeley/ProfilePageGet";
    import { logger } from 'npm:hono/logger';
    import SignupModal from "https://esm.town/v/iamseeley/SignupModal";
    import LoginModal from "https://esm.town/v/iamseeley/LoginModal";
    import AddLink from "https://esm.town/v/iamseeley/AddLink";
    import EditLinkModal from "https://esm.town/v/iamseeley/EditLinkModal";
    import { getLinkById } from "https://esm.town/v/iamseeley/Queries";

    // Import the handlers
    import { getUserProfileHandler, updateUserProfileHandler } from "https://esm.town/v/iamseeley/profileHandlers";
    import { addLinkHandler, updateLinkHandler, deleteLinkHandler } from "https://esm.town/v/iamseeley/linkHandlers";

    const app = new Hono();

    app.use(logger());

    const SECRET_KEY = Deno.env.get("JWT_SECRET_TOKEN");
    if (!SECRET_KEY) {
    console.error("JWT_SECRET_TOKEN is not set");
    }

    const jwtMiddleware = jwt({ secret: SECRET_KEY, cookie: 'token' });

    app.get('/', (c) => c.html(<LandingPage title="link tree alt" description="simple link tree" />));

  • v3

    4/24/2024
    Open: Version
    Changes from v2 to v3
    +5
    -4
    ⦚ 32 unchanged lines ⦚


    // landing

    app.get('/', (c) => { return c.html(<LandingPage title={"link tree alt"} description={"simple link tree"} />)});

    // user
    app.post('/signup', SubmitSignup); // Create a new user (Sign Up)
    app.post('/login', SubmitLogin); // Authenticate a user (Log In)
    app.delete('/users/:userId', jwtMiddleware, deleteUserHandler);

    // user profile
    ⦚ 4 unchanged lines ⦚
    app.put('/edit-profile/:username/links/:linkId', jwtMiddleware, updateLinkHandler);
    app.delete('/edit-profile/:username/links/:linkId', jwtMiddleware, deleteLink);

    // components (htmx)
    ⦚ 38 unchanged lines ⦚
    ⦚ 32 unchanged lines ⦚


    app.get('/', (c) => { return c.html(<LandingPage title={"link tree alt"} description={"simple link tree"} />)});


    // user
    app.post('/signup', SubmitSignup);
    app.post('/login', SubmitLogin);
    app.delete('/users/:userId', jwtMiddleware, deleteUserHandler);


    // user profile
    ⦚ 4 unchanged lines ⦚
    app.put('/edit-profile/:username/links/:linkId', jwtMiddleware, updateLinkHandler);
    app.delete('/edit-profile/:username/links/:linkId', jwtMiddleware, deleteLink);


    // components (htmx)
    ⦚ 38 unchanged lines ⦚
  • v2

    4/24/2024
    Open: Version
    Changes from v1 to v2
    +18
    -23
    ⦚ 7 unchanged lines ⦚
    import RootLayout from "https://esm.town/v/iamseeley/RootLayout";
    import LandingPage from "https://esm.town/v/iamseeley/LandingPage";
    import SignupPage from "https://esm.town/v/iamseeley/SignupPage"
    import LoginPage from "https://esm.town/v/iamseeley/LoginPage";
    import EditProfilePage from "https://esm.town/v/iamseeley/EditProfilePage";
    import ProfilePage from "https://esm.town/v/iamseeley/ProfilePage";
    import SubmitSignup from "https://esm.town/v/iamseeley/SubmitSignup"
    ⦚ 20 unchanged lines ⦚


    app.get('/signupModal', async (c) => {
    return c.html(<SignupModal />);
    ⦚ 30 unchanged lines ⦚
    }
    });




    app.get('/', (c) => { return c.html(<LandingPage title={"link tree alt"} description={"simple link tree"} />)});
    app.get('/signup', (c) => { return c.html(<SignupPage />)});
    app.get('/login', (c) => { return c.html(<LoginPage />)});
    app.get('/edit-profile/:username', jwtMiddleware, getEditProfileHandler);
    app.get('/:username', ProfilePageGet);



    app.post('/signup', SubmitSignup);
    app.post('/login', SubmitLogin);
    app.post('/edit-profile/:username', jwtMiddleware, postEditProfileHandler);
    app.post('/update-link/:linkId', jwtMiddleware, updateLinkHandler);
    app.post('/add-link/:username', jwtMiddleware, addLinkHandler);
    ⦚ 7 unchanged lines ⦚
    import RootLayout from "https://esm.town/v/iamseeley/RootLayout";
    import LandingPage from "https://esm.town/v/iamseeley/LandingPage";
    import EditProfilePage from "https://esm.town/v/iamseeley/EditProfilePage";
    import ProfilePage from "https://esm.town/v/iamseeley/ProfilePage";
    import SubmitSignup from "https://esm.town/v/iamseeley/SubmitSignup"
    ⦚ 20 unchanged lines ⦚


    // landing

    app.get('/', (c) => { return c.html(<LandingPage title={"link tree alt"} description={"simple link tree"} />)});

    // user
    app.post('/signup', SubmitSignup); // Create a new user (Sign Up)
    app.post('/login', SubmitLogin); // Authenticate a user (Log In)
    app.delete('/users/:userId', jwtMiddleware, deleteUserHandler);

    // user profile
    app.get('/edit-profile/:username', jwtMiddleware, getEditProfileHandler);
    app.put('/edit-profile/:username', jwtMiddleware, postEditProfileHandler);
    app.get('/:username', userProfilePageHandler);
    app.post('/edit-profile/:username/links', jwtMiddleware, addLinkHandler);
    app.put('/edit-profile/:username/links/:linkId', jwtMiddleware, updateLinkHandler);
    app.delete('/edit-profile/:username/links/:linkId', jwtMiddleware, deleteLink);

    // components (htmx)
    app.get('/signupModal', async (c) => {
    return c.html(<SignupModal />);
    ⦚ 30 unchanged lines ⦚
    }
    });

  • v1

    4/24/2024
    Open: Version
    Changes from v0 to v1
    +94
    -3
    export default async function (req: Request): Promise<Response> {
    return Response.json({ ok: true })
    }
    /** @jsx jsx */
    /** @jsxFrag Fragment */
    import { jsx, Fragment } from 'https://deno.land/x/hono/middleware.ts'
    import { Hono } from "npm:hono@3";
    import { sqlite } from "https://esm.town/v/std/sqlite";
    import { email } from "https://esm.town/v/std/email?v=11";
    import { jwt } from 'npm:hono/jwt';
    import RootLayout from "https://esm.town/v/iamseeley/RootLayout";
    import LandingPage from "https://esm.town/v/iamseeley/LandingPage";
    import SignupPage from "https://esm.town/v/iamseeley/SignupPage"
    import LoginPage from "https://esm.town/v/iamseeley/LoginPage";
    import EditProfilePage from "https://esm.town/v/iamseeley/EditProfilePage";
    import ProfilePage from "https://esm.town/v/iamseeley/ProfilePage";
    import SubmitSignup from "https://esm.town/v/iamseeley/SubmitSignup"
    import SubmitLogin from "https://esm.town/v/iamseeley/SubmitLogin";
    import ProfilePageGet from "https://esm.town/v/iamseeley/ProfilePageGet"
    import { getEditProfileHandler, postEditProfileHandler, deleteLink, updateLinkHandler, addLinkHandler } from "https://esm.town/v/iamseeley/EditProfileHandlers";
    import { logger } from 'npm:hono/logger';
    import SignupRoute from "https://esm.town/v/iamseeley/SignupRoute";
    import SignupModal from "https://esm.town/v/iamseeley/SignupModal";
    import LoginModal from "https://esm.town/v/iamseeley/LoginModal";
    import AddLink from "https://esm.town/v/iamseeley/AddLink";
    import EditLinkModal from "https://esm.town/v/iamseeley/EditLinkModal";
    import { getLinkById } from "https://esm.town/v/iamseeley/Queries";

    const app = new Hono();

    app.use(logger())

    const SECRET_KEY = Deno.env.get("JWT_SECRET_TOKEN");
    if (!SECRET_KEY) {
    console.error("JWT_SECRET_TOKEN is not set");
    }
    const jwtMiddleware = jwt({ secret: SECRET_KEY, cookie: 'token' });


  • v0

    4/24/2024
    Open: Version
    +3
    -0

    export default async function (req: Request): Promise<Response> {
    return Response.json({ ok: true })
    }
7
Next
iamseeley-server2.web.val.run
Updated: May 23, 2024