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

View File

@@ -0,0 +1,12 @@
export const controllers = {
AccessTokens: () => import('#controllers/access_tokens_controller'),
Backups: () => import('#controllers/backups_controller'),
Brands: () => import('#controllers/brands_controller'),
Fanarts: () => import('#controllers/fanarts_controller'),
Games: () => import('#controllers/games_controller'),
NewAccount: () => import('#controllers/new_account_controller'),
Profile: () => import('#controllers/profile_controller'),
SocialLinks: () => import('#controllers/social_links_controller'),
Vtubers: () => import('#controllers/vtubers_controller'),
};
//# sourceMappingURL=controllers.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../../.adonisjs/server/controllers.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,uCAAuC,CAAC;IACnE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iCAAiC,CAAC;IACxD,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,gCAAgC,CAAC;IACtD,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iCAAiC,CAAC;IACxD,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC;IACpD,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,qCAAqC,CAAC;IAC/D,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iCAAiC,CAAC;IACxD,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,sCAAsC,CAAC;IACjE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,iCAAiC,CAAC;CACzD,CAAA"}

View File

@@ -0,0 +1,2 @@
export const events = {};
//# sourceMappingURL=events.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../.adonisjs/server/events.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,MAAM,GAAG,EAAE,CAAA"}

View File

@@ -0,0 +1,2 @@
export const listeners = {};
//# sourceMappingURL=listeners.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"listeners.js","sourceRoot":"","sources":["../../../.adonisjs/server/listeners.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAA"}

30
.adonisjs/server/routes.d.ts vendored Normal file
View File

@@ -0,0 +1,30 @@
import '@adonisjs/core/types/http'
type ParamValue = string | number | bigint | boolean
export type ScannedRoutes = {
ALL: {
'auth.new_account.store': { paramsTuple?: []; params?: {} }
'auth.access_tokens.store': { paramsTuple?: []; params?: {} }
'profile.profile.show': { paramsTuple?: []; params?: {} }
'profile.access_tokens.destroy': { paramsTuple?: []; params?: {} }
}
GET: {
'profile.profile.show': { paramsTuple?: []; params?: {} }
}
HEAD: {
'profile.profile.show': { paramsTuple?: []; params?: {} }
}
POST: {
'auth.new_account.store': { paramsTuple?: []; params?: {} }
'auth.access_tokens.store': { paramsTuple?: []; params?: {} }
'profile.access_tokens.destroy': { paramsTuple?: []; params?: {} }
}
PUT: {
}
DELETE: {
}
}
declare module '@adonisjs/core/types/http' {
export interface RoutesList extends ScannedRoutes {}
}

File diff suppressed because one or more lines are too long

12
.gitignore vendored Normal file
View File

@@ -0,0 +1,12 @@
# Node modules
node_modules/
# Environment variables
.env
env.json
# Database
database/db.sqlite3
# IDE files
.vscode/

7
ace.js Normal file
View File

@@ -0,0 +1,7 @@
/**
* This file is auto-generated by the build process.
* If you had any custom code inside this file, then
* instead write it inside the "bin/console.js" file.
*/
await import('./bin/console.js')

56
adonisrc.js Normal file
View File

@@ -0,0 +1,56 @@
import { indexEntities } from '@adonisjs/core';
import { defineConfig } from '@adonisjs/core/app';
import { generateRegistry } from '@tuyau/core/hooks';
export default defineConfig({
experimental: {},
commands: [
() => import('@adonisjs/core/commands'),
() => import('@adonisjs/lucid/commands'),
() => import('@adonisjs/session/commands'),
],
providers: [
() => import('@adonisjs/core/providers/app_provider'),
() => import('@adonisjs/core/providers/hash_provider'),
{
file: () => import('@adonisjs/core/providers/repl_provider'),
environment: ['repl', 'test'],
},
() => import('@adonisjs/core/providers/vinejs_provider'),
() => import('@adonisjs/session/session_provider'),
() => import('@adonisjs/shield/shield_provider'),
() => import('@adonisjs/lucid/database_provider'),
() => import('@adonisjs/cors/cors_provider'),
() => import('@adonisjs/auth/auth_provider'),
() => import('#providers/api_provider'),
],
preloads: [
() => import('#start/routes'),
() => import('#start/kernel'),
() => import('#start/validator'),
],
tests: {
suites: [
{
files: ['tests/unit/**/*.spec.{ts,js}'],
name: 'unit',
timeout: 2000,
},
{
files: ['tests/functional/**/*.spec.{ts,js}'],
name: 'functional',
timeout: 30000,
},
],
forceExit: false,
},
metaFiles: [],
hooks: {
init: [
indexEntities({
transformers: { enabled: true },
}),
generateRegistry(),
],
},
});
//# sourceMappingURL=adonisrc.js.map

1
adonisrc.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"adonisrc.js","sourceRoot":"","sources":["../adonisrc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,eAAe,YAAY,CAAC;IAW1B,YAAY,EAAE,EAAE;IAWhB,QAAQ,EAAE;QACR,GAAG,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC;QACvC,GAAG,EAAE,CAAC,MAAM,CAAC,0BAA0B,CAAC;QACxC,GAAG,EAAE,CAAC,MAAM,CAAC,4BAA4B,CAAC;KAC3C;IAWD,SAAS,EAAE;QACT,GAAG,EAAE,CAAC,MAAM,CAAC,uCAAuC,CAAC;QACrD,GAAG,EAAE,CAAC,MAAM,CAAC,wCAAwC,CAAC;QACtD;YACE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,wCAAwC,CAAC;YAC5D,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;SAC9B;QACD,GAAG,EAAE,CAAC,MAAM,CAAC,0CAA0C,CAAC;QACxD,GAAG,EAAE,CAAC,MAAM,CAAC,oCAAoC,CAAC;QAClD,GAAG,EAAE,CAAC,MAAM,CAAC,kCAAkC,CAAC;QAChD,GAAG,EAAE,CAAC,MAAM,CAAC,mCAAmC,CAAC;QACjD,GAAG,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC;QAC5C,GAAG,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC;QAC5C,GAAG,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC;KACxC;IAUD,QAAQ,EAAE;QACR,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC;QAC7B,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC;QAC7B,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC;KACjC;IAWD,KAAK,EAAE;QACL,MAAM,EAAE;YACN;gBACE,KAAK,EAAE,CAAC,8BAA8B,CAAC;gBACvC,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI;aACd;YACD;gBACE,KAAK,EAAE,CAAC,oCAAoC,CAAC;gBAC7C,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,KAAK;aACf;SACF;QACD,SAAS,EAAE,KAAK;KACjB;IAWD,SAAS,EAAE,EAAE;IAEb,KAAK,EAAE;QACL,IAAI,EAAE;YACJ,aAAa,CAAC;gBACZ,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;aAChC,CAAC;YACF,gBAAgB,EAAE;SACnB;KACF;CACF,CAAC,CAAA"}

View File

