refactor(*): refactor tsconfig paths

looks/feels nicer
This commit is contained in:
parent 9ba432a8e0
commit 3e5af47107
Signed by: tablet
GPG Key ID: 924A5F6AF051E87C
102 changed files with 355 additions and 299 deletions

@ -1,5 +1,5 @@
<script lang="ts" setup>
import { log } from "~/lib/server/logger";
import { log } from "@server/logger";
import { MenuProps } from "ant-design-vue";
const { data, status } = useAuth();
@ -48,47 +48,55 @@
@click="clickFn"
:active-key="cur"
>
<a-menu-item key="home"> Home </a-menu-item>
<a-menu-item key="bands"> Bands </a-menu-item>
<a-menu-item key="authors"> Authors </a-menu-item>
<a-menu-item key="forum"> Message Board </a-menu-item>
<a-sub-menu title="My Stuff" v-if="!!data?.user" key="group/my-stuff">
<a-menu-item key="account"> Account </a-menu-item>
<a-menu-item key="edit-profile"> Edit Profile </a-menu-item>
<a-menu-item key="profile"> View Profile </a-menu-item>
<a-menu-item key="stories"> Stories </a-menu-item>
<a-menu-item key="drafts"> Drafts </a-menu-item>
<a-menu-item key="reviews"> Manage Reviews </a-menu-item>
<a-menu-item key="messages"> Private Messages </a-menu-item>
<a-menu-item key="home"> {{ $tm("navbar.home") }} </a-menu-item>
<a-menu-item key="bands"> {{ $tm("navbar.bands") }} </a-menu-item>
<a-menu-item key="authors"> {{ $tm("navbar.authors") }} </a-menu-item>
<a-menu-item key="forum"> {{ $tm("navbar.forum") }} </a-menu-item>
<a-sub-menu
:title="$tm('navbar.profile.myStuff') as any"
v-if="!!data?.user"
key="group/my-stuff"
>
<a-menu-item key="account"> {{ $tm("navbar.account") }} </a-menu-item>
<a-menu-item key="edit-profile">
{{ $tm("navbar.editProfile") }}
</a-menu-item>
<a-menu-item key="profile"> {{ $tm("navbar.profile") }} </a-menu-item>
<a-menu-item key="stories"> {{ $tm("navbar.account") }} </a-menu-item>
<a-menu-item key="drafts"> {{ $tm("navbar.account") }} </a-menu-item>
<a-menu-item key="reviews"> {{ $tm("navbar.reviews") }} </a-menu-item>
<a-menu-item key="messages"> {{ $tm("navbar.messages") }} </a-menu-item>
</a-sub-menu>
<a-menu-item key="admin" v-if="data?.user?.profile.isAdmin || false">
Admin
{{ $tm("navbar.admin") }}
</a-menu-item>
<a-menu-item key="logout" v-if="!!data?.user">
{{ $tm("navbar.logout") }}
</a-menu-item>
<a-menu-item key="logout" v-if="!!data?.user"> Logout </a-menu-item>
</a-menu>
<div>
<a-button
v-if="data?.user"
type="primary"
tooltip="Post a new Story"
:tooltip="$tm('newStoryButton')"
@click="() => navigateTo('/new-story')"
>
<!-- <template #icon>
</template> -->
<icon istyle="regular" name="file-plus" />
<span style="margin-left: 0.5em"> Post a new Story </span>
<span style="margin-left: 0.5em"> {{ $tm("newStoryButton") }} </span>
</a-button>
</div>
<div class="acbut" v-if="!data">
<a-button size="large" @click="() => navigateTo('/login')">
Log In
{{ $tm("navbar.login") }}
</a-button>
<a-button
size="large"
type="primary"
@click="() => navigateTo('/register')"
>
Register
{{ $tm("navbar.register") }}
</a-button>
</div>
</div>

