init
This commit is contained in:
12
.adonisjs/server/controllers.js
Normal file
12
.adonisjs/server/controllers.js
Normal 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
|
||||||
1
.adonisjs/server/controllers.js.map
Normal file
1
.adonisjs/server/controllers.js.map
Normal 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"}
|
||||||
2
.adonisjs/server/events.js
Normal file
2
.adonisjs/server/events.js
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
export const events = {};
|
||||||
|
//# sourceMappingURL=events.js.map
|
||||||
1
.adonisjs/server/events.js.map
Normal file
1
.adonisjs/server/events.js.map
Normal 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"}
|
||||||
2
.adonisjs/server/listeners.js
Normal file
2
.adonisjs/server/listeners.js
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
export const listeners = {};
|
||||||
|
//# sourceMappingURL=listeners.js.map
|
||||||
1
.adonisjs/server/listeners.js.map
Normal file
1
.adonisjs/server/listeners.js.map
Normal 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
30
.adonisjs/server/routes.d.ts
vendored
Normal 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 {}
|
||||||
|
}
|
||||||
1
.adonisjs/server/routes.json
Normal file
1
.adonisjs/server/routes.json
Normal file
File diff suppressed because one or more lines are too long
12
.gitignore
vendored
Normal file
12
.gitignore
vendored
Normal 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
7
ace.js
Normal 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
56
adonisrc.js
Normal 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
1
adonisrc.js.map
Normal 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"}
|
||||||
24
app/controllers/access_tokens_controller.js
Normal file
24
app/controllers/access_tokens_controller.js
Normal 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
|
||||||
1
app/controllers/access_tokens_controller.js.map
Normal file
1
app/controllers/access_tokens_controller.js.map
Normal 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"}
|
||||||
67
app/controllers/backups_controller.js
Normal file
67
app/controllers/backups_controller.js
Normal 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
|
||||||
1
app/controllers/backups_controller.js.map
Normal file
1
app/controllers/backups_controller.js.map
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"backups_controller.js","sourceRoot":"","sources":["../../../app/controllers/backups_controller.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,qBAAqB,CAAA;AAC5C,OAAO,SAAS,MAAM,oBAAoB,CAAA;AAC1C,OAAO,MAAM,MAAM,gBAAgB,CAAA;AACnC,OAAO,IAAI,MAAM,cAAc,CAAA;AAC/B,OAAO,OAAO,MAAM,iBAAiB,CAAA;AACrC,OAAO,UAAU,MAAM,qBAAqB,CAAA;AAC5C,OAAO,GAAG,MAAM,aAAa,CAAA;AAG7B,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAe;QACpC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9F,OAAO,CAAC,KAAK,EAAE;YACf,GAAG,CAAC,GAAG,EAAE;YACT,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC;YACzC,UAAU,CAAC,GAAG,EAAE;YAChB,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC;YAC3C,UAAU,CAAC,GAAG,EAAE;YAChB,SAAS,CAAC,GAAG,EAAE;SAChB,CAAC,CAAA;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;YACnB,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE;YAC7B,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACzC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/F,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAC/H,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YACjH,KAAK,EAAE;gBACL,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC9D,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;aACjD;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAe;QAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAE7B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAA;YACxB,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,OAAO,CAAA;YACzE,MAAM,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAA;QAC1E,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAA;YACpB,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACvE,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;YACrB,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;QAC7H,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAA;YAC3B,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;QAC7J,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAA;YACvB,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAA;QAC/I,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;YACzB,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAA;YAC3B,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QAClG,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;YACxB,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAA;YAC1B,MAAM,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QACpF,CAAC;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAC/E,CAAC;CACF"}
|
||||||
22
app/controllers/brands_controller.js
Normal file
22
app/controllers/brands_controller.js
Normal 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
|
||||||
1
app/controllers/brands_controller.js.map
Normal file
1
app/controllers/brands_controller.js.map
Normal 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"}
|
||||||
23
app/controllers/fanarts_controller.js
Normal file
23
app/controllers/fanarts_controller.js
Normal 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
|
||||||
1
app/controllers/fanarts_controller.js.map
Normal file
1
app/controllers/fanarts_controller.js.map
Normal 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"}
|
||||||
23
app/controllers/games_controller.js
Normal file
23
app/controllers/games_controller.js
Normal 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
|
||||||
1
app/controllers/games_controller.js.map
Normal file
1
app/controllers/games_controller.js.map
Normal 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"}
|
||||||
15
app/controllers/new_account_controller.js
Normal file
15
app/controllers/new_account_controller.js
Normal 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
|
||||||
1
app/controllers/new_account_controller.js.map
Normal file
1
app/controllers/new_account_controller.js.map
Normal 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"}
|
||||||
7
app/controllers/profile_controller.js
Normal file
7
app/controllers/profile_controller.js
Normal 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
|
||||||
1
app/controllers/profile_controller.js.map
Normal file
1
app/controllers/profile_controller.js.map
Normal 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"}
|
||||||
23
app/controllers/social_links_controller.js
Normal file
23
app/controllers/social_links_controller.js
Normal 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
|
||||||
1
app/controllers/social_links_controller.js.map
Normal file
1
app/controllers/social_links_controller.js.map
Normal 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"}
|
||||||
18
app/controllers/vtubers_controller.js
Normal file
18
app/controllers/vtubers_controller.js
Normal 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
|
||||||
1
app/controllers/vtubers_controller.js.map
Normal file
1
app/controllers/vtubers_controller.js.map
Normal 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
12
app/exceptions/handler.js
Normal 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
|
||||||
1
app/exceptions/handler.js.map
Normal file
1
app/exceptions/handler.js.map
Normal 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"}
|
||||||
7
app/middleware/auth_middleware.js
Normal file
7
app/middleware/auth_middleware.js
Normal 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
|
||||||
1
app/middleware/auth_middleware.js.map
Normal file
1
app/middleware/auth_middleware.js.map
Normal 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"}
|
||||||
10
app/middleware/container_bindings_middleware.js
Normal file
10
app/middleware/container_bindings_middleware.js
Normal 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
|
||||||
1
app/middleware/container_bindings_middleware.js.map
Normal file
1
app/middleware/container_bindings_middleware.js.map
Normal 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"}
|
||||||
7
app/middleware/force_json_response_middleware.js
Normal file
7
app/middleware/force_json_response_middleware.js
Normal 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
|
||||||
1
app/middleware/force_json_response_middleware.js.map
Normal file
1
app/middleware/force_json_response_middleware.js.map
Normal 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"}
|
||||||
7
app/middleware/silent_auth_middleware.js
Normal file
7
app/middleware/silent_auth_middleware.js
Normal 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
|
||||||
1
app/middleware/silent_auth_middleware.js.map
Normal file
1
app/middleware/silent_auth_middleware.js.map
Normal 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"}
|
||||||
4
app/models/brand_color.js
Normal file
4
app/models/brand_color.js
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
import { BrandColorSchema } from '#database/schema';
|
||||||
|
export default class BrandColor extends BrandColorSchema {
|
||||||
|
}
|
||||||
|
//# sourceMappingURL=brand_color.js.map
|
||||||
1
app/models/brand_color.js.map
Normal file
1
app/models/brand_color.js.map
Normal 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
4
app/models/brand_font.js
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
import { BrandFontSchema } from '#database/schema';
|
||||||
|
export default class BrandFont extends BrandFontSchema {
|
||||||
|
}
|
||||||
|
//# sourceMappingURL=brand_font.js.map
|
||||||
1
app/models/brand_font.js.map
Normal file
1
app/models/brand_font.js.map
Normal 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
4
app/models/fanart.js
Normal 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
1
app/models/fanart.js.map
Normal 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
4
app/models/game.js
Normal 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
1
app/models/game.js.map
Normal 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
4
app/models/profile.js
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
import { ProfileSchema } from '#database/schema';
|
||||||
|
export default class Profile extends ProfileSchema {
|
||||||
|
}
|
||||||
|
//# sourceMappingURL=profile.js.map
|
||||||
1
app/models/profile.js.map
Normal file
1
app/models/profile.js.map
Normal 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"}
|
||||||
4
app/models/social_link.js
Normal file
4
app/models/social_link.js
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
import { SocialLinkSchema } from '#database/schema';
|
||||||
|
export default class SocialLink extends SocialLinkSchema {
|
||||||
|
}
|
||||||
|
//# sourceMappingURL=social_link.js.map
|
||||||
1
app/models/social_link.js.map
Normal file
1
app/models/social_link.js.map
Normal 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
4
app/models/tag.js
Normal 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
1
app/models/tag.js.map
Normal 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
16
app/models/user.js
Normal 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
1
app/models/user.js.map
Normal 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"}
|
||||||
14
app/transformers/user_transformer.js
Normal file
14
app/transformers/user_transformer.js
Normal 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
|
||||||
1
app/transformers/user_transformer.js.map
Normal file
1
app/transformers/user_transformer.js.map
Normal 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
14
app/validators/user.js
Normal 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
|
||||||
1
app/validators/user.js.map
Normal file
1
app/validators/user.js.map
Normal 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
33
bin/console.js
Normal 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
1
bin/console.js.map
Normal 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
33
bin/server.js
Normal 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
1
bin/server.js.map
Normal 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
46
bin/test.js
Normal 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
1
bin/test.js.map
Normal 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
22
config/app.js
Normal 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
1
config/app.js.map
Normal 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
22
config/auth.js
Normal 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
1
config/auth.js.map
Normal 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
26
config/bodyparser.js
Normal 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
1
config/bodyparser.js.map
Normal 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
13
config/cors.js
Normal 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
1
config/cors.js.map
Normal 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
24
config/database.js
Normal 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
1
config/database.js.map
Normal 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
13
config/encryption.js
Normal 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
1
config/encryption.js.map
Normal 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
14
config/hash.js
Normal 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
1
config/hash.js.map
Normal 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
19
config/logger.js
Normal 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
1
config/logger.js.map
Normal 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
22
config/session.js
Normal 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
1
config/session.js.map
Normal 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
27
config/shield.js
Normal 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
1
config/shield.js.map
Normal 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"}
|
||||||
18
database/migrations/1761885935168_create_users_table.js
Normal file
18
database/migrations/1761885935168_create_users_table.js
Normal 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
|
||||||
@@ -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"}
|
||||||
@@ -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
|
||||||
@@ -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"}
|
||||||
20
database/migrations/1778591342684_create_profiles_table.js
Normal file
20
database/migrations/1778591342684_create_profiles_table.js
Normal 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
|
||||||
@@ -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"}
|
||||||
16
database/migrations/1778591344222_create_tags_table.js
Normal file
16
database/migrations/1778591344222_create_tags_table.js
Normal 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
|
||||||
@@ -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"}
|
||||||
19
database/migrations/1778591345735_create_games_table.js
Normal file
19
database/migrations/1778591345735_create_games_table.js
Normal 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
|
||||||
@@ -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"}
|
||||||
@@ -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
|
||||||
@@ -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"}
|
||||||
19
database/migrations/1778591348765_create_fanarts_table.js
Normal file
19
database/migrations/1778591348765_create_fanarts_table.js
Normal 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
|
||||||
@@ -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
Reference in New Issue
Block a user