@@ -0,0 +1,24 @@
import User from '#models/user';
import { loginValidator } from '#validators/user';
import UserTransformer from '#transformers/user_transformer';
export default class AccessTokensController {
async store({ request, serialize }) {
const { email, password } = await request.validateUsing(loginValidator);
const user = await User.verifyCredentials(email, password);
const token = await User.accessTokens.create(user);
return serialize({
user: UserTransformer.transform(user),
token: token.value.release(),
});
}
async destroy({ auth }) {
const user = auth.getUserOrFail();
if (user.currentAccessToken) {
await User.accessTokens.delete(user, user.currentAccessToken.identifier);
}
return {
message: 'Logged out successfully',
};
}
}
//# sourceMappingURL=access_tokens_controller.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"access_tokens_controller.js","sourceRoot":"","sources":["../../../app/controllers/access_tokens_controller.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,cAAc,CAAA;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,eAAe,MAAM,gCAAgC,CAAA;AAE5D,MAAM,CAAC,OAAO,OAAO,sBAAsB;IACzC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,EAAe;QAC7C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;QAEvE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;QAC1D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAElD,OAAO,SAAS,CAAC;YACf,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;YACrC,KAAK,EAAE,KAAK,CAAC,KAAM,CAAC,OAAO,EAAE;SAC9B,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAe;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACjC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAA;QAC1E,CAAC;QAED,OAAO;YACL,OAAO,EAAE,yBAAyB;SACnC,CAAA;IACH,CAAC;CACF"}

View File

@@ -0,0 +1,67 @@
import BrandColor from '#models/brand_color';
import BrandFont from '#models/brand_font';
import Fanart from '#models/fanart';
import Game from '#models/game';
import Profile from '#models/profile';
import SocialLink from '#models/social_link';
import Tag from '#models/tag';
export default class BackupsController {
async export({ response }) {
const [profile, tags, games, socialLinks, fanarts, brandColors, brandFonts] = await Promise.all([
Profile.first(),
Tag.all(),
Game.query().orderBy('sort_order', 'asc'),
SocialLink.all(),
Fanart.query().orderBy('sort_order', 'asc'),
BrandColor.all(),
BrandFont.all(),
]);
return response.json({
version: 1,
exportedAt: new Date().toISOString(),
profile: profile?.serialize(),
tags: tags.map((t) => ({ name: t.name })),
games: games.map((g) => ({ name: g.name, icon: g.icon, type: g.type, sortOrder: g.sortOrder })),
socialLinks: socialLinks.map((s) => ({ platform: s.platform, url: s.url, username: s.username, icon: s.icon, color: s.color })),
fanarts: fanarts.map((f) => ({ title: f.title, author: f.author, imageUrl: f.imageUrl, sortOrder: f.sortOrder })),
brand: {
colors: brandColors.map((c) => ({ name: c.name, hex: c.hex })),
fonts: brandFonts.map((f) => ({ name: f.name })),
},
});
}
async restore({ request, response }) {
const backup = request.body();
if (backup.profile) {
await Profile.truncate();
const { name, avatarUrl, title, description, aboutText } = backup.profile;
await Profile.create({ name, avatarUrl, title, description, aboutText });
}
if (Array.isArray(backup.tags)) {
await Tag.truncate();
await Tag.createMany(backup.tags.map((t) => ({ name: t.name })));
}
if (Array.isArray(backup.games)) {
await Game.truncate();
await Game.createMany(backup.games.map((g) => ({ name: g.name, icon: g.icon, type: g.type, sortOrder: g.sortOrder })));
}
if (Array.isArray(backup.socialLinks)) {
await SocialLink.truncate();
await SocialLink.createMany(backup.socialLinks.map((s) => ({ platform: s.platform, url: s.url, username: s.username, icon: s.icon, color: s.color })));
}
if (Array.isArray(backup.fanarts)) {
await Fanart.truncate();
await Fanart.createMany(backup.fanarts.map((f) => ({ title: f.title, author: f.author, imageUrl: f.imageUrl, sortOrder: f.sortOrder })));
}
if (backup.brand?.colors) {
await BrandColor.truncate();
await BrandColor.createMany(backup.brand.colors.map((c) => ({ name: c.name, hex: c.hex })));
}
if (backup.brand?.fonts) {
await BrandFont.truncate();
await BrandFont.createMany(backup.brand.fonts.map((f) => ({ name: f.name })));
}
return response.json({ success: true, restoredAt: new Date().toISOString() });
}
}
//# sourceMappingURL=backups_controller.js.map

View File

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

View File

@@ -0,0 +1,22 @@
import BrandColor from '#models/brand_color';
import BrandFont from '#models/brand_font';
export default class BrandsController {
async show({}) {
const colors = await BrandColor.all();
const fonts = await BrandFont.all();
return { colors, fonts };
}
async update({ request }) {
const { colors, fonts } = request.only(['colors', 'fonts']);
if (colors) {
await BrandColor.truncate();
await BrandColor.createMany(colors);
}
if (fonts) {
await BrandFont.truncate();
await BrandFont.createMany(fonts);
}
return this.show({ request });
}
}
//# sourceMappingURL=brands_controller.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"brands_controller.js","sourceRoot":"","sources":["../../../app/controllers/brands_controller.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,qBAAqB,CAAA;AAC5C,OAAO,SAAS,MAAM,oBAAoB,CAAA;AAG1C,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,KAAK,CAAC,IAAI,CAAC,EAAe;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,CAAA;QACrC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAA;QACnC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAe;QACnC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAA;QAE3D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAA;YAC3B,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QACrC,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAA;YAC1B,MAAM,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAS,CAAC,CAAA;IACtC,CAAC;CACF"}

View File

@@ -0,0 +1,23 @@
import Fanart from '#models/fanart';
export default class FanartsController {
async index({}) {
return Fanart.query().orderBy('sort_order', 'asc');
}
async store({ request }) {
const data = request.only(['title', 'author', 'imageUrl', 'sortOrder']);
return Fanart.create(data);
}
async update({ params, request }) {
const fanart = await Fanart.findOrFail(params.id);
const data = request.only(['title', 'author', 'imageUrl', 'sortOrder']);
fanart.merge(data);
await fanart.save();
return fanart;
}
async destroy({ params, response }) {
const fanart = await Fanart.findOrFail(params.id);
await fanart.delete();
return response.noContent();
}
}
//# sourceMappingURL=fanarts_controller.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"fanarts_controller.js","sourceRoot":"","sources":["../../../app/controllers/fanarts_controller.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,gBAAgB,CAAA;AAGnC,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC,KAAK,CAAC,KAAK,CAAC,EAAe;QACzB,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAe;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;QACvE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAe;QAC3C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACjD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAA;QACvE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAClB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;QACnB,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAe;QAC7C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACjD,MAAM,MAAM,CAAC,MAAM,EAAE,CAAA;QACrB,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAA;IAC7B,CAAC;CACF"}

View File

