This commit is contained in:
Rutra
2026-05-13 11:50:22 +02:00
commit 2068229f89
128 changed files with 9215 additions and 0 deletions

19
start/env.js Normal file
View File

@@ -0,0 +1,19 @@
import { Env } from '@adonisjs/core/env';
export default await Env.create(new URL('../', import.meta.url), {
NODE_ENV: Env.schema.enum(['development', 'production', 'test']),
PORT: Env.schema.number(),
HOST: Env.schema.string({ format: 'host' }),
LOG_LEVEL: Env.schema.string(),
APP_KEY: Env.schema.secret(),
APP_URL: Env.schema.string({ format: 'url', tld: false }),
SESSION_DRIVER: Env.schema.enum(['cookie', 'memory', 'database']),
DB_HOST: Env.schema.string({ format: 'host' }),
DB_PORT: Env.schema.number(),
DB_USER: Env.schema.string(),
DB_PASSWORD: Env.schema.string(),
DB_DATABASE: Env.schema.string(),
ADMIN_FULL_NAME: Env.schema.string(),
ADMIN_EMAIL: Env.schema.string(),
ADMIN_PASSWORD: Env.schema.secret(),
});
//# sourceMappingURL=env.js.map

1
start/env.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../start/env.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAA;AAExC,eAAe,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;IAE/D,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,CAAU,CAAC;IACzE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;IACzB,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC3C,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;IAG9B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;IAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IAGzD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAC;IAG1E,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9C,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;IAC5B,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;IAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;IAChC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;IAGhC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;IACpC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;IAChC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE;CACpC,CAAC,CAAA"}

19
start/kernel.js Normal file
View File

@@ -0,0 +1,19 @@
import router from '@adonisjs/core/services/router';
import server from '@adonisjs/core/services/server';
server.errorHandler(() => import('#exceptions/handler'));
server.use([
() => import('#middleware/force_json_response_middleware'),
() => import('#middleware/container_bindings_middleware'),
() => import('@adonisjs/cors/cors_middleware'),
]);
router.use([
() => import('@adonisjs/core/bodyparser_middleware'),
() => import('@adonisjs/session/session_middleware'),
() => import('@adonisjs/shield/shield_middleware'),
() => import('@adonisjs/auth/initialize_auth_middleware'),
() => import('#middleware/silent_auth_middleware'),
]);
export const middleware = router.named({
auth: () => import('#middleware/auth_middleware'),
});
//# sourceMappingURL=kernel.js.map

1
start/kernel.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../start/kernel.ts"],"names":[],"mappings":"AAUA,OAAO,MAAM,MAAM,gCAAgC,CAAA;AACnD,OAAO,MAAM,MAAM,gCAAgC,CAAA;AAMnD,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAA;AAOxD,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,EAAE,CAAC,MAAM,CAAC,4CAA4C,CAAC;IAC1D,GAAG,EAAE,CAAC,MAAM,CAAC,2CAA2C,CAAC;IACzD,GAAG,EAAE,CAAC,MAAM,CAAC,gCAAgC,CAAC;CAC/C,CAAC,CAAA;AAMF,MAAM,CAAC,GAAG,CAAC;IACT,GAAG,EAAE,CAAC,MAAM,CAAC,sCAAsC,CAAC;IACpD,GAAG,EAAE,CAAC,MAAM,CAAC,sCAAsC,CAAC;IACpD,GAAG,EAAE,CAAC,MAAM,CAAC,oCAAoC,CAAC;IAClD,GAAG,EAAE,CAAC,MAAM,CAAC,2CAA2C,CAAC;IACzD,GAAG,EAAE,CAAC,MAAM,CAAC,oCAAoC,CAAC;CACnD,CAAC,CAAA;AAMF,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;IACrC,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAAC;CAClD,CAAC,CAAA"}

53
start/routes.js Normal file
View File

@@ -0,0 +1,53 @@
import { middleware } from '#start/kernel';
import router from '@adonisjs/core/services/router';
import { controllers } from '#generated/controllers';
router.get('/', () => {
return { hello: 'world' };
});
router
.group(() => {
router
.group(() => {
router.post('signup', [controllers.NewAccount, 'store']);
router.post('login', [controllers.AccessTokens, 'store']);
})
.prefix('auth')
.as('auth');
router
.group(() => {
router.get('profile', [controllers.Profile, 'show']);
router.post('logout', [controllers.AccessTokens, 'destroy']);
})
.prefix('account')
.as('profile')
.use(middleware.auth());
router
.group(() => {
router.get('profile', [() => import('#controllers/vtubers_controller'), 'show']);
router.get('games', [() => import('#controllers/games_controller'), 'index']);
router.get('social-links', [() => import('#controllers/social_links_controller'), 'index']);
router.get('fanarts', [() => import('#controllers/fanarts_controller'), 'index']);
router.get('brand', [() => import('#controllers/brands_controller'), 'show']);
})
.prefix('vtuber');
router
.group(() => {
router.put('profile', [() => import('#controllers/vtubers_controller'), 'update']);
router.post('games', [() => import('#controllers/games_controller'), 'store']);
router.put('games/:id', [() => import('#controllers/games_controller'), 'update']);
router.delete('games/:id', [() => import('#controllers/games_controller'), 'destroy']);
router.post('social-links', [() => import('#controllers/social_links_controller'), 'store']);
router.put('social-links/:id', [() => import('#controllers/social_links_controller'), 'update']);
router.delete('social-links/:id', [() => import('#controllers/social_links_controller'), 'destroy']);
router.post('fanarts', [() => import('#controllers/fanarts_controller'), 'store']);
router.put('fanarts/:id', [() => import('#controllers/fanarts_controller'), 'update']);
router.delete('fanarts/:id', [() => import('#controllers/fanarts_controller'), 'destroy']);
router.put('brand', [() => import('#controllers/brands_controller'), 'update']);
router.get('backup/export', [() => import('#controllers/backups_controller'), 'export']);
router.post('backup/restore', [() => import('#controllers/backups_controller'), 'restore']);
})
.prefix('vtuber')
.use(middleware.auth());
})
.prefix('/api/v1');
//# sourceMappingURL=routes.js.map

1
start/routes.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../start/routes.ts"],"names":[],"mappings":"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"}

4
start/validator.js Normal file
View File

@@ -0,0 +1,4 @@
import { DateTime } from 'luxon';
import { VineDate } from '@vinejs/vine';
VineDate.transform((value) => DateTime.fromJSDate(value));
//# sourceMappingURL=validator.js.map

1
start/validator.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../start/validator.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAQvC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA"}