@ -5,7 +5,7 @@
} from "ant-design-vue/es/menu/src/interface";
import { ItemType, theme } from "ant-design-vue";
import Icon from "../icon.vue";
import { ISidebarItem } from "~/models/sidebarEntry";
import { ISidebarItem } from "@models/sidebarEntry";
import { AButton, NuxtLink } from "#components";
const loaded = inject<Ref<boolean>>("loaded");
@ -16,6 +16,7 @@
const selState = ref<string>("");
const { data: injecto } = await useApiFetch<ISidebarItem[]>("/sidebar");
const { tm, rt } = useI18n();
let items: Ref<ItemType[]> = ref([
{
@ -57,7 +58,9 @@
} as SubMenuType,
{
key: "fun-features",
label: h("span", { class: "smallcaps" }, ["Fun features"]),
label: h("span", { class: "smallcaps" }, [
rt(tm<string>("sidebar.features")),
]),
icon: h(Icon, {
istyle: "regular",
name: "sparkles",

@ -1,6 +1,6 @@
<script setup lang="ts">
import singleStory from "~/components/listings/singleStory.vue";
import { IStory } from "~/models/stories";
import { IStory } from "@models/stories";
const route = useRoute();
let curPage = ref(route.query.page || 1);
const props = defineProps<{ prefix?: string; items?: IStory[] }>();
@ -25,32 +25,39 @@
// page
// }
// })
// let {data: data } = await useApiFetch(`${props.prefix}/stories`, {
// query: {
// page: curPage
// }
// })
// rdata.value = data;
let { data: data } = await useApiFetch(`${props.prefix}`, {
query: {
page: curPage,
},
});
rdata.value = data.value;
};
</script>
<template>
<a-list
:pagination="{
defaultPageSize: 20,
total: rdata.total,
defaultCurrent: curPage as number,
// onChange: pagiChange,
hideOnSinglePage: true,
showSizeChanger: false,
}"
:data-source="rdata.stories"
item-layout="vertical"
>
<div>
<a-list :data-source="rdata.stories" item-layout="vertical">
<template #renderItem="{ item }">
<!-- {{ item.title }} -->
<single-story :story="item" />
</template>
</a-list>
<a-pagination
:default-page-size="20"
:total="rdata.total"
:default-current="curPage as number"
@change="pagiChange"
:show-quick-jumper="true"
:show-size-changer="false"
/>
</div>
<!-- {
defaultPageSize: 20,
total: rdata.total,
defaultCurrent: curPage as number,
onChange: pagiChange,
// hideOnSinglePage: true,
showSizeChanger: false,
}-->
</template>
<style scoped>
.ant-list-items > * + * {

@ -1,6 +1,6 @@
<script lang="ts" setup>
import { message } from "ant-design-vue";
import { IUser } from "~/models/user";
import { IUser } from "@models/user";
const [messageApi, contextHolder] = message.useMessage();
const props = defineProps<{ user: IUser | null }>();

@ -1,7 +1,7 @@
<script lang="ts" setup>
import { IReview } from "~/models/stories/review";
import { IReview } from "@models/stories/review";
import singleReview from "./singleReview.vue";
import { SingleChapterResult } from "~/lib/client/types/slightlyDifferentStory";
import { SingleChapterResult } from "@client/types/slightlyDifferentStory";
const props = defineProps<{ endpoint: string }>();
const story = inject<SingleChapterResult>("story");
const { data: reviews } = (await useApiFetch<IReview[]>(

@ -1,8 +1,8 @@
<script lang="ts" setup>
import { Form as veeForm, Field as veeField, useForm } from "vee-validate";
import { IReview } from "~/models/stories/review";
import { comment } from "~/lib/client/editorConfig";
import { SingleChapterResult } from "~/lib/client/types/slightlyDifferentStory";
import { IReview } from "@models/stories/review";
import { comment } from "@client/editorConfig";
import { SingleChapterResult } from "@client/types/slightlyDifferentStory";
const props = defineProps<{ review: IReview; story: SingleChapterResult }>();
const review = toRef(props.review);
const story = toRef(props.story);
@ -75,11 +75,16 @@
</template>
<template #author>
<b style="display: flex">
<span v-if="review.replyingTo == null">Review by&nbsp;</span>
<span v-else> Response from&nbsp; </span>
<i18n-t keypath="reviews.reviewFrom" v-if="review.replyingTo == null">
<nuxt-link :to="`/user/${review.author._id}`">
{{ review.author.username }}
</nuxt-link>
</i18n-t>
<i18n-t keypath="reviews.responseFrom" v-else>
<nuxt-link :to="`/user/${review.author._id}`">
{{ review.author.username }}
</nuxt-link>
</i18n-t>
</b>
</template>
<template #content>

@ -1,9 +1,9 @@
<script setup lang="ts">
import { DefaultOptionType } from "ant-design-vue/es/select";
import { RuleExpression, useField } from "vee-validate";
import { cs } from "~/lib/client/storyFormSchema";
import { IBand } from "~/models/band";
import { log } from "~/lib/server/logger";
import { cs } from "@client/storyFormSchema";
import { IBand } from "@models/band";
import { log } from "@server/logger";
import iconEl from "../icon.vue";

@ -1,7 +1,7 @@
<script setup lang="ts">
import { RuleExpression, useField } from "vee-validate";
import { cs } from "~/lib/client/storyFormSchema";
import { IBand } from "~/models/band";
import { cs } from "@client/storyFormSchema";
import { IBand } from "@models/band";
const fname = inject<string>("curName");
const { sb: selectedBands } = inject<any>("selectedBands");
const allBands = inject<Ref<IBand[]>>("bandlist");

@ -1,6 +1,6 @@
<script lang="ts" setup>
import { Field, useFieldArray } from "vee-validate";
import { IBand } from "~/models/band";
import { IBand } from "@models/band";
const { sb: selectedBands } = inject<any>("selectedBands");
const allBands = inject<Ref<IBand[]>>("bandlist");

@ -7,9 +7,9 @@
ErrorMessage,
} from "vee-validate";
import { NamePath } from "ant-design-vue/es/form/interface";
import { FormChapter } from "~/lib/client/types/form/story";
import { FormChapter } from "@client/types/form/story";
import { story, bare } from "~/lib/client/editorConfig";
import { story, bare } from "@client/editorConfig";
import elBands from "../atoms/bands.vue";
import genre from "../atoms/genre.vue";
import elCharacters from "../atoms/characters.vue";

@ -9,13 +9,13 @@
FieldEntry,
useForm,
} from "vee-validate";
import { storySchema } from "~/lib/client/storyFormSchema";
import { storySchema } from "@client/storyFormSchema";
import {
FormChapter,
FormStory,
defaultChapter,
} from "~/lib/client/types/form/story";
import { autoEdit, autoSave } from "~/lib/client/utils";
} from "@client/types/form/story";
import { autoEdit, autoSave } from "@client/utils";
import findUser from "~/components/findUser.vue";

@ -6,7 +6,7 @@
useField,
ErrorMessage,
} from "vee-validate";
import { story } from "~/lib/client/editorConfig";
import { story } from "@client/editorConfig";
import icon from "~/components/icon.vue";
import baseEditor from "../../baseEditor.vue";
const fname = inject<string>("curName");

@ -1,6 +1,6 @@
<script lang="ts" setup>
import { LabeledValue } from "ant-design-vue/es/select";
import { SingleChapterResult } from "~/lib/client/types/slightlyDifferentStory";
import { SingleChapterResult } from "@client/types/slightlyDifferentStory";
const { params } = useRoute();
const cidx = parseInt(params.cidx as string);

@ -1,6 +1,6 @@
<script lang="ts" setup>
import { format } from "date-fns";
import { type SingleChapterResult } from "~/lib/client/types/slightlyDifferentStory";
import { type SingleChapterResult } from "@client/types/slightlyDifferentStory";
import icon from "~/components/icon.vue";
const story = inject<SingleChapterResult | null>("story");
console.log("storyyy--info", story);

@ -4,7 +4,7 @@
import cfooter from "~/components/layouts/footer.vue";
import sidebarThing from "~/components/layouts/sidebar.vue";
import icon from "~/components/icon.vue";
import { ISidebarItem } from "~/models/sidebarEntry";
import { ISidebarItem } from "@models/sidebarEntry";
const { useToken } = theme;
const { token } = useToken();

@ -1,7 +1,7 @@
import { SingleChapterResult } from "./types/slightlyDifferentStory";
import { IChapter } from "~/models/stories/chapter";
import { IStory } from "~/models/stories";
import { messages } from "~/lib/server/constants";
import { IChapter } from "@models/stories/chapter";
import { IStory } from "@models/stories";
import { messages } from "@server/constants";
export const storyMiddleware = defineNuxtRouteMiddleware(async (to, from) => {
const { getSession } = useAuth();

@ -1,5 +1,5 @@
import { type IStory } from "~/models/stories";
import { IChapter } from "~/models/stories/chapter";
import { type IStory } from "@models/stories";
import { IChapter } from "@models/stories/chapter";
export type SingleChapterResult = Omit<IStory, "chapters"> & {
currentChapter: IChapter & { text: string };

@ -1,6 +1,6 @@
import { debounce } from "lodash-es";
import { message } from "ant-design-vue";
import { IStory } from "~/models/stories";
import { IStory } from "@models/stories";
import { useAutoSaveStore } from "~/stores/autosaveStore";
export const autoSave = debounce(async (values: any) => {

@ -4,7 +4,7 @@ import { resolve } from "path";
// import iconv from "iconv-lite";
import { GridFSBucketReadStream } from "mongodb";
import { stripHtml } from "string-strip-html";
import { IStory } from "~/models/stories";
import { IStory } from "@models/stories";
import { ficsHidden } from "./server/ficmas";
import { PreMiddlewareFunction, Query } from "mongoose";

@ -1,11 +1,11 @@
import { H3Event, EventHandlerRequest } from "h3";
import { GridFSBucket } from "mongodb";
import mongoose, { Document } from "mongoose";
import { norm, stringifyStream } from "~/lib/functions";
import { IStory } from "~/models/stories";
import { IChapter } from "~/models/stories/chapter";
import { norm, stringifyStream } from "@functions";
import { IStory } from "@models/stories";
import { IChapter } from "@models/stories/chapter";
import getBucket from "../storyHelpers/getBucket";
import { SingleChapterResult } from "~/lib/client/types/slightlyDifferentStory";
import { SingleChapterResult } from "@client/types/slightlyDifferentStory";
export default async function (
story: Document<number, {}, IStory> & IStory,

@ -1,18 +1,18 @@
import { Band } from "~/models/band";
import { Challenge } from "~/models/challenges/gen";
import { IStory, Story } from "~/models/stories";
import { Band } from "@models/band";
import { Challenge } from "@models/challenges/gen";
import { IStory, Story } from "@models/stories";
import { log } from "../logger";
import { H3Event, EventHandlerRequest } from "h3";
import { H3Event, EventHandlerRequest, H3EventContext } from "h3";
export default async function (
query,
context,
query: any,
context: H3EventContext,
ev: H3Event<EventHandlerRequest>,
limit: number = 0,
sort?,
sort?: any,
): Promise<{ stories: IStory[]; total: number }> {
const q = getQuery(ev);
let skipAmt = limit * (parseInt((q.page as string) || "1") - 1) - 1;
let skipAmt = limit * (parseInt((q.page as string) || "1") - 1);
if (skipAmt < 0) skipAmt = 0;
query["chapters.hidden"] = false;
if (context.currentUser) {
@ -22,7 +22,7 @@ export default async function (
query["author"]["$nin"] = context.currentUser.hiddenAuthors;
}
query["ficmas"] = {
$nin: context.ficmasarray_raw.map((a) => a._id),
$nin: context.ficmasarray_raw!.map((a) => a._id),
};
let stories = await Story.find(query, null)
.collation({ locale: "en" })

@ -1,8 +1,9 @@
import type { H3Event, EventHandlerRequest } from "h3";
import { Challenge } from "~/models/challenges/gen";
import { Story } from "~/models/stories";
import { Challenge } from "@models/challenges/gen";
import { Story } from "@models/stories";
import isIdNan from "@server/middlewareButNotReally/isIdNan";
export default async function (ev: H3Event<EventHandlerRequest>) {
const id = parseInt(getRouterParam(ev, "id") as string);
const id = isIdNan(ev);
const chapterIndex = ev.context.chapterIndex;
if (isNaN(id) || isNaN(chapterIndex))
throw createError({

@ -1,6 +1,6 @@
import type { H3Event, EventHandlerRequest } from "h3";
import { isFicmasHidden } from "~/lib/functions";
import { IStory } from "~/models/stories";
import { isFicmasHidden } from "@functions";
import { IStory } from "@models/stories";
import { messages } from "../constants";
export default async function (
event: H3Event<EventHandlerRequest>,

@ -1,7 +1,7 @@
import type { H3Event, EventHandlerRequest } from "h3";
import { IStory } from "~/models/stories";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { IDraft } from "~/models/stories/draft";
import { IStory } from "@models/stories";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { IDraft } from "@models/stories/draft";
export function canDelete(event: H3Event<EventHandlerRequest>, story: IStory) {
isLoggedIn(event);
return (
@ -9,6 +9,13 @@ export function canDelete(event: H3Event<EventHandlerRequest>, story: IStory) {
story.author._id === event.context.currentUser?._id
);
}
export function canDeleteDraft(
event: H3Event<EventHandlerRequest>,
story: IDraft,
) {
isLoggedIn(event);
return story.author === event.context.currentUser?._id;
}
export function canModify(
event: H3Event<EventHandlerRequest>,
story: IStory | IDraft,

@ -1,7 +1,7 @@
import mongoose from "mongoose";
import { Biffno } from "~/models/challenges/biffno";
import { Ficmas } from "~/models/challenges/ficmas";
import { Challenge } from "~/models/challenges/gen";
import { Biffno } from "@models/challenges/biffno";
import { Ficmas } from "@models/challenges/ficmas";
import { Challenge } from "@models/challenges/gen";
import { log } from "./logger";
export default async function () {
@ -17,6 +17,9 @@ export default async function () {
// if (!!!mongoose.connections.length)
} catch (e) {
console.error(e);
throw createError({ statusCode: 500, message: "whoops." });
throw createError({
statusCode: 500,
message: "Could not connect to the database.",
});
}
}

@ -4,7 +4,7 @@ import { marked } from "marked";
import mammoth from "mammoth";
import san from "sanitize-html";
import { sanitizeConf } from "../constants";
import { FormChapter } from "~/lib/client/types/form/story";
import { FormChapter } from "@client/types/form/story";
import { log } from "../logger";
export default async function (bodyObj: FormChapter): Promise<string> {

@ -1,9 +1,7 @@
import san from "sanitize-html";
import { FormChapter } from "~/lib/client/types/form/story";
import { countWords } from "~/lib/functions";
import { IChapter } from "~/models/stories/chapter";
import { FormChapter } from "@client/types/form/story";
import { IChapter } from "@models/stories/chapter";
import { sanitizeConf } from "../constants";
import bodyHandler from "./bodyHandler";
export default function (c: FormChapter): IChapter {
let t: IChapter = {

@ -1,7 +1,7 @@
import mongoose, { connect, Document, Model } from "mongoose";
const { Schema, model } = mongoose;
import SequenceFactory from "mongoose-sequence";
import { hasMigrated } from "~/lib/dbconfig";
import { hasMigrated } from "@dbconfig";
const AutoIncrement = SequenceFactory(mongoose);

@ -1,7 +1,7 @@
import mongoose, { Schema, PopulatedDoc, Document, Model } from "mongoose";
import { IUser } from "~/models/user";
import { IUser } from "@models/user";
import SequenceFactory from "mongoose-sequence";
import { hasMigrated } from "~/lib/dbconfig";
import { hasMigrated } from "@dbconfig";
const AutoIncrement = SequenceFactory(mongoose);

@ -6,10 +6,10 @@ import mongoose, {
model,
} from "mongoose";
import { IBand } from "~/models/band";
import { IUser } from "~/models/user";
import { IBand } from "@models/band";
import { IUser } from "@models/user";
import SequenceFactory from "mongoose-sequence";
import { hasMigrated } from "~/lib/dbconfig";
import { hasMigrated } from "@dbconfig";
const AutoIncrement = SequenceFactory(mongoose);

@ -1,6 +1,6 @@
import mongoose, { Schema, PopulatedDoc, Document, Model } from "mongoose";
import SequenceFactory from "mongoose-sequence";
import { hasMigrated } from "~/lib/dbconfig";
import { hasMigrated } from "@dbconfig";
const AutoIncrement = SequenceFactory(mongoose);

@ -1,6 +1,6 @@
import mongoose, { Schema, PopulatedDoc, Document, Model } from "mongoose";
import SequenceFactory from "mongoose-sequence";
import { hasMigrated } from "~/lib/dbconfig";
import { hasMigrated } from "@dbconfig";
import { IUser } from "./user";
const AutoIncrement = SequenceFactory(mongoose);

@ -1,5 +1,5 @@
import mongoose, { Schema, PopulatedDoc, Document, Model } from "mongoose";
import { IBand } from "~/models/band";
import { IBand } from "@models/band";
export interface IChapter {
title: string;
summary: string;

@ -1,9 +1,9 @@
import { IStory } from ".";
import { hasMigrated } from "~/lib/dbconfig";
import { IBand } from "~/models/band";
import { IFicmas } from "~/models/challenges/ficmas";
import { IChallenge } from "~/models/challenges/gen";
import { IUser } from "~/models/user";
import { hasMigrated } from "@dbconfig";
import { IBand } from "@models/band";
import { IFicmas } from "@models/challenges/ficmas";
import { IChallenge } from "@models/challenges/gen";
import { IUser } from "@models/user";
import mongoose, { Schema, PopulatedDoc, Document, Model } from "mongoose";
import SequenceFactory from "mongoose-sequence";
import { Chapter } from "./chapter";

@ -4,10 +4,10 @@ import SequenceFactory from "mongoose-sequence";
const AutoIncrement = SequenceFactory(mongoose);
import { Chapter, IChapter } from "./chapter";
import { IUser } from "~/models/user";
import { Ficmas, IFicmas } from "~/models/challenges/ficmas";
import { IChallenge, Challenge } from "~/models/challenges/gen";
import { hasMigrated } from "~/lib/dbconfig";
import { IUser } from "@models/user";
import { Ficmas, IFicmas } from "@models/challenges/ficmas";
import { IChallenge, Challenge } from "@models/challenges/gen";
import { hasMigrated } from "@dbconfig";
export interface IStory {
_id?: number;

@ -1,8 +1,8 @@
import mongoose, { Schema, PopulatedDoc, Document, Model } from "mongoose";
import SequenceFactory from "mongoose-sequence";
import { hasMigrated } from "~/lib/dbconfig";
import { populate, populateSelected } from "~/lib/functions";
import { IUser } from "~/models/user";
import { hasMigrated } from "@dbconfig";
import { populate, populateSelected } from "@functions";
import { IUser } from "@models/user";
const AutoIncrement = SequenceFactory(mongoose);

@ -9,7 +9,7 @@ import SequenceFactory from "mongoose-sequence";
import bcrypt from "bcryptjs";
import md5 from "blueimp-md5";
import jwt from "jsonwebtoken";
import { hasMigrated } from "~/lib/dbconfig";
import { hasMigrated } from "@dbconfig";
import { IBand } from "./band";
import { IStory } from "./stories/index";
import { QuickMenuItem, QuickMenuSchema } from "./quickMenu";

@ -1,5 +1,5 @@
// https://nuxt.com/docs/api/configuration/nuxt-config
import { IUser } from "~/models/user";
import { IUser } from "@models/user";
// import speedkitHydrate from "nuxt-speedkit/dist/runtime/hydrate.mjs";
export type SessionData = IUser;
@ -32,8 +32,12 @@ export default defineNuxtConfig({
"@pinia/nuxt",
"@vueuse/nuxt",
"nuxt-speedkit",
"@nuxtjs/i18n",
// "./modules/09.loaded",
],
i18n: {
vueI18n: `./i18n.config.ts`,
},
speedkit: {
disableNuxtFontaine: true,
lazyOffset: {

@ -1,7 +1,7 @@
<script lang="ts" setup>
import icon from "~/components/icon.vue";
import { bp, subscriptions } from "~/lib/client/listActions";
import { IUser } from "~/models/user";
import { bp, subscriptions } from "@client/listActions";
import { IUser } from "@models/user";
const { data: authors } = (await useApiFetch<any[]>("/authors")) as {
data: Ref<any[]>;

@ -1,6 +1,6 @@
<script lang="ts" setup>
import storyList from "~/components/listings/stories.vue";
import { IBand } from "~/models/band";
import { IBand } from "@models/band";
const route = useRoute();
const { data: band } = await useApiFetch<IBand>(`/band/${route.params.id}`);
</script>

@ -1,8 +1,8 @@
<script lang="ts" setup>
import { IBand } from "~/models/band";
import { IBand } from "@models/band";
import icon from "~/components/icon.vue";
import { subscriptions, bp } from "~/lib/client/listActions";
import { IUser } from "~/models/user";
import { subscriptions, bp } from "@client/listActions";
import { IUser } from "@models/user";
const { data: bands } = (await useApiFetch<NonNullable<IBand[]>>(
"/band/all",

@ -1,6 +1,6 @@
<script setup lang="ts">
import storyForm from "~/components/story/create/storyform.vue";
import { defaultStory } from "~/lib/client/types/form/story";
import { defaultStory } from "@client/types/form/story";
definePageMeta({
middleware: ["auth"],
});

@ -15,7 +15,7 @@
import { useChallengeV2 } from "vue-recaptcha";
import { notification } from "ant-design-vue";
import { log } from "~/lib/server/logger";
import { log } from "@server/logger";
import termsOfServices from "~/components/tos.vue";
useRecaptchaProvider();

@ -1,7 +1,7 @@
<script setup lang="ts">
import { SingleChapterResult } from "~/lib/client/types/slightlyDifferentStory";
import { SingleChapterResult } from "@client/types/slightlyDifferentStory";
import { theme } from "ant-design-vue";
import { storyMiddleware } from "~/lib/client/middleware";
import { storyMiddleware } from "@client/middleware";
import forChapter from "~/components/reviews/forChapter.vue";
import storyInfo from "~/components/story/view/storyInfo.vue";
import chapterPicker from "~/components/story/view/chapterPicker.vue";

@ -1,6 +1,6 @@
<script lang="ts" setup>
import { storyMiddleware } from "~/lib/client/middleware";
import { IStory } from "~/models/stories";
import { storyMiddleware } from "@client/middleware";
import { IStory } from "@models/stories";
definePageMeta({
middleware: [storyMiddleware],

@ -1,11 +1,11 @@
<script lang="ts" setup>
import { v4 } from "uuid";
import storyForm from "~/components/story/create/storyform.vue";
import { FormStory } from "~/lib/client/types/form/story";
import { IStory } from "~/models/stories";
import { IChapter } from "~/models/stories/chapter";
import { FormStory } from "@client/types/form/story";
import { IStory } from "@models/stories";
import { IChapter } from "@models/stories/chapter";
import { storyEditMiddleware } from "~/lib/client/middleware";
import { storyEditMiddleware } from "@client/middleware";
const rtr = useRoute();
const {
data: { value: originalStory },

@ -1,8 +1,8 @@
<script lang="ts" setup>
import { format, formatDistanceToNow, formatRelative } from "date-fns";
import { IUser } from "~/models/user";
import { IStory } from "~/models/stories";
import { favourites } from "~/lib/client/listActions";
import { IUser } from "@models/user";
import { IStory } from "@models/stories";
import { favourites } from "@client/listActions";
import singleStory from "~/components/listings/singleStory.vue";
import icon from "~/components/icon.vue";
import adminPanel from "~/components/profile/adminPanel.vue";

@ -1,9 +1,9 @@
import mongoose from "mongoose";
import * as net from "net";
import plugnplay from "~/lib/server/plugnplay";
import { Biffno } from "~/models/challenges/biffno";
import { Ficmas } from "~/models/challenges/ficmas";
import { Challenge } from "~/models/challenges/gen";
import plugnplay from "@server/plugnplay";
import { Biffno } from "@models/challenges/biffno";
import { Ficmas } from "@models/challenges/ficmas";
import { Challenge } from "@models/challenges/gen";
export default defineNuxtPlugin({
name: "mongo",
// enforce: 'pre',

@ -1,4 +1,4 @@
import { User } from "~/models/user";
import { User } from "@models/user";
export default eventHandler(async (ev) => {
const q = getQuery(ev);

@ -1,7 +1,7 @@
import mongoose from "mongoose";
import jwt from "jsonwebtoken";
import { IUser, User } from "~/models/user";
import { log } from "~/lib/server/logger";
import { IUser, User } from "@models/user";
import { log } from "@server/logger";
export default eventHandler(async (event) => {
const wrongMsg = "wrong credentials";

@ -1,9 +1,9 @@
import { weirdToNormalChars as w2nc } from "weird-to-normal-chars";
import crypto from "crypto";
import { usernameRegex } from "~/lib/server/constants";
import { User } from "~/models/user";
import { usernameRegex } from "@server/constants";
import { User } from "@models/user";
import mongoose from "mongoose";
import captcha from "~/lib/server/middlewareButNotReally/captcha";
import captcha from "@server/middlewareButNotReally/captcha";
export default eventHandler(async (event) => {
const body = await readBody(event);

@ -1,5 +1,5 @@
import jwt from "jsonwebtoken";
import { log } from "~/lib/server/logger";
import { log } from "@server/logger";
export default eventHandler((event) => {
let ahead = (
getHeaders(event).authorization ||

@ -1,4 +1,4 @@
import { User } from "~/models/user";
import { User } from "@models/user";
let authorSingleton: {
lastRefreshed: number;
data: {

@ -1,5 +1,5 @@
import { messages } from "~/lib/server/constants";
import { Band } from "~/models/band";
import { messages } from "@server/constants";
import { Band } from "@models/band";
export default eventHandler(async (ev) => {
const id = parseInt(getRouterParam(ev, "id") as string);

@ -1,7 +1,7 @@
import { messages } from "~/lib/server/constants";
import isAdmin from "~/lib/server/middlewareButNotReally/isAdmin";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { Band, IBand } from "~/models/band";
import { messages } from "@server/constants";
import isAdmin from "@server/middlewareButNotReally/isAdmin";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { Band, IBand } from "@models/band";
export default eventHandler(async (ev) => {
isAdmin(ev);

@ -1,6 +1,6 @@
import { listQuerier } from "~/lib/server/dbHelpers";
import { Band } from "~/models/band";
import { Story } from "~/models/stories";
import { listQuerier } from "@server/dbHelpers";
import { Band } from "@models/band";
import { Story } from "@models/stories";
export default eventHandler(async (event) => {
const params = getRouterParams(event);

@ -1,5 +1,5 @@
import { Band } from "~/models/band";
import { IUser } from "~/models/user";
import { Band } from "@models/band";
import { IUser } from "@models/user";
export default cachedEventHandler(async (ev) => {
let bands = await Band.find({

@ -1,5 +1,5 @@
import { usernameRegex } from "~/lib/server/constants";
import { User } from "~/models/user";
import { usernameRegex } from "@server/constants";
import { User } from "@models/user";
export default eventHandler(async (event) => {
const query = getQuery(event);

@ -1,5 +1,5 @@
import { usernameRegex } from "~/lib/server/constants";
import { User } from "~/models/user";
import { usernameRegex } from "@server/constants";
import { User } from "@models/user";
export default eventHandler(async (event) => {
const query = getQuery(event);

@ -1,6 +1,5 @@
import { listQuerier } from "~/lib/server/dbHelpers";
import { Story } from "~/models/stories";
import { log } from "~/lib/server/logger";
import { listQuerier } from "@server/dbHelpers";
import { log } from "@server/logger";
export default eventHandler(async (ev) => {
const s = await listQuerier({}, ev.context, ev, 20, {

@ -1,7 +1,7 @@
import { messages } from "~/lib/server/constants";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { Story } from "~/models/stories";
import { Review } from "~/models/stories/review";
import { messages } from "@server/constants";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { Story } from "@models/stories";
import { Review } from "@models/stories/review";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,8 +1,8 @@
import san from "sanitize-html";
import { messages } from "~/lib/server/constants";
import { log } from "~/lib/server/logger";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { Review } from "~/models/stories/review";
import { messages } from "@server/constants";
import { log } from "@server/logger";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { Review } from "@models/stories/review";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,8 +1,8 @@
import san from "sanitize-html";
import { messages } from "~/lib/server/constants";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { Story } from "~/models/stories";
import { Review } from "~/models/stories/review";
import { messages } from "@server/constants";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { Story } from "@models/stories";
import { Review } from "@models/stories/review";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,4 +1,4 @@
import { SidebarItem } from "~/models/sidebarEntry";
import { SidebarItem } from "@models/sidebarEntry";
export default cachedEventHandler(async (ev) => {
const si = await SidebarItem.find({});

@ -1,6 +1,6 @@
import { chapterTransformer } from "~/lib/server/dbHelpers";
import { storyQuerier } from "~/lib/server/dbHelpers";
import storyCheck from "~/lib/server/middlewareButNotReally/storyCheck";
import { chapterTransformer } from "@server/dbHelpers";
import { storyQuerier } from "@server/dbHelpers";
import storyCheck from "@server/middlewareButNotReally/storyCheck";
export default eventHandler(async (ev) => {
const story = await storyQuerier(ev);

@ -1,11 +1,11 @@
import { FormChapter } from "~/lib/client/types/form/story";
import { countWords } from "~/lib/functions";
import { messages } from "~/lib/server/constants";
import { storyQuerier } from "~/lib/server/dbHelpers";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { canModify } from "~/lib/server/middlewareButNotReally/storyPrivileges";
import { replaceOrUploadContent, bodyHandler } from "~/lib/server/storyHelpers";
import { Story } from "~/models/stories";
import { FormChapter } from "@client/types/form/story";
import { countWords } from "@functions";
import { messages } from "@server/constants";
import { storyQuerier } from "@server/dbHelpers";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { canModify } from "@server/middlewareButNotReally/storyPrivileges";
import { replaceOrUploadContent, bodyHandler } from "@server/storyHelpers";
import { Story } from "@models/stories";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,5 +1,5 @@
import { storyQuerier } from "~/lib/server/dbHelpers";
import { Review } from "~/models/stories/review";
import { storyQuerier } from "@server/dbHelpers";
import { Review } from "@models/stories/review";
export default eventHandler(async (ev) => {
let story = await storyQuerier(ev);

@ -1,8 +1,8 @@
import san from "sanitize-html";
import { storyQuerier } from "~/lib/server/dbHelpers";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { Story } from "~/models/stories";
import { Review } from "~/models/stories/review";
import { storyQuerier } from "@server/dbHelpers";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { Story } from "@models/stories";
import { Review } from "@models/stories/review";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,7 +1,7 @@
import { storyQuerier } from "~/lib/server/dbHelpers";
import { chapterTransformer } from "~/lib/server/dbHelpers";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { messages } from "~/lib/server/constants";
import { storyQuerier } from "@server/dbHelpers";
import { chapterTransformer } from "@server/dbHelpers";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { messages } from "@server/constants";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,7 +1,7 @@
import { messages } from "~/lib/server/constants";
import { storyQuerier } from "~/lib/server/dbHelpers";
import { canDelete } from "~/lib/server/middlewareButNotReally/storyPrivileges";
import { Story } from "~/models/stories";
import { messages } from "@server/constants";
import { storyQuerier } from "@server/dbHelpers";
import { canDelete } from "@server/middlewareButNotReally/storyPrivileges";
import { Story } from "@models/stories";
export default eventHandler(async (ev) => {
const tmpS = await storyQuerier(ev);

@ -1,5 +1,5 @@
import { storyQuerier } from "~/lib/server/dbHelpers";
import storyCheck from "~/lib/server/middlewareButNotReally/storyCheck";
import { storyQuerier } from "@server/dbHelpers";
import storyCheck from "@server/middlewareButNotReally/storyCheck";
export default eventHandler(async (ev) => {
const story = await storyQuerier(ev);
let chrs = await storyCheck(ev, story, 0);

@ -1,18 +1,18 @@
import { Readable } from "stream";
import { Document } from "mongoose";
import { IStory, Story } from "~/models/stories";
import { FormStory } from "~/lib/client/types/form/story";
import { storyQuerier } from "~/lib/server/dbHelpers";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { canModify } from "~/lib/server/middlewareButNotReally/storyPrivileges";
import { IStory, Story } from "@models/stories";
import { FormStory } from "@client/types/form/story";
import { storyQuerier } from "@server/dbHelpers";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { canModify } from "@server/middlewareButNotReally/storyPrivileges";
import {
bodyHandler,
getBucket,
modelFormChapter,
replaceOrUploadContent,
} from "~/lib/server/storyHelpers";
import { countWords } from "~/lib/functions";
import { messages } from "~/lib/server/constants";
} from "@server/storyHelpers";
import { countWords } from "@functions";
import { messages } from "@server/constants";
export default eventHandler(async (ev) => {
let os:

@ -1,7 +1,8 @@
import { User } from "~/models/user";
import { User } from "@models/user";
import isIdNan from "@server/middlewareButNotReally/isIdNan";
export default eventHandler(async (ev) => {
const id = parseInt(getRouterParam(ev, "id") as string);
const id = isIdNan(ev);
let dat = await User.find({
"favs.stories": {
$in: [id],

@ -1,15 +1,11 @@
import { Readable } from "stream";
import san from "sanitize-html";
import { FormStory } from "~/lib/client/types/form/story";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import {
getBucket,
bodyHandler,
modelFormChapter,
} from "~/lib/server/storyHelpers";
import { Story } from "~/models/stories";
import { sanitizeConf } from "~/lib/server/constants";
import { countWords } from "~/lib/functions";
import { FormStory } from "@client/types/form/story";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { getBucket, bodyHandler, modelFormChapter } from "@server/storyHelpers";
import { Story } from "@models/stories";
import { sanitizeConf } from "@server/constants";
import { countWords } from "@functions";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,6 +1,6 @@
import mongoose from "mongoose";
import { Story } from "~/models/stories";
import { User } from "~/models/user";
import { Story } from "@models/stories";
import { User } from "@models/user";
let authorSingleton: {
lastRefreshed: number;

@ -1,6 +1,6 @@
import { v4 } from "uuid";
import { resolve } from "path";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import sharp from "sharp";
export default eventHandler(async (ev) => {

@ -1,9 +1,9 @@
import { writeFileSync } from "fs";
import { extname } from "path";
import { v4 } from "uuid";
import { ContentFilenameRegex } from "~/lib/server/constants";
import { log } from "~/lib/server/logger";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { ContentFilenameRegex } from "@server/constants";
import { log } from "@server/logger";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
export default eventHandler(async (ev) => {
const noMultipart = "no multipart data found!???!?";

@ -1,6 +1,6 @@
import isAdmin from "~/lib/server/middlewareButNotReally/isAdmin";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { User } from "~/models/user";
import isAdmin from "@server/middlewareButNotReally/isAdmin";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { User } from "@models/user";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,6 +1,6 @@
import isAdmin from "~/lib/server/middlewareButNotReally/isAdmin";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { User } from "~/models/user";
import isAdmin from "@server/middlewareButNotReally/isAdmin";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { User } from "@models/user";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,5 +1,5 @@
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { User } from "~/models/user";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { User } from "@models/user";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,7 +1,7 @@
import { messages } from "~/lib/server/constants";
import { Ficmas } from "~/models/challenges/ficmas";
import { Challenge } from "~/models/challenges/gen";
import { IUser, User } from "~/models/user";
import { messages } from "@server/constants";
import { Ficmas } from "@models/challenges/ficmas";
import { Challenge } from "@models/challenges/gen";
import { IUser, User } from "@models/user";
export default cachedEventHandler(async (ev) => {
const id = parseInt(getRouterParam(ev, "id")!);

@ -1,7 +1,7 @@
import { messages } from "~/lib/server/constants";
import isAdmin from "~/lib/server/middlewareButNotReally/isAdmin";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { User } from "~/models/user";
import { messages } from "@server/constants";
import isAdmin from "@server/middlewareButNotReally/isAdmin";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { User } from "@models/user";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,4 +1,4 @@
import { listQuerier } from "~/lib/server/dbHelpers";
import { listQuerier } from "@server/dbHelpers";
export default cachedEventHandler(async (ev) => {
const id = parseInt(getRouterParam(ev, "id")!);

@ -1,5 +1,5 @@
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { User } from "~/models/user";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { User } from "@models/user";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,6 +1,6 @@
import { FavPayload, SubPayload } from "~/lib/client/types/form/favSub";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { User } from "~/models/user";
import { FavPayload, SubPayload } from "@client/types/form/favSub";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { User } from "@models/user";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,6 +1,6 @@
import { HidePayload } from "~/lib/client/types/form/favSub";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { User } from "~/models/user";
import { HidePayload } from "@client/types/form/favSub";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { User } from "@models/user";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,10 +1,10 @@
import san from "sanitize-html";
import { weirdToNormalChars } from "weird-to-normal-chars";
import { Profile, MyStuff } from "~/lib/client/types/form/myStuff";
import { apiRoot, messages } from "~/lib/server/constants";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { Review } from "~/models/stories/review";
import { IUser, User } from "~/models/user";
import { Profile, MyStuff } from "@client/types/form/myStuff";
import { apiRoot, messages } from "@server/constants";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { Review } from "@models/stories/review";
import { IUser, User } from "@models/user";
import axios from "axios";
function emsg(arg: string): any {

@ -1,10 +1,10 @@
import san from "sanitize-html";
import axios from "axios";
import { Profile } from "~/lib/client/types/form/myStuff";
import { apiRoot, h2m } from "~/lib/server/constants";
import forumId from "~/lib/server/forumId";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { User } from "~/models/user";
import { Profile } from "@client/types/form/myStuff";
import { apiRoot, h2m } from "@server/constants";
import forumId from "@server/forumId";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { User } from "@models/user";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,6 +1,6 @@
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { Story } from "~/models/stories";
import { Review } from "~/models/stories/review";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { Story } from "@models/stories";
import { Review } from "@models/stories/review";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,6 +1,6 @@
import { SubPayload } from "~/lib/client/types/form/favSub";
import isLoggedIn from "~/lib/server/middlewareButNotReally/isLoggedIn";
import { User } from "~/models/user";
import { SubPayload } from "@client/types/form/favSub";
import isLoggedIn from "@server/middlewareButNotReally/isLoggedIn";
import { User } from "@models/user";
export default eventHandler(async (ev) => {
isLoggedIn(ev);

@ -1,6 +1,6 @@
import mongoose from "mongoose";
import { log } from "~/lib/server/logger";
import plugnplay from "~/lib/server/plugnplay";
import { log } from "@server/logger";
import plugnplay from "@server/plugnplay";
export default eventHandler(async (event) => {
log.info("middleware connecting", { label: "middleware/db" });

@ -1,6 +1,6 @@
import jwt from "jsonwebtoken";
import { log } from "~/lib/server/logger";
import { User } from "~/models/user";
import { log } from "@server/logger";
import { User } from "@models/user";
export default defineEventHandler(async (event) => {
let ahead = (

@ -1,4 +1,4 @@
import { Ficmas } from "~/models/challenges/ficmas";
import { Ficmas } from "@models/challenges/ficmas";
export default eventHandler(async (event) => {
let y = new Date().getFullYear();

@ -1,4 +1,7 @@
import { log } from "@server/logger";
export default eventHandler((ev) => {
let chapParam = getRouterParams(ev).chapter;
log.silly(JSON.stringify(getRouterParams(ev)), { label: "sigh" });
ev.context.chapterIndex = !!chapParam ? parseInt(chapParam) - 1 : 0;
});

@ -1,4 +1,4 @@
import { log } from "~/lib/server/logger";
import { log } from "@server/logger";
export default eventHandler(async (ev) => {
const p = log.startTimer();

@ -2,6 +2,17 @@
"extends": "../.nuxt/tsconfig.server.json",
"compilerOptions": {
"allowJs": true,
"outDir": "../out"
"outDir": "../out",
"paths": {
"@models/*": ["../models/*"],
"@client/*": ["./lib/client/*"],
"@server/*": ["../lib/server/*"],
"@models/**": ["../models/**"],
"@client/**": ["../lib/client/**"],
"@server/**": ["../lib/server/**"],
"@functions": ["../lib/functions.ts"],
"@dbconfig": ["../lib/dbconfig.ts"],
"@constants": ["../lib/constants.ts"]
}
}
}

@ -4,7 +4,17 @@
"allowJs": true,
"noImplicitAny": false,
"noImplicitThis": false,
"verbatimModuleSyntax": false
"verbatimModuleSyntax": false,
"paths": {
"@models/*": ["./models/*"],
"@client/*": ["./lib/client/*"],
"@server/*": ["./lib/server/*"],
"@client/**": ["./lib/client/**"],
"@models/**": ["./models/**"],
"@server/**": ["./lib/server/**"],
"@functions": ["./lib/functions.ts"],
"@dbconfig": ["./lib/dbconfig.ts"]
}
},
"extends": "./.nuxt/tsconfig.json"
}

2
typings/auth.d.ts vendored

@ -1,4 +1,4 @@
import { IUser } from "~/models/user";
import { IUser } from "@models/user";
import { SessionData as SDI } from "#auth";
declare module "#auth" {

@ -1,6 +1,6 @@
import { Document } from "mongoose";
import { IStory } from "~/models/stories";
import { IUser } from "~/models/user";
import { IStory } from "@models/stories";
import { IUser } from "@models/user";
import { Request } from "express";
declare global {

@ -1,4 +1,4 @@
import { IStory } from "~/models/stories";
import { IStory } from "@models/stories";
export interface StoryFetchResult {
stories: IStory[];

Some files were not shown because too many files have changed in this diff Show More