@@ -0,0 +1,23 @@
import Game from '#models/game';
export default class GamesController {
async index({}) {
return Game.query().orderBy('sort_order', 'asc');
}
async store({ request }) {
const data = request.only(['name', 'icon', 'type', 'sortOrder']);
return Game.create(data);
}
async update({ params, request }) {
const game = await Game.findOrFail(params.id);
const data = request.only(['name', 'icon', 'type', 'sortOrder']);
game.merge(data);
await game.save();
return game;
}
async destroy({ params, response }) {
const game = await Game.findOrFail(params.id);
await game.delete();
return response.noContent();
}
}
//# sourceMappingURL=games_controller.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"games_controller.js","sourceRoot":"","sources":["../../../app/controllers/games_controller.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,cAAc,CAAA;AAG/B,MAAM,CAAC,OAAO,OAAO,eAAe;IAClC,KAAK,CAAC,KAAK,CAAC,EAAe;QACzB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAe;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;QAChE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAe;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;QAChE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAe;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAC7C,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;QACnB,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAA;IAC7B,CAAC;CACF"}

View File

@@ -0,0 +1,15 @@
import User from '#models/user';
import { signupValidator } from '#validators/user';
import UserTransformer from '#transformers/user_transformer';
export default class NewAccountController {
async store({ request, serialize }) {
const { fullName, email, password } = await request.validateUsing(signupValidator);
const user = await User.create({ fullName, email, password });
const token = await User.accessTokens.create(user);
return serialize({
user: UserTransformer.transform(user),
token: token.value.release(),
});
}
}
//# sourceMappingURL=new_account_controller.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"new_account_controller.js","sourceRoot":"","sources":["../../../app/controllers/new_account_controller.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,cAAc,CAAA;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,eAAe,MAAM,gCAAgC,CAAA;AAE5D,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,SAAS,EAAe;QAC7C,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAA;QAElF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC7D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAElD,OAAO,SAAS,CAAC;YACf,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC;YACrC,KAAK,EAAE,KAAK,CAAC,KAAM,CAAC,OAAO,EAAE;SAC9B,CAAC,CAAA;IACJ,CAAC;CACF"}

View File

@@ -0,0 +1,7 @@
import UserTransformer from '#transformers/user_transformer';
export default class ProfileController {
async show({ auth, serialize }) {
return serialize(UserTransformer.transform(auth.getUserOrFail()));
}
}
//# sourceMappingURL=profile_controller.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"profile_controller.js","sourceRoot":"","sources":["../../../app/controllers/profile_controller.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,gCAAgC,CAAA;AAG5D,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAe;QACzC,OAAO,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;IACnE,CAAC;CACF"}

View File

@@ -0,0 +1,23 @@
import SocialLink from '#models/social_link';
export default class SocialLinksController {
async index({}) {
return SocialLink.all();
}
async store({ request }) {
const data = request.only(['platform', 'url', 'username', 'icon', 'color']);
return SocialLink.create(data);
}
async update({ params, request }) {
const link = await SocialLink.findOrFail(params.id);
const data = request.only(['platform', 'url', 'username', 'icon', 'color']);
link.merge(data);
await link.save();
return link;
}
async destroy({ params, response }) {
const link = await SocialLink.findOrFail(params.id);
await link.delete();
return response.noContent();
}
}
//# sourceMappingURL=social_links_controller.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"social_links_controller.js","sourceRoot":"","sources":["../../../app/controllers/social_links_controller.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,qBAAqB,CAAA;AAG5C,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC,KAAK,CAAC,KAAK,CAAC,EAAe;QACzB,OAAO,UAAU,CAAC,GAAG,EAAE,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE,OAAO,EAAe;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;QAC3E,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAe;QAC3C,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACnD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;QAC3E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAChB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAA;QACjB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAe;QAC7C,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACnD,MAAM,IAAI,CAAC,MAAM,EAAE,CAAA;QACnB,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAA;IAC7B,CAAC;CACF"}

View File

@@ -0,0 +1,18 @@
import Profile from '#models/profile';
import Tag from '#models/tag';
export default class VtubersController {
async show({}) {
const profile = await Profile.firstOrFail();
const tags = await Tag.all();
return { ...profile.serialize(), tags: tags.map((t) => t.name) };
}
async update({ request }) {
const profile = await Profile.firstOrFail();
const data = request.only(['name', 'avatarUrl', 'backgroundImageUrl', 'title', 'description', 'aboutText']);
profile.merge(data);
await profile.save();
const tags = await Tag.all();
return { ...profile.serialize(), tags: tags.map((t) => t.name) };
}
}
//# sourceMappingURL=vtubers_controller.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"vtubers_controller.js","sourceRoot":"","sources":["../../../app/controllers/vtubers_controller.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,iBAAiB,CAAA;AACrC,OAAO,GAAG,MAAM,aAAa,CAAA;AAG7B,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC,KAAK,CAAC,IAAI,CAAC,EAAe;QACxB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAA;QAC3C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAA;QAC5B,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAA;IAClE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,EAAe;QACnC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAA;QAC3C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAA;QAC3G,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACnB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;QACpB,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAA;QAC5B,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAA;IAClE,CAAC;CACF"}

12
app/exceptions/handler.js Normal file
View File

@@ -0,0 +1,12 @@
import app from '@adonisjs/core/services/app';
import { ExceptionHandler } from '@adonisjs/core/http';
export default class HttpExceptionHandler extends ExceptionHandler {
debug = !app.inProduction;
async handle(error, ctx) {
return super.handle(error, ctx);
}
async report(error, ctx) {
return super.report(error, ctx);
}
}
//# sourceMappingURL=handler.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../app/exceptions/handler.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,6BAA6B,CAAA;AAC7C,OAAO,EAAoB,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAExE,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,gBAAgB;IAKtD,KAAK,GAAG,CAAC,GAAG,CAAC,YAAY,CAAA;IAMnC,KAAK,CAAC,MAAM,CAAC,KAAc,EAAE,GAAgB;QAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACjC,CAAC;IAQD,KAAK,CAAC,MAAM,CAAC,KAAc,EAAE,GAAgB;QAC3C,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IACjC,CAAC;CACF"}

View File

@@ -0,0 +1,7 @@
export default class AuthMiddleware {
async handle(ctx, next, options = {}) {
await ctx.auth.authenticateUsing(options.guards);
return next();
}
}
//# sourceMappingURL=auth_middleware.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"auth_middleware.js","sourceRoot":"","sources":["../../../app/middleware/auth_middleware.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,KAAK,CAAC,MAAM,CACV,GAAgB,EAChB,IAAY,EACZ,UAEI,EAAE;QAEN,MAAM,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAChD,OAAO,IAAI,EAAE,CAAA;IACf,CAAC;CACF"}

View File

