├── .editorconfig ├── .eslintrc.cjs ├── .gitignore ├── .npmrc ├── .prettierrc.json ├── README.md ├── app.vue ├── assets └── styles │ ├── _base.scss │ ├── _global.scss │ ├── _reset.scss │ ├── _transitions.scss │ └── main.scss ├── components ├── AdminHeader.vue ├── AppLogo.vue ├── UserForm.vue └── ui │ ├── UiAlert.vue │ ├── UiBadge.vue │ ├── UiButton.vue │ ├── UiCard.vue │ ├── UiField.vue │ ├── UiFlexGrid.vue │ ├── UiGroup.vue │ ├── UiIcon.vue │ ├── UiInput.vue │ ├── UiOverlay.vue │ ├── UiPanel.vue │ ├── UiSelect.vue │ ├── UiSpinner.vue │ ├── UiToggle.vue │ └── UiTooltip.vue ├── composables ├── useApiFetch.ts └── useUser.ts ├── docker-compose.yml ├── layouts ├── admin.vue ├── default.vue └── panel.vue ├── middleware ├── auth.global.ts ├── requireGuest.ts └── requireLogin.ts ├── nuxt.config.ts ├── package.json ├── pages ├── admin │ ├── index.vue │ └── users │ │ ├── [id].vue │ │ ├── index.vue │ │ └── new.vue ├── index.vue ├── login.vue └── logout.vue ├── prisma ├── migrations │ ├── 20230406041648_init │ │ └── migration.sql │ └── migration_lock.toml ├── schema.prisma └── seed.ts ├── public ├── favicon.ico ├── favicon.svg └── images │ ├── logo-full.png │ └── pattern.png ├── server ├── api │ ├── auth │ │ ├── login.post.ts │ │ └── me.ts │ ├── collections │ │ └── index.ts │ ├── platforms │ │ ├── cache.ts │ │ └── unimported.ts │ └── users │ │ ├── [id].delete.ts │ │ ├── [id].patch.ts │ │ ├── [id].ts │ │ ├── index.post.ts │ │ └── index.ts ├── middleware │ └── auth.ts └── utils │ ├── getPrismaClient.ts │ ├── requireAuth.ts │ ├── useIgdb.ts │ └── user │ ├── checkPassword.ts │ ├── createToken.ts │ ├── decodeToken.ts │ └── hashPassword.ts ├── tsconfig.json ├── types ├── auth.d.ts └── ui.d.ts ├── utils └── getAuthHeader.ts └── yarn.lock /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/.editorconfig -------------------------------------------------------------------------------- /.eslintrc.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/.eslintrc.cjs -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | shamefully-hoist=true 2 | strict-peer-dependencies=false 3 | -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/.prettierrc.json -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/README.md -------------------------------------------------------------------------------- /app.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/app.vue -------------------------------------------------------------------------------- /assets/styles/_base.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/assets/styles/_base.scss -------------------------------------------------------------------------------- /assets/styles/_global.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/assets/styles/_global.scss -------------------------------------------------------------------------------- /assets/styles/_reset.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/assets/styles/_reset.scss -------------------------------------------------------------------------------- /assets/styles/_transitions.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/assets/styles/_transitions.scss -------------------------------------------------------------------------------- /assets/styles/main.scss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/assets/styles/main.scss -------------------------------------------------------------------------------- /components/AdminHeader.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/AdminHeader.vue -------------------------------------------------------------------------------- /components/AppLogo.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/AppLogo.vue -------------------------------------------------------------------------------- /components/UserForm.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/UserForm.vue -------------------------------------------------------------------------------- /components/ui/UiAlert.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/ui/UiAlert.vue -------------------------------------------------------------------------------- /components/ui/UiBadge.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/ui/UiBadge.vue -------------------------------------------------------------------------------- /components/ui/UiButton.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/ui/UiButton.vue -------------------------------------------------------------------------------- /components/ui/UiCard.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/ui/UiCard.vue -------------------------------------------------------------------------------- /components/ui/UiField.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/ui/UiField.vue -------------------------------------------------------------------------------- /components/ui/UiFlexGrid.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/ui/UiFlexGrid.vue -------------------------------------------------------------------------------- /components/ui/UiGroup.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/ui/UiGroup.vue -------------------------------------------------------------------------------- /components/ui/UiIcon.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/ui/UiIcon.vue -------------------------------------------------------------------------------- /components/ui/UiInput.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/ui/UiInput.vue -------------------------------------------------------------------------------- /components/ui/UiOverlay.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/ui/UiOverlay.vue -------------------------------------------------------------------------------- /components/ui/UiPanel.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/ui/UiPanel.vue -------------------------------------------------------------------------------- /components/ui/UiSelect.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/ui/UiSelect.vue -------------------------------------------------------------------------------- /components/ui/UiSpinner.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/ui/UiSpinner.vue -------------------------------------------------------------------------------- /components/ui/UiToggle.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/ui/UiToggle.vue -------------------------------------------------------------------------------- /components/ui/UiTooltip.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/components/ui/UiTooltip.vue -------------------------------------------------------------------------------- /composables/useApiFetch.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/composables/useApiFetch.ts -------------------------------------------------------------------------------- /composables/useUser.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/composables/useUser.ts -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /layouts/admin.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/layouts/admin.vue -------------------------------------------------------------------------------- /layouts/default.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/layouts/default.vue -------------------------------------------------------------------------------- /layouts/panel.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/layouts/panel.vue -------------------------------------------------------------------------------- /middleware/auth.global.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/middleware/auth.global.ts -------------------------------------------------------------------------------- /middleware/requireGuest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/middleware/requireGuest.ts -------------------------------------------------------------------------------- /middleware/requireLogin.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/middleware/requireLogin.ts -------------------------------------------------------------------------------- /nuxt.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/nuxt.config.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/package.json -------------------------------------------------------------------------------- /pages/admin/index.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/pages/admin/index.vue -------------------------------------------------------------------------------- /pages/admin/users/[id].vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/pages/admin/users/[id].vue -------------------------------------------------------------------------------- /pages/admin/users/index.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/pages/admin/users/index.vue -------------------------------------------------------------------------------- /pages/admin/users/new.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/pages/admin/users/new.vue -------------------------------------------------------------------------------- /pages/index.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/pages/index.vue -------------------------------------------------------------------------------- /pages/login.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/pages/login.vue -------------------------------------------------------------------------------- /pages/logout.vue: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/pages/logout.vue -------------------------------------------------------------------------------- /prisma/migrations/20230406041648_init/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/prisma/migrations/20230406041648_init/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/prisma/migrations/migration_lock.toml -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/prisma/schema.prisma -------------------------------------------------------------------------------- /prisma/seed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/prisma/seed.ts -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/favicon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/public/favicon.svg -------------------------------------------------------------------------------- /public/images/logo-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/public/images/logo-full.png -------------------------------------------------------------------------------- /public/images/pattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/public/images/pattern.png -------------------------------------------------------------------------------- /server/api/auth/login.post.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/api/auth/login.post.ts -------------------------------------------------------------------------------- /server/api/auth/me.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/api/auth/me.ts -------------------------------------------------------------------------------- /server/api/collections/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/api/collections/index.ts -------------------------------------------------------------------------------- /server/api/platforms/cache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/api/platforms/cache.ts -------------------------------------------------------------------------------- /server/api/platforms/unimported.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/api/platforms/unimported.ts -------------------------------------------------------------------------------- /server/api/users/[id].delete.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/api/users/[id].delete.ts -------------------------------------------------------------------------------- /server/api/users/[id].patch.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/api/users/[id].patch.ts -------------------------------------------------------------------------------- /server/api/users/[id].ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/api/users/[id].ts -------------------------------------------------------------------------------- /server/api/users/index.post.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/api/users/index.post.ts -------------------------------------------------------------------------------- /server/api/users/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/api/users/index.ts -------------------------------------------------------------------------------- /server/middleware/auth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/middleware/auth.ts -------------------------------------------------------------------------------- /server/utils/getPrismaClient.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/utils/getPrismaClient.ts -------------------------------------------------------------------------------- /server/utils/requireAuth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/utils/requireAuth.ts -------------------------------------------------------------------------------- /server/utils/useIgdb.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/utils/useIgdb.ts -------------------------------------------------------------------------------- /server/utils/user/checkPassword.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/utils/user/checkPassword.ts -------------------------------------------------------------------------------- /server/utils/user/createToken.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/utils/user/createToken.ts -------------------------------------------------------------------------------- /server/utils/user/decodeToken.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/utils/user/decodeToken.ts -------------------------------------------------------------------------------- /server/utils/user/hashPassword.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/server/utils/user/hashPassword.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/tsconfig.json -------------------------------------------------------------------------------- /types/auth.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/types/auth.d.ts -------------------------------------------------------------------------------- /types/ui.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/types/ui.d.ts -------------------------------------------------------------------------------- /utils/getAuthHeader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/utils/getAuthHeader.ts -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jamjnsn/cartridge/HEAD/yarn.lock --------------------------------------------------------------------------------