@@ -0,0 +1,10 @@
import { Logger } from '@adonisjs/core/logger';
import { HttpContext } from '@adonisjs/core/http';
export default class ContainerBindingsMiddleware {
handle(ctx, next) {
ctx.containerResolver.bindValue(HttpContext, ctx);
ctx.containerResolver.bindValue(Logger, ctx.logger);
return next();
}
}
//# sourceMappingURL=container_bindings_middleware.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"container_bindings_middleware.js","sourceRoot":"","sources":["../../../app/middleware/container_bindings_middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAUjD,MAAM,CAAC,OAAO,OAAO,2BAA2B;IAC9C,MAAM,CAAC,GAAgB,EAAE,IAAY;QACnC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QACjD,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;QAEnD,OAAO,IAAI,EAAE,CAAA;IACf,CAAC;CACF"}

View File

@@ -0,0 +1,7 @@
export default class ForceJsonResponseMiddleware {
handle(ctx, next) {
ctx.request.request.headers.accept = 'application/json';
return next();
}
}
//# sourceMappingURL=force_json_response_middleware.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"force_json_response_middleware.js","sourceRoot":"","sources":["../../../app/middleware/force_json_response_middleware.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,2BAA2B;IAC9C,MAAM,CAAC,GAAgB,EAAE,IAAY;QACnC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,kBAAkB,CAAA;QACvD,OAAO,IAAI,EAAE,CAAA;IACf,CAAC;CACF"}

View File

@@ -0,0 +1,7 @@
export default class SilentAuthMiddleware {
async handle(ctx, next) {
await ctx.auth.check();
return next();
}
}
//# sourceMappingURL=silent_auth_middleware.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"silent_auth_middleware.js","sourceRoot":"","sources":["../../../app/middleware/silent_auth_middleware.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,OAAO,OAAO,oBAAoB;IACvC,KAAK,CAAC,MAAM,CAAC,GAAgB,EAAE,IAAY;QACzC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;QAEtB,OAAO,IAAI,EAAE,CAAA;IACf,CAAC;CACF"}

View File

@@ -0,0 +1,4 @@
import { BrandColorSchema } from '#database/schema';
export default class BrandColor extends BrandColorSchema {
}
//# sourceMappingURL=brand_color.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"brand_color.js","sourceRoot":"","sources":["../../../app/models/brand_color.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,gBAAgB;CACvD"}

4
app/models/brand_font.js Normal file
View File

@@ -0,0 +1,4 @@
import { BrandFontSchema } from '#database/schema';
export default class BrandFont extends BrandFontSchema {
}
//# sourceMappingURL=brand_font.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"brand_font.js","sourceRoot":"","sources":["../../../app/models/brand_font.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,eAAe;CACrD"}

4
app/models/fanart.js Normal file
View File

@@ -0,0 +1,4 @@
import { FanartSchema } from '#database/schema';
export default class Fanart extends FanartSchema {
}
//# sourceMappingURL=fanart.js.map

1
app/models/fanart.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"fanart.js","sourceRoot":"","sources":["../../../app/models/fanart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAY;CAC/C"}

4
app/models/game.js Normal file
View File

@@ -0,0 +1,4 @@
import { GameSchema } from '#database/schema';
export default class Game extends GameSchema {
}
//# sourceMappingURL=game.js.map

1
app/models/game.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"game.js","sourceRoot":"","sources":["../../../app/models/game.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,UAAU;CAC3C"}

4
app/models/profile.js Normal file
View File

@@ -0,0 +1,4 @@
import { ProfileSchema } from '#database/schema';
export default class Profile extends ProfileSchema {
}
//# sourceMappingURL=profile.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../app/models/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEhD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,aAAa;CACjD"}

View File

@@ -0,0 +1,4 @@
import { SocialLinkSchema } from '#database/schema';
export default class SocialLink extends SocialLinkSchema {
}
//# sourceMappingURL=social_link.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"social_link.js","sourceRoot":"","sources":["../../../app/models/social_link.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,gBAAgB;CACvD"}

4
app/models/tag.js Normal file
View File

@@ -0,0 +1,4 @@
import { TagSchema } from '#database/schema';
export default class Tag extends TagSchema {
}
//# sourceMappingURL=tag.js.map

1
app/models/tag.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../app/models/tag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAE5C,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,SAAS;CACzC"}

16
app/models/user.js Normal file
View File

@@ -0,0 +1,16 @@
import { UserSchema } from '#database/schema';
import hash from '@adonisjs/core/services/hash';
import { compose } from '@adonisjs/core/helpers';
import { withAuthFinder } from '@adonisjs/auth/mixins/lucid';
import { DbAccessTokensProvider } from '@adonisjs/auth/access_tokens';
export default class User extends compose(UserSchema, withAuthFinder(hash)) {
static accessTokens = DbAccessTokensProvider.forModel(User);
get initials() {
const [first, last] = this.fullName ? this.fullName.split(' ') : this.email.split('@');
if (first && last) {
return `${first.charAt(0)}${last.charAt(0)}`.toUpperCase();
}
return `${first.slice(0, 2)}`.toUpperCase();
}
}
//# sourceMappingURL=user.js.map

1
app/models/user.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../app/models/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,IAAI,MAAM,8BAA8B,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAoB,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAEvF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,CAAC,YAAY,GAAG,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAG3D,IAAI,QAAQ;QACV,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACtF,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAA;QAC5D,CAAC;QACD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAA;IAC7C,CAAC"}

View File

@@ -0,0 +1,14 @@
import { BaseTransformer } from '@adonisjs/core/transformers';
export default class UserTransformer extends BaseTransformer {
toObject() {
return this.pick(this.resource, [
'id',
'fullName',
'email',
'createdAt',
'updatedAt',
'initials',
]);
}
}
//# sourceMappingURL=user_transformer.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"user_transformer.js","sourceRoot":"","sources":["../../../app/transformers/user_transformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,eAAqB;IAChE,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC9B,IAAI;YACJ,UAAU;YACV,OAAO;YACP,WAAW;YACX,WAAW;YACX,UAAU;SACX,CAAC,CAAA;IACJ,CAAC;CACF"}

14
app/validators/user.js Normal file
View File

@@ -0,0 +1,14 @@
import vine from '@vinejs/vine';
const email = () => vine.string().email().maxLength(254);
const password = () => vine.string().minLength(8).maxLength(32);
export const signupValidator = vine.create({
fullName: vine.string().nullable(),
email: email().unique({ table: 'users', column: 'email' }),
password: password(),
passwordConfirmation: password().sameAs('password'),
});
export const loginValidator = vine.create({
email: email(),
password: vine.string(),
});
//# sourceMappingURL=user.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../app/validators/user.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,cAAc,CAAA;AAK/B,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;AACxD,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;AAK/D,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;IACzC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,KAAK,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC1D,QAAQ,EAAE,QAAQ,EAAE;IACpB,oBAAoB,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;CACpD,CAAC,CAAA;AAMF,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,KAAK,EAAE;IACd,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;CACxB,CAAC,CAAA"}

33
bin/console.js Normal file
View File

@@ -0,0 +1,33 @@
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
if (typeof path === "string" && /^\.\.?\//.test(path)) {
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
});
}
return path;
};
await import('reflect-metadata');
const { Ignitor, prettyPrintError } = await import('@adonisjs/core');
const APP_ROOT = new URL('../', import.meta.url);
const IMPORTER = (filePath) => {
if (filePath.startsWith('./') || filePath.startsWith('../')) {
return import(__rewriteRelativeImportExtension(new URL(filePath, APP_ROOT).href));
}
return import(__rewriteRelativeImportExtension(filePath));
};
new Ignitor(APP_ROOT, { importer: IMPORTER })
.tap((app) => {
app.booting(async () => {
await import('#start/env');
});
app.listen('SIGTERM', () => app.terminate());
app.listenIf(app.managedByPm2, 'SIGINT', () => app.terminate());
})
.ace()
.handle(process.argv.splice(2))
.catch((error) => {
process.exitCode = 1;
prettyPrintError(error);
});
export {};
//# sourceMappingURL=console.js.map

1
bin/console.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"console.js","sourceRoot":"","sources":["../../bin/console.ts"],"names":[],"mappings":";;;;;;;;AAaA,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;AAChC,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;AAMpE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAMhD,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,EAAE;IACpC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,MAAM,kCAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAC,CAAA;IACjD,CAAC;IACD,OAAO,MAAM,kCAAC,QAAQ,EAAC,CAAA;AACzB,CAAC,CAAA;AAED,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;KAC1C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;IACX,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;QACrB,MAAM,MAAM,CAAC,YAAY,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IACF,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;IAC5C,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;AACjE,CAAC,CAAC;KACD,GAAG,EAAE;KACL,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAC9B,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACf,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;IACpB,gBAAgB,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC,CAAC,CAAA"}

33
bin/server.js Normal file
View File

@@ -0,0 +1,33 @@
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
if (typeof path === "string" && /^\.\.?\//.test(path)) {
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
});
}
return path;
};
await import('reflect-metadata');
const { Ignitor, prettyPrintError } = await import('@adonisjs/core');
const APP_ROOT = new URL('../', import.meta.url);
const IMPORTER = (filePath) => {
if (filePath.startsWith('./') || filePath.startsWith('../')) {
return import(__rewriteRelativeImportExtension(new URL(filePath, APP_ROOT).href));
}
return import(__rewriteRelativeImportExtension(filePath));
};
new Ignitor(APP_ROOT, { importer: IMPORTER })
.tap((app) => {
app.booting(async () => {
await import('#start/env');
});
app.listen('SIGTERM', () => app.terminate());
app.listenIf(app.managedByPm2, 'SIGINT', () => app.terminate());
})
.httpServer()
.start()
.catch((error) => {
process.exitCode = 1;
prettyPrintError(error);
});
export {};
//# sourceMappingURL=server.js.map

1
bin/server.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../bin/server.ts"],"names":[],"mappings":";;;;;;;;AAWA,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;AAChC,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAA;AAMpE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAMhD,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,EAAE;IACpC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,MAAM,kCAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAC,CAAA;IACjD,CAAC;IACD,OAAO,MAAM,kCAAC,QAAQ,EAAC,CAAA;AACzB,CAAC,CAAA;AAED,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;KAC1C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;IACX,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;QACrB,MAAM,MAAM,CAAC,YAAY,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IACF,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;IAC5C,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;AACjE,CAAC,CAAC;KACD,UAAU,EAAE;KACZ,KAAK,EAAE;KACP,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACf,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;IACpB,gBAAgB,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC,CAAC,CAAA"}

46
bin/test.js Normal file
View File

@@ -0,0 +1,46 @@
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
if (typeof path === "string" && /^\.\.?\//.test(path)) {
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
});
}
return path;
};
process.env.NODE_ENV = 'test';
import 'reflect-metadata';
import { Ignitor, prettyPrintError } from '@adonisjs/core';
import { configure, processCLIArgs, run } from '@japa/runner';
const APP_ROOT = new URL('../', import.meta.url);
const IMPORTER = (filePath) => {
if (filePath.startsWith('./') || filePath.startsWith('../')) {
return import(__rewriteRelativeImportExtension(new URL(filePath, APP_ROOT).href));
}
return import(__rewriteRelativeImportExtension(filePath));
};
new Ignitor(APP_ROOT, { importer: IMPORTER })
.tap((app) => {
app.booting(async () => {
await import('#start/env');
});
app.listen('SIGTERM', () => app.terminate());
app.listenIf(app.managedByPm2, 'SIGINT', () => app.terminate());
})
.testRunner()
.configure(async (app) => {
const { runnerHooks, ...config } = await import('../tests/bootstrap.js');
processCLIArgs(process.argv.splice(2));
configure({
...app.rcFile.tests,
...config,
...{
setup: runnerHooks.setup,
teardown: runnerHooks.teardown.concat([() => app.terminate()]),
},
});
})
.run(() => run())
.catch((error) => {
process.exitCode = 1;
prettyPrintError(error);
});
//# sourceMappingURL=test.js.map

1
bin/test.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../bin/test.ts"],"names":[],"mappings":";;;;;;;;AAYA,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAA;AAE7B,OAAO,kBAAkB,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAM7D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAMhD,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,EAAE;IACpC,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,MAAM,kCAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAC,CAAA;IACjD,CAAC;IACD,OAAO,MAAM,kCAAC,QAAQ,EAAC,CAAA;AACzB,CAAC,CAAA;AAED,IAAI,OAAO,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;KAC1C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;IACX,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;QACrB,MAAM,MAAM,CAAC,YAAY,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IACF,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;IAC5C,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAA;AACjE,CAAC,CAAC;KACD,UAAU,EAAE;KACZ,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACvB,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAA;IAExE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACtC,SAAS,CAAC;QACR,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK;QACnB,GAAG,MAAM;QACT,GAAG;YACD,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;SAC/D;KACF,CAAC,CAAA;AACJ,CAAC,CAAC;KACD,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;KAChB,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACf,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;IACpB,gBAAgB,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC,CAAC,CAAA"}

22
config/app.js Normal file
View File

@@ -0,0 +1,22 @@
import env from '#start/env';
import app from '@adonisjs/core/services/app';
import { defineConfig } from '@adonisjs/core/http';
export const appKey = env.get('APP_KEY');
export const appUrl = env.get('APP_URL');
export const http = defineConfig({
generateRequestId: true,
allowMethodSpoofing: false,
useAsyncLocalStorage: false,
redirect: {
forwardQueryString: true,
},
cookie: {
domain: '',
path: '/',
maxAge: '2h',
httpOnly: true,
secure: app.inProduction,
sameSite: 'lax',
},
});
//# sourceMappingURL=app.js.map

1
config/app.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../config/app.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAA;AAC5B,OAAO,GAAG,MAAM,6BAA6B,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AASlD,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AAOxC,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AAKxC,MAAM,CAAC,MAAM,IAAI,GAAG,YAAY,CAAC;IAK/B,iBAAiB,EAAE,IAAI;IAOvB,mBAAmB,EAAE,KAAK;IAM1B,oBAAoB,EAAE,KAAK;IAM3B,QAAQ,EAAE;QAMR,kBAAkB,EAAE,IAAI;KACzB;IAMD,MAAM,EAAE;QAKN,MAAM,EAAE,EAAE;QAKV,IAAI,EAAE,GAAG;QAKT,MAAM,EAAE,IAAI;QAKZ,QAAQ,EAAE,IAAI;QAKd,MAAM,EAAE,GAAG,CAAC,YAAY;QAKxB,QAAQ,EAAE,KAAK;KAChB;CACF,CAAC,CAAA"}

22
config/auth.js Normal file
View File

@@ -0,0 +1,22 @@
import { defineConfig } from '@adonisjs/auth';
import { sessionGuard, sessionUserProvider } from '@adonisjs/auth/session';
import { tokensGuard, tokensUserProvider } from '@adonisjs/auth/access_tokens';
const authConfig = defineConfig({
default: 'api',
guards: {
api: tokensGuard({
provider: tokensUserProvider({
tokens: 'accessTokens',
model: () => import('#models/user'),
}),
}),
web: sessionGuard({
useRememberMeTokens: false,
provider: sessionUserProvider({
model: () => import('#models/user'),
}),
}),
},
});
export default authConfig;
//# sourceMappingURL=auth.js.map

1
config/auth.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../config/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC1E,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAG9E,MAAM,UAAU,GAAG,YAAY,CAAC;IAI9B,OAAO,EAAE,KAAK;IAEd,MAAM,EAAE;QAIN,GAAG,EAAE,WAAW,CAAC;YACf,QAAQ,EAAE,kBAAkB,CAAC;gBAC3B,MAAM,EAAE,cAAc;gBACtB,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;aACpC,CAAC;SACH,CAAC;QAKF,GAAG,EAAE,YAAY,CAAC;YAIhB,mBAAmB,EAAE,KAAK;YAE1B,QAAQ,EAAE,mBAAmB,CAAC;gBAC5B,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC;aACpC,CAAC;SACH,CAAC;KACH;CACF,CAAC,CAAA;AAEF,eAAe,UAAU,CAAA"}

26
config/bodyparser.js Normal file
View File

@@ -0,0 +1,26 @@
import { defineConfig } from '@adonisjs/core/bodyparser';
const bodyParserConfig = defineConfig({
allowedMethods: ['POST', 'PUT', 'PATCH', 'DELETE'],
form: {
convertEmptyStringsToNull: true,
types: ['application/x-www-form-urlencoded'],
},
json: {
convertEmptyStringsToNull: true,
types: [
'application/json',
'application/json-patch+json',
'application/vnd.api+json',
'application/csp-report',
],
},
multipart: {
autoProcess: true,
convertEmptyStringsToNull: true,
processManually: [],
limit: '20mb',
types: ['multipart/form-data'],
},
});
export default bodyParserConfig;
//# sourceMappingURL=bodyparser.js.map

1
config/bodyparser.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"bodyparser.js","sourceRoot":"","sources":["../../config/bodyparser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,gBAAgB,GAAG,YAAY,CAAC;IAKpC,cAAc,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC;IAMlD,IAAI,EAAE;QAIJ,yBAAyB,EAAE,IAAI;QAK/B,KAAK,EAAE,CAAC,mCAAmC,CAAC;KAC7C;IAKD,IAAI,EAAE;QAIJ,yBAAyB,EAAE,IAAI;QAK/B,KAAK,EAAE;YACL,kBAAkB;YAClB,6BAA6B;YAC7B,0BAA0B;YAC1B,wBAAwB;SACzB;KACF;IAMD,SAAS,EAAE;QAIT,WAAW,EAAE,IAAI;QAKjB,yBAAyB,EAAE,IAAI;QAK/B,eAAe,EAAE,EAAE;QAKnB,KAAK,EAAE,MAAM;QAKb,KAAK,EAAE,CAAC,qBAAqB,CAAC;KAC/B;CACF,CAAC,CAAA;AAEF,eAAe,gBAAgB,CAAA"}

13
config/cors.js Normal file
View File

@@ -0,0 +1,13 @@
import app from '@adonisjs/core/services/app';
import { defineConfig } from '@adonisjs/cors';
const corsConfig = defineConfig({
enabled: true,
origin: app.inDev ? true : [],
methods: ['GET', 'HEAD', 'POST', 'PUT', 'PATCH', 'DELETE'],
headers: true,
exposeHeaders: [],
credentials: true,
maxAge: 90,
});
export default corsConfig;
//# sourceMappingURL=cors.js.map

1
config/cors.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"cors.js","sourceRoot":"","sources":["../../config/cors.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,6BAA6B,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAQ7C,MAAM,UAAU,GAAG,YAAY,CAAC;IAI9B,OAAO,EAAE,IAAI;IAOb,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;IAK7B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC;IAM1D,OAAO,EAAE,IAAI;IAKb,aAAa,EAAE,EAAE;IAKjB,WAAW,EAAE,IAAI;IAKjB,MAAM,EAAE,EAAE;CACX,CAAC,CAAA;AAEF,eAAe,UAAU,CAAA"}

24
config/database.js Normal file
View File

@@ -0,0 +1,24 @@
import env from '#start/env';
import { defineConfig } from '@adonisjs/lucid';
const dbConfig = defineConfig({
connection: 'mysql',
connections: {
mysql: {
client: 'mysql2',
connection: {
host: env.get('DB_HOST'),
port: env.get('DB_PORT'),
user: env.get('DB_USER'),
password: env.get('DB_PASSWORD'),
database: env.get('DB_DATABASE'),
},
migrations: {
naturalSort: true,
paths: ['database/migrations'],
},
debug: false,
},
},
});
export default dbConfig;
//# sourceMappingURL=database.js.map

1
config/database.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"database.js","sourceRoot":"","sources":["../../config/database.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,MAAM,QAAQ,GAAG,YAAY,CAAC;IAC5B,UAAU,EAAE,OAAO;IAEnB,WAAW,EAAE;QACX,KAAK,EAAE;YACL,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;gBACxB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;gBACxB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC;gBACxB,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC;gBAChC,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC;aACjC;YACD,UAAU,EAAE;gBACV,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,CAAC,qBAAqB,CAAC;aAC/B;YACD,KAAK,EAAE,KAAK;SACb;KAEF;CACF,CAAC,CAAA;AAEF,eAAe,QAAQ,CAAA"}

13
config/encryption.js Normal file
View File

@@ -0,0 +1,13 @@
import env from '#start/env';
import { defineConfig, drivers } from '@adonisjs/core/encryption';
const encryptionConfig = defineConfig({
default: 'gcm',
list: {
gcm: drivers.aes256gcm({
keys: [env.get('APP_KEY')],
id: 'gcm',
}),
},
});
export default encryptionConfig;
//# sourceMappingURL=encryption.js.map

1
config/encryption.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"encryption.js","sourceRoot":"","sources":["../../config/encryption.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAEjE,MAAM,gBAAgB,GAAG,YAAY,CAAC;IAIpC,OAAO,EAAE,KAAK;IAEd,IAAI,EAAE;QACJ,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC;YAKrB,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAK1B,EAAE,EAAE,KAAK;SACV,CAAC;KACH;CACF,CAAC,CAAA;AAEF,eAAe,gBAAgB,CAAA"}

14
config/hash.js Normal file
View File

@@ -0,0 +1,14 @@
import { defineConfig, drivers } from '@adonisjs/core/hash';
const hashConfig = defineConfig({
default: 'scrypt',
list: {
scrypt: drivers.scrypt({
cost: 16384,
blockSize: 8,
parallelization: 1,
maxMemory: 33554432,
}),
},
});
export default hashConfig;
//# sourceMappingURL=hash.js.map

1
config/hash.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"hash.js","sourceRoot":"","sources":["../../config/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAQ3D,MAAM,UAAU,GAAG,YAAY,CAAC;IAI9B,OAAO,EAAE,QAAQ;IAEjB,IAAI,EAAE;QAIJ,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;YAYrB,IAAI,EAAE,KAAK;YAUX,SAAS,EAAE,CAAC;YAUZ,eAAe,EAAE,CAAC;YAWlB,SAAS,EAAE,QAAQ;SACpB,CAAC;KACH;CACF,CAAC,CAAA;AAEF,eAAe,UAAU,CAAA"}

19
config/logger.js Normal file
View File

@@ -0,0 +1,19 @@
import env from '#start/env';
import app from '@adonisjs/core/services/app';
import { defineConfig, syncDestination, targets } from '@adonisjs/core/logger';
const loggerConfig = defineConfig({
default: 'app',
loggers: {
app: {
enabled: true,
name: env.get('APP_NAME'),
level: env.get('LOG_LEVEL'),
destination: !app.inProduction ? await syncDestination() : undefined,
transport: {
targets: [targets.file({ destination: 1 })],
},
},
},
});
export default loggerConfig;
//# sourceMappingURL=logger.js.map

1
config/logger.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../config/logger.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAA;AAC5B,OAAO,GAAG,MAAM,6BAA6B,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE9E,MAAM,YAAY,GAAG,YAAY,CAAC;IAIhC,OAAO,EAAE,KAAK;IAEd,OAAO,EAAE;QACP,GAAG,EAAE;YAIH,OAAO,EAAE,IAAI;YAKb,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;YAKzB,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC;YAK3B,WAAW,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS;YAKpE,SAAS,EAAE;gBACT,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;aAC5C;SACF;KACF;CACF,CAAC,CAAA;AAEF,eAAe,YAAY,CAAA"}

22
config/session.js Normal file
View File

@@ -0,0 +1,22 @@
import env from '#start/env';
import app from '@adonisjs/core/services/app';
import { defineConfig, stores } from '@adonisjs/session';
const sessionConfig = defineConfig({
enabled: true,
cookieName: 'adonis-session',
clearWithBrowser: false,
age: '2h',
cookie: {
path: '/',
httpOnly: true,
secure: app.inProduction,
sameSite: 'lax',
},
store: env.get('SESSION_DRIVER'),
stores: {
cookie: stores.cookie(),
database: stores.database(),
},
});
export default sessionConfig;
//# sourceMappingURL=session.js.map

1
config/session.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../config/session.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,YAAY,CAAA;AAC5B,OAAO,GAAG,MAAM,6BAA6B,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAExD,MAAM,aAAa,GAAG,YAAY,CAAC;IAIjC,OAAO,EAAE,IAAI;IAKb,UAAU,EAAE,gBAAgB;IAM5B,gBAAgB,EAAE,KAAK;IAMvB,GAAG,EAAE,IAAI;IAMT,MAAM,EAAE;QAIN,IAAI,EAAE,GAAG;QAKT,QAAQ,EAAE,IAAI;QAKd,MAAM,EAAE,GAAG,CAAC,YAAY;QAKxB,QAAQ,EAAE,KAAK;KAChB;IAOD,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAMhC,MAAM,EAAE;QAIN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAKvB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;KAC5B;CACF,CAAC,CAAA;AAEF,eAAe,aAAa,CAAA"}

27
config/shield.js Normal file
View File

@@ -0,0 +1,27 @@
import { defineConfig } from '@adonisjs/shield';
const shieldConfig = defineConfig({
csp: {
enabled: false,
directives: {},
reportOnly: false,
},
csrf: {
enabled: false,
exceptRoutes: [],
enableXsrfCookie: true,
methods: ['POST', 'PUT', 'PATCH', 'DELETE'],
},
xFrame: {
enabled: true,
action: 'DENY',
},
hsts: {
enabled: true,
maxAge: '180 days',
},
contentTypeSniffing: {
enabled: true,
},
});
export default shieldConfig;
//# sourceMappingURL=shield.js.map

1
config/shield.js.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"shield.js","sourceRoot":"","sources":["../../config/shield.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAE/C,MAAM,YAAY,GAAG,YAAY,CAAC;IAKhC,GAAG,EAAE;QAIH,OAAO,EAAE,KAAK;QAKd,UAAU,EAAE,EAAE;QAKd,UAAU,EAAE,KAAK;KAClB;IAMD,IAAI,EAAE;QAIJ,OAAO,EAAE,KAAK;QAMd,YAAY,EAAE,EAAE;QAKhB,gBAAgB,EAAE,IAAI;QAKtB,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC;KAC5C;IAMD,MAAM,EAAE;QAIN,OAAO,EAAE,IAAI;QAKb,MAAM,EAAE,MAAM;KACf;IAKD,IAAI,EAAE;QAIJ,OAAO,EAAE,IAAI;QAKb,MAAM,EAAE,UAAU;KACnB;IAMD,mBAAmB,EAAE;QAInB,OAAO,EAAE,IAAI;KACd;CACF,CAAC,CAAA;AAEF,eAAe,YAAY,CAAA"}

View File

@@ -0,0 +1,18 @@
import { BaseSchema } from '@adonisjs/lucid/schema';
export default class extends BaseSchema {
tableName = 'users';
async up() {
this.schema.createTable(this.tableName, (table) => {
table.increments('id').notNullable();
table.string('full_name').nullable();
table.string('email', 254).notNullable().unique();
table.string('password').notNullable();
table.timestamp('created_at').notNullable();
table.timestamp('updated_at').nullable();
});
}
async down() {
this.schema.dropTable(this.tableName);
}
}
//# sourceMappingURL=1761885935168_create_users_table.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"1761885935168_create_users_table.js","sourceRoot":"","sources":["../../../database/migrations/1761885935168_create_users_table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,MAAM,CAAC,OAAO,MAAO,SAAQ,UAAU;IAC3B,SAAS,GAAG,OAAO,CAAA;IAE7B,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAChD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;YACpC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAA;YACpC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,CAAA;YACjD,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAA;YAEtC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAA;YAC3C,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC1C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvC,CAAC;CACF"}

View File

@@ -0,0 +1,28 @@
import { BaseSchema } from '@adonisjs/lucid/schema';
export default class extends BaseSchema {
tableName = 'auth_access_tokens';
async up() {
this.schema.createTable(this.tableName, (table) => {
table.increments('id');
table
.integer('tokenable_id')
.notNullable()
.unsigned()
.references('id')
.inTable('users')
.onDelete('CASCADE');
table.string('type').notNullable();
table.string('name').nullable();
table.string('hash').notNullable();
table.text('abilities').notNullable();
table.timestamp('created_at');
table.timestamp('updated_at');
table.timestamp('last_used_at').nullable();
table.timestamp('expires_at').nullable();
});
}
async down() {
this.schema.dropTable(this.tableName);
}
}
//# sourceMappingURL=1768620764696_create_access_tokens_table.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"1768620764696_create_access_tokens_table.js","sourceRoot":"","sources":["../../../database/migrations/1768620764696_create_access_tokens_table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,MAAM,CAAC,OAAO,MAAO,SAAQ,UAAU;IAC3B,SAAS,GAAG,oBAAoB,CAAA;IAE1C,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAChD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACtB,KAAK;iBACF,OAAO,CAAC,cAAc,CAAC;iBACvB,WAAW,EAAE;iBACb,QAAQ,EAAE;iBACV,UAAU,CAAC,IAAI,CAAC;iBAChB,OAAO,CAAC,OAAO,CAAC;iBAChB,QAAQ,CAAC,SAAS,CAAC,CAAA;YAEtB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;YAClC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAA;YAC/B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;YAClC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAA;YACrC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;YAC7B,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;YAC7B,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAA;YAC1C,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC1C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvC,CAAC;CACF"}

View File

@@ -0,0 +1,20 @@
import { BaseSchema } from '@adonisjs/lucid/schema';
export default class extends BaseSchema {
tableName = 'profiles';
async up() {
this.schema.createTable(this.tableName, (table) => {
table.increments('id');
table.string('name').notNullable();
table.string('avatar_url').notNullable();
table.string('title').notNullable();
table.text('description').notNullable();
table.text('about_text').notNullable();
table.timestamp('created_at');
table.timestamp('updated_at');
});
}
async down() {
this.schema.dropTable(this.tableName);
}
}
//# sourceMappingURL=1778591342684_create_profiles_table.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"1778591342684_create_profiles_table.js","sourceRoot":"","sources":["../../../database/migrations/1778591342684_create_profiles_table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,MAAM,CAAC,OAAO,MAAO,SAAQ,UAAU;IAC3B,SAAS,GAAG,UAAU,CAAA;IAEhC,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAChD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACtB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;YAClC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAA;YACxC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;YACnC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAA;YACvC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAA;YACtC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;YAC7B,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvC,CAAC;CACF"}

View File

@@ -0,0 +1,16 @@
import { BaseSchema } from '@adonisjs/lucid/schema';
export default class extends BaseSchema {
tableName = 'tags';
async up() {
this.schema.createTable(this.tableName, (table) => {
table.increments('id');
table.string('name').notNullable();
table.timestamp('created_at');
table.timestamp('updated_at');
});
}
async down() {
this.schema.dropTable(this.tableName);
}
}
//# sourceMappingURL=1778591344222_create_tags_table.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"1778591344222_create_tags_table.js","sourceRoot":"","sources":["../../../database/migrations/1778591344222_create_tags_table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,MAAM,CAAC,OAAO,MAAO,SAAQ,UAAU;IAC3B,SAAS,GAAG,MAAM,CAAA;IAE5B,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAChD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACtB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;YAClC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;YAC7B,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvC,CAAC;CACF"}

View File

@@ -0,0 +1,19 @@
import { BaseSchema } from '@adonisjs/lucid/schema';
export default class extends BaseSchema {
tableName = 'games';
async up() {
this.schema.createTable(this.tableName, (table) => {
table.increments('id');
table.string('name').notNullable();
table.string('icon').notNullable();
table.string('type').notNullable();
table.integer('sort_order').defaultTo(0);
table.timestamp('created_at');
table.timestamp('updated_at');
});
}
async down() {
this.schema.dropTable(this.tableName);
}
}
//# sourceMappingURL=1778591345735_create_games_table.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"1778591345735_create_games_table.js","sourceRoot":"","sources":["../../../database/migrations/1778591345735_create_games_table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,MAAM,CAAC,OAAO,MAAO,SAAQ,UAAU;IAC3B,SAAS,GAAG,OAAO,CAAA;IAE7B,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAChD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACtB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;YAClC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;YAClC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;YAClC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACxC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;YAC7B,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvC,CAAC;CACF"}

View File

@@ -0,0 +1,20 @@
import { BaseSchema } from '@adonisjs/lucid/schema';
export default class extends BaseSchema {
tableName = 'social_links';
async up() {
this.schema.createTable(this.tableName, (table) => {
table.increments('id');
table.string('platform').notNullable();
table.string('url').notNullable();
table.string('username').notNullable();
table.string('icon').notNullable();
table.string('color').notNullable();
table.timestamp('created_at');
table.timestamp('updated_at');
});
}
async down() {
this.schema.dropTable(this.tableName);
}
}
//# sourceMappingURL=1778591347252_create_social_links_table.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"1778591347252_create_social_links_table.js","sourceRoot":"","sources":["../../../database/migrations/1778591347252_create_social_links_table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,MAAM,CAAC,OAAO,MAAO,SAAQ,UAAU;IAC3B,SAAS,GAAG,cAAc,CAAA;IAEpC,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAChD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACtB,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAA;YACtC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;YACjC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAA;YACtC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;YAClC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;YACnC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;YAC7B,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvC,CAAC;CACF"}

View File

@@ -0,0 +1,19 @@
import { BaseSchema } from '@adonisjs/lucid/schema';
export default class extends BaseSchema {
tableName = 'fanarts';
async up() {
this.schema.createTable(this.tableName, (table) => {
table.increments('id');
table.string('title').notNullable();
table.string('author').notNullable();
table.string('image_url').notNullable();
table.integer('sort_order').defaultTo(0);
table.timestamp('created_at');
table.timestamp('updated_at');
});
}
async down() {
this.schema.dropTable(this.tableName);
}
}
//# sourceMappingURL=1778591348765_create_fanarts_table.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"1778591348765_create_fanarts_table.js","sourceRoot":"","sources":["../../../database/migrations/1778591348765_create_fanarts_table.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEnD,MAAM,CAAC,OAAO,MAAO,SAAQ,UAAU;IAC3B,SAAS,GAAG,SAAS,CAAA;IAE/B,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAChD,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;YACtB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;YACnC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;YACpC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAA;YACvC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACxC,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;YAC7B,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACvC,CAAC;CACF"}

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