Lint project

This commit is contained in:
2022-07-14 16:02:31 +02:00
parent f379ca7ff8
commit 48b01c6b2b
89 changed files with 144 additions and 124 deletions

View File

@@ -1,3 +1,3 @@
{ {
"extends": "@arthurdanjou" "extends": "@antfu"
} }

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import Announce from 'App/Models/Announce' import Announce from 'App/Models/Announce'
import AnnounceUpdateValidator from 'App/Validators/announce/AnnounceUpdateValidator' import AnnounceUpdateValidator from 'App/Validators/announce/AnnounceUpdateValidator'
import File from 'App/Models/File' import File from 'App/Models/File'
@@ -25,7 +25,8 @@ export default class AnnouncesController {
await announce.related('message').associate(await getTranslation(data.code)) await announce.related('message').associate(await getTranslation(data.code))
const cover = await File.findBy('label', data.cover) const cover = await File.findBy('label', data.cover)
if (cover) await announce.related('cover').associate(cover) if (cover)
await announce.related('cover').associate(cover)
await announce.merge(data).save() await announce.merge(data).save()

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import AuthValidator from 'App/Validators/AuthValidator' import AuthValidator from 'App/Validators/AuthValidator'
export default class AuthController { export default class AuthController {

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import Experience from 'App/Models/Experience' import Experience from 'App/Models/Experience'
import ExperienceStoreValidator from 'App/Validators/experience/ExperienceStoreValidator' import ExperienceStoreValidator from 'App/Validators/experience/ExperienceStoreValidator'
import ExperienceUpdateValidator from 'App/Validators/experience/ExperienceUpdateValidator' import ExperienceUpdateValidator from 'App/Validators/experience/ExperienceUpdateValidator'

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import Application from '@ioc:Adonis/Core/Application' import Application from '@ioc:Adonis/Core/Application'
import File from 'App/Models/File' import File from 'App/Models/File'

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import FormationStoreValidator from 'App/Validators/formation/FormationStoreValidator' import FormationStoreValidator from 'App/Validators/formation/FormationStoreValidator'
import FormationUpdateValidator from 'App/Validators/formation/FormationUpdateValidator' import FormationUpdateValidator from 'App/Validators/formation/FormationUpdateValidator'
import Formation from 'App/Models/Formation' import Formation from 'App/Models/Formation'

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import FormStoreValidator from 'App/Validators/form/FormStoreValidator' import FormStoreValidator from 'App/Validators/form/FormStoreValidator'
import Form from 'App/Models/Form' import Form from 'App/Models/Form'

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import Information from 'App/Models/Information' import Information from 'App/Models/Information'
import InformationUpdateValidator from 'App/Validators/information/InformationUpdateValidator' import InformationUpdateValidator from 'App/Validators/information/InformationUpdateValidator'
import { getTranslation } from 'App/Utils/TranslationsUtils' import { getTranslation } from 'App/Utils/TranslationsUtils'

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import Location from 'App/Models/Location' import Location from 'App/Models/Location'
import LocationValidator from 'App/Validators/location/LocationValidator' import LocationValidator from 'App/Validators/location/LocationValidator'

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import Maintenance from 'App/Models/Maintenance' import Maintenance from 'App/Models/Maintenance'
import MaintenanceUpdateValidator from 'App/Validators/maintenance/MaintenanceUpdateValidator' import MaintenanceUpdateValidator from 'App/Validators/maintenance/MaintenanceUpdateValidator'
import { getTranslation } from 'App/Utils/TranslationsUtils' import { getTranslation } from 'App/Utils/TranslationsUtils'

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import PostColor from 'App/Models/PostColor' import PostColor from 'App/Models/PostColor'
import PostColorStoreValidator from 'App/Validators/postColor/PostColorStoreValidator' import PostColorStoreValidator from 'App/Validators/postColor/PostColorStoreValidator'
import PostColorUpdateValidator from 'App/Validators/postColor/PostColorUpdateValidator' import PostColorUpdateValidator from 'App/Validators/postColor/PostColorUpdateValidator'

View File

@@ -1,5 +1,5 @@
import Post from 'App/Models/Post' import Post from 'App/Models/Post'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import PostUpdateValidator from 'App/Validators/post/PostUpdateValidator' import PostUpdateValidator from 'App/Validators/post/PostUpdateValidator'
import File from 'App/Models/File' import File from 'App/Models/File'
import PostStoreValidator from 'App/Validators/post/PostStoreValidator' import PostStoreValidator from 'App/Validators/post/PostStoreValidator'
@@ -90,10 +90,12 @@ export default class PostsController {
await post.related('content').associate(await getTranslation(data.content!)) await post.related('content').associate(await getTranslation(data.content!))
const cover = await File.findBy('label', data.cover) const cover = await File.findBy('label', data.cover)
if (cover) await post.related('cover').associate(cover) if (cover)
await post.related('cover').associate(cover)
const color = await PostColor.findBy('name', data.color) const color = await PostColor.findBy('name', data.color)
if (color) await post.related('color').associate(color) if (color)
await post.related('color').associate(color)
return response.status(200).send({ return response.status(200).send({
post, post,

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class ProfileController { export default class ProfileController {
public me({ response }: HttpContextContract) { public me({ response }: HttpContextContract) {

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import Project from 'App/Models/Project' import Project from 'App/Models/Project'
import ProjectStoreValidator from 'App/Validators/project/ProjectStoreValidator' import ProjectStoreValidator from 'App/Validators/project/ProjectStoreValidator'
import ProjectUpdateValidator from 'App/Validators/project/ProjectUpdateValidator' import ProjectUpdateValidator from 'App/Validators/project/ProjectUpdateValidator'
@@ -49,9 +49,11 @@ export default class ProjectsController {
const cover = await File.findBy('label', data.cover) const cover = await File.findBy('label', data.cover)
await project.merge(data).save() await project.merge(data).save()
if (cover) await project.related('cover').associate(cover) if (cover)
await project.related('cover').associate(cover)
if (data.description) await project.related('description').associate(await getTranslation(data.description)) if (data.description)
await project.related('description').associate(await getTranslation(data.description))
await project.related('tags').sync(data.tags!) await project.related('tags').sync(data.tags!)
return response.status(200).send({ return response.status(200).send({

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import File from 'App/Models/File' import File from 'App/Models/File'
import Skill from 'App/Models/Skill' import Skill from 'App/Models/Skill'
import SkillStoreValidator from 'App/Validators/skill/SkillStoreValidator' import SkillStoreValidator from 'App/Validators/skill/SkillStoreValidator'
@@ -19,7 +19,8 @@ export default class SkillsController {
const skill = await Skill.create(data) const skill = await Skill.create(data)
const cover = await File.findBy('label', data.cover) const cover = await File.findBy('label', data.cover)
if (cover) await skill.related('file').associate(cover) if (cover)
await skill.related('file').associate(cover)
return response.status(200).send({ return response.status(200).send({
skill, skill,
@@ -39,7 +40,8 @@ export default class SkillsController {
const skill = await Skill.findOrFail(params.id) const skill = await Skill.findOrFail(params.id)
const cover = await File.findBy('label', data.cover) const cover = await File.findBy('label', data.cover)
if (cover) await skill.related('file').associate(cover) if (cover)
await skill.related('file').associate(cover)
await skill.merge(data).save() await skill.merge(data).save()
return response.status(200).send({ return response.status(200).send({

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import { import {
fetchTopArtist, fetchTopTracks, fetchTopArtist, fetchTopTracks,
getAuthorizationURI, getAuthorizationURI,

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import Redis from '@ioc:Adonis/Addons/Redis' import Redis from '@ioc:Adonis/Addons/Redis'
import StateSleepingValidator from 'App/Validators/states/StateSleepingValidator' import StateSleepingValidator from 'App/Validators/states/StateSleepingValidator'
import { getCurrentPlayingFromCache } from 'App/Utils/SongUtils' import { getCurrentPlayingFromCache } from 'App/Utils/SongUtils'

View File

@@ -1,12 +1,12 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import CommandsRun from 'App/Models/CommandsRun' import CommandsRun from 'App/Models/CommandsRun'
import BuildsRun from 'App/Models/BuildsRun' import BuildsRun from 'App/Models/BuildsRun'
import { import {
NOW,
fetchDailyStatistics, fetchDailyStatistics,
fetchMonthlyStatistics, fetchMonthlyStatistics,
fetchStatistics, fetchStatistics,
fetchWeeklyStatistics, fetchWeeklyStatistics,
NOW,
} from 'App/Utils/StatsUtils' } from 'App/Utils/StatsUtils'
export default class StatsController { export default class StatsController {

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import Subscriber from 'App/Models/Subscriber' import Subscriber from 'App/Models/Subscriber'
import SubscriberStoreValidator from 'App/Validators/subscriber/SubscriberStoreValidator' import SubscriberStoreValidator from 'App/Validators/subscriber/SubscriberStoreValidator'

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import TagStoreValidator from 'App/Validators/tag/TagStoreValidator' import TagStoreValidator from 'App/Validators/tag/TagStoreValidator'
import TagUpdateValidator from 'App/Validators/tag/TagUpdateValidator' import TagUpdateValidator from 'App/Validators/tag/TagUpdateValidator'
import Tag from 'App/Models/Tag' import Tag from 'App/Models/Tag'

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import Translation from 'App/Models/Translation' import Translation from 'App/Models/Translation'
import TranslationStoreValidator from 'App/Validators/translation/TranslationStoreValidator' import TranslationStoreValidator from 'App/Validators/translation/TranslationStoreValidator'
import TranslationUpdateValidator from 'App/Validators/translation/TranslationUpdateValidator' import TranslationUpdateValidator from 'App/Validators/translation/TranslationUpdateValidator'

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import User from 'App/Models/User' import User from 'App/Models/User'
import UserStoreValidator from 'App/Validators/user/UserStoreValidator' import UserStoreValidator from 'App/Validators/user/UserStoreValidator'
import UserUpdateValidator from 'App/Validators/user/UserUpdateValidator' import UserUpdateValidator from 'App/Validators/user/UserUpdateValidator'

View File

@@ -1,4 +1,5 @@
import { BaseMailer, MessageContract } from '@ioc:Adonis/Addons/Mail' import type { MessageContract } from '@ioc:Adonis/Addons/Mail'
import { BaseMailer } from '@ioc:Adonis/Addons/Mail'
export default class FormConfirmation extends BaseMailer { export default class FormConfirmation extends BaseMailer {
constructor(private name: string, private email: string) { constructor(private name: string, private email: string) {

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import { AuthenticationException } from '@adonisjs/auth/build/standalone' import { AuthenticationException } from '@adonisjs/auth/build/standalone'
/** /**

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
/** /**
* Silent auth middleware can be used as a global middleware to silent check * Silent auth middleware can be used as a global middleware to silent check

View File

@@ -1,5 +1,6 @@
import { DateTime } from 'luxon' import type { DateTime } from 'luxon'
import { BaseModel, BelongsTo, belongsTo, column } from '@ioc:Adonis/Lucid/Orm' import type { BelongsTo } from '@ioc:Adonis/Lucid/Orm'
import { BaseModel, belongsTo, column } from '@ioc:Adonis/Lucid/Orm'
import File from 'App/Models/File' import File from 'App/Models/File'
import Translation from 'App/Models/Translation' import Translation from 'App/Models/Translation'

View File

@@ -1,5 +1,6 @@
import { DateTime } from 'luxon' import type { DateTime } from 'luxon'
import { BaseModel, BelongsTo, belongsTo, column } from '@ioc:Adonis/Lucid/Orm' import type { BelongsTo } from '@ioc:Adonis/Lucid/Orm'
import { BaseModel, belongsTo, column } from '@ioc:Adonis/Lucid/Orm'
import Translation from 'App/Models/Translation' import Translation from 'App/Models/Translation'
export default class Experience extends BaseModel { export default class Experience extends BaseModel {

View File

@@ -1,4 +1,4 @@
import { DateTime } from 'luxon' import type { DateTime } from 'luxon'
import { BaseModel, column } from '@ioc:Adonis/Lucid/Orm' import { BaseModel, column } from '@ioc:Adonis/Lucid/Orm'
export default class File extends BaseModel { export default class File extends BaseModel {

View File

@@ -1,4 +1,4 @@
import { DateTime } from 'luxon' import type { DateTime } from 'luxon'
import { BaseModel, column } from '@ioc:Adonis/Lucid/Orm' import { BaseModel, column } from '@ioc:Adonis/Lucid/Orm'
export default class Form extends BaseModel { export default class Form extends BaseModel {

View File

@@ -1,5 +1,6 @@
import { DateTime } from 'luxon' import type { DateTime } from 'luxon'
import { BaseModel, BelongsTo, belongsTo, column } from '@ioc:Adonis/Lucid/Orm' import type { BelongsTo } from '@ioc:Adonis/Lucid/Orm'
import { BaseModel, belongsTo, column } from '@ioc:Adonis/Lucid/Orm'
import Translation from 'App/Models/Translation' import Translation from 'App/Models/Translation'
export default class Formation extends BaseModel { export default class Formation extends BaseModel {

View File

@@ -1,5 +1,6 @@
import { DateTime } from 'luxon' import type { DateTime } from 'luxon'
import { BaseModel, BelongsTo, belongsTo, column } from '@ioc:Adonis/Lucid/Orm' import type { BelongsTo } from '@ioc:Adonis/Lucid/Orm'
import { BaseModel, belongsTo, column } from '@ioc:Adonis/Lucid/Orm'
import Translation from 'App/Models/Translation' import Translation from 'App/Models/Translation'
export default class Information extends BaseModel { export default class Information extends BaseModel {

View File

@@ -1,4 +1,4 @@
import { DateTime } from 'luxon' import type { DateTime } from 'luxon'
import { BaseModel, column } from '@ioc:Adonis/Lucid/Orm' import { BaseModel, column } from '@ioc:Adonis/Lucid/Orm'
export default class Location extends BaseModel { export default class Location extends BaseModel {

View File

@@ -1,5 +1,6 @@
import { DateTime } from 'luxon' import type { DateTime } from 'luxon'
import { BaseModel, BelongsTo, belongsTo, column } from '@ioc:Adonis/Lucid/Orm' import type { BelongsTo } from '@ioc:Adonis/Lucid/Orm'
import { BaseModel, belongsTo, column } from '@ioc:Adonis/Lucid/Orm'
import Translation from 'App/Models/Translation' import Translation from 'App/Models/Translation'
export default class Maintenance extends BaseModel { export default class Maintenance extends BaseModel {

View File

@@ -1,5 +1,6 @@
import { DateTime } from 'luxon' import type { DateTime } from 'luxon'
import { BaseModel, BelongsTo, belongsTo, column, manyToMany, ManyToMany } from '@ioc:Adonis/Lucid/Orm' import type { BelongsTo, ManyToMany } from '@ioc:Adonis/Lucid/Orm'
import { BaseModel, belongsTo, column, manyToMany } from '@ioc:Adonis/Lucid/Orm'
import Tag from 'App/Models/Tag' import Tag from 'App/Models/Tag'
import Translation from 'App/Models/Translation' import Translation from 'App/Models/Translation'
import File from 'App/Models/File' import File from 'App/Models/File'

View File

@@ -1,4 +1,4 @@
import { DateTime } from 'luxon' import type { DateTime } from 'luxon'
import { BaseModel, column } from '@ioc:Adonis/Lucid/Orm' import { BaseModel, column } from '@ioc:Adonis/Lucid/Orm'
export default class PostColor extends BaseModel { export default class PostColor extends BaseModel {

View File

@@ -1,5 +1,6 @@
import { DateTime } from 'luxon' import type { DateTime } from 'luxon'
import { BaseModel, BelongsTo, belongsTo, column, ManyToMany, manyToMany } from '@ioc:Adonis/Lucid/Orm' import type { BelongsTo, ManyToMany } from '@ioc:Adonis/Lucid/Orm'
import { BaseModel, belongsTo, column, manyToMany } from '@ioc:Adonis/Lucid/Orm'
import File from 'App/Models/File' import File from 'App/Models/File'
import Tag from 'App/Models/Tag' import Tag from 'App/Models/Tag'
import Translation from 'App/Models/Translation' import Translation from 'App/Models/Translation'

View File

@@ -1,5 +1,6 @@
import { DateTime } from 'luxon' import type { DateTime } from 'luxon'
import { BaseModel, BelongsTo, belongsTo, column } from '@ioc:Adonis/Lucid/Orm' import type { BelongsTo } from '@ioc:Adonis/Lucid/Orm'
import { BaseModel, belongsTo, column } from '@ioc:Adonis/Lucid/Orm'
import File from 'App/Models/File' import File from 'App/Models/File'
export default class Skill extends BaseModel { export default class Skill extends BaseModel {

View File

@@ -1,4 +1,4 @@
import { DateTime } from 'luxon' import type { DateTime } from 'luxon'
import { BaseModel, column } from '@ioc:Adonis/Lucid/Orm' import { BaseModel, column } from '@ioc:Adonis/Lucid/Orm'
export default class Subscriber extends BaseModel { export default class Subscriber extends BaseModel {

View File

@@ -1,5 +1,6 @@
import { DateTime } from 'luxon' import type { DateTime } from 'luxon'
import { BaseModel, BelongsTo, belongsTo, column } from '@ioc:Adonis/Lucid/Orm' import type { BelongsTo } from '@ioc:Adonis/Lucid/Orm'
import { BaseModel, belongsTo, column } from '@ioc:Adonis/Lucid/Orm'
import Translation from 'App/Models/Translation' import Translation from 'App/Models/Translation'
export default class Tag extends BaseModel { export default class Tag extends BaseModel {

View File

@@ -1,4 +1,4 @@
import { DateTime } from 'luxon' import type { DateTime } from 'luxon'
import { BaseModel, column } from '@ioc:Adonis/Lucid/Orm' import { BaseModel, column } from '@ioc:Adonis/Lucid/Orm'
export default class Translation extends BaseModel { export default class Translation extends BaseModel {

View File

@@ -1,4 +1,4 @@
import { DateTime } from 'luxon' import type { DateTime } from 'luxon'
import Hash from '@ioc:Adonis/Core/Hash' import Hash from '@ioc:Adonis/Core/Hash'
import { BaseModel, beforeSave, column } from '@ioc:Adonis/Lucid/Orm' import { BaseModel, beforeSave, column } from '@ioc:Adonis/Lucid/Orm'

View File

@@ -18,7 +18,7 @@ interface StatsResponse {
async function getDevelopmentHours(): Promise<void> { async function getDevelopmentHours(): Promise<void> {
try { try {
const response = await axios.get<{ data: StatsResponse[]}>(`https://wakatime.com/share/@${Env.get('WAKATIME_USER')}/${Env.get('WAKATIME_ID')}.json`) const response = await axios.get<{ data: StatsResponse[] }>(`https://wakatime.com/share/@${Env.get('WAKATIME_USER')}/${Env.get('WAKATIME_ID')}.json`)
if (response.status === 200) { if (response.status === 200) {
const mapped_stats = response.data.data.map((item: StatsResponse) => { const mapped_stats = response.data.data.map((item: StatsResponse) => {
return { return {

View File

@@ -1,8 +1,9 @@
import axios, { AxiosRequestConfig, AxiosResponse } from 'axios' import type { AxiosRequestConfig, AxiosResponse } from 'axios'
import axios from 'axios'
import Env from '@ioc:Adonis/Core/Env' import Env from '@ioc:Adonis/Core/Env'
import Redis from '@ioc:Adonis/Addons/Redis' import Redis from '@ioc:Adonis/Addons/Redis'
import { SpotifyArtist, SpotifyTrack } from 'App/Types/ILocalSpotify' import type { SpotifyArtist, SpotifyTrack } from 'App/Types/ILocalSpotify'
import { Artist, InternalPlayerResponse, Item, PlayerResponse, SpotifyToken } from 'App/Types/ISpotify' import type { Artist, InternalPlayerResponse, Item, PlayerResponse, SpotifyToken } from 'App/Types/ISpotify'
import queryString from 'query-string' import queryString from 'query-string'
import { updateGithubReadmeSpotify } from 'App/Utils/UpdateGithubReadme' import { updateGithubReadmeSpotify } from 'App/Utils/UpdateGithubReadme'
@@ -12,9 +13,9 @@ export async function getSpotifyAccount(): Promise<SpotifyToken> {
return await Redis.exists('spotify:account') return await Redis.exists('spotify:account')
? JSON.parse(await Redis.get('spotify:account') || '{}') ? JSON.parse(await Redis.get('spotify:account') || '{}')
: { : {
access_token: '', access_token: '',
refresh_token: '', refresh_token: '',
} }
} }
export async function setSpotifyAccount(token: SpotifyToken): Promise<void> { export async function setSpotifyAccount(token: SpotifyToken): Promise<void> {
@@ -103,7 +104,8 @@ export async function getCurrentPlayingFromCache(): Promise<InternalPlayerRespon
} }
export async function getCurrentPlayingFromSpotify(): Promise<InternalPlayerResponse> { export async function getCurrentPlayingFromSpotify(): Promise<InternalPlayerResponse> {
if ((await getSpotifyAccount()).access_token === '') return { is_playing: false } if ((await getSpotifyAccount()).access_token === '')
return { is_playing: false }
const current_track = await RequestWrapper<PlayerResponse>('https://api.spotify.com/v1/me/player?additional_types=track,episode') const current_track = await RequestWrapper<PlayerResponse>('https://api.spotify.com/v1/me/player?additional_types=track,episode')
let current: InternalPlayerResponse let current: InternalPlayerResponse

View File

@@ -3,11 +3,11 @@ import axios from 'axios'
import Env from '@ioc:Adonis/Core/Env' import Env from '@ioc:Adonis/Core/Env'
import Redis from '@ioc:Adonis/Addons/Redis' import Redis from '@ioc:Adonis/Addons/Redis'
import Logger from '@ioc:Adonis/Core/Logger' import Logger from '@ioc:Adonis/Core/Logger'
import { StatesResponse } from 'App/Types/IStates' import type { StatesResponse } from 'App/Types/IStates'
export async function fetchDevelopingState(): Promise<void> { export async function fetchDevelopingState(): Promise<void> {
try { try {
const response = await axios.get<{ data: StatesResponse[]}>(`https://wakatime.com/api/v1/users/${Env.get('WAKATIME_USER')}/heartbeats`, { const response = await axios.get<{ data: StatesResponse[] }>(`https://wakatime.com/api/v1/users/${Env.get('WAKATIME_USER')}/heartbeats`, {
headers: { headers: {
Authorization: `Basic ${btoa(Env.get('WAKATIME_KEY'))}`, Authorization: `Basic ${btoa(Env.get('WAKATIME_KEY'))}`,
}, },
@@ -26,7 +26,8 @@ export async function fetchDevelopingState(): Promise<void> {
if (redis_state !== active) { if (redis_state !== active) {
await Redis.set('states:developing', String(active)) await Redis.set('states:developing', String(active))
if (redis_state) await Redis.set('states:sleeping', 'false') if (redis_state)
await Redis.set('states:sleeping', 'false')
} }
} }
} }

View File

@@ -1,7 +1,7 @@
import DevelopmentHour from 'App/Models/DevelopmentHour' import DevelopmentHour from 'App/Models/DevelopmentHour'
import CommandsRun from 'App/Models/CommandsRun' import CommandsRun from 'App/Models/CommandsRun'
import BuildsRun from 'App/Models/BuildsRun' import BuildsRun from 'App/Models/BuildsRun'
import { Stats, Time } from 'App/Types/IStats' import type { Stats, Time } from 'App/Types/IStats'
function formatDate(date: Date): string { function formatDate(date: Date): string {
return date.toISOString().split('T')[0] return date.toISOString().split('T')[0]

View File

@@ -7,9 +7,9 @@ import {
fetchStatistics, fetchStatistics,
fetchWeeklyStatistics, fetchWeeklyStatistics,
} from 'App/Utils/StatsUtils' } from 'App/Utils/StatsUtils'
import { Stats } from 'App/Types/IStats' import type { Stats } from 'App/Types/IStats'
import { getCurrentPlayingFromCache } from 'App/Utils/SongUtils' import { getCurrentPlayingFromCache } from 'App/Utils/SongUtils'
import { GithubReason, GithubRequest } from 'App/Types/IGithub' import type { GithubReason, GithubRequest } from 'App/Types/IGithub'
export async function updateGithubReadmeStats(): Promise<void> { export async function updateGithubReadmeStats(): Promise<void> {
const daily_stats = await fetchDailyStatistics() const daily_stats = await fetchDailyStatistics()
@@ -84,9 +84,9 @@ async function getReadmeContent(): Promise<GithubRequest | null> {
}) })
return response.status === 200 return response.status === 200
? { ? {
content: Buffer.from(response.data.content, 'base64').toString(), content: Buffer.from(response.data.content, 'base64').toString(),
sha: response.data.sha, sha: response.data.sha,
} }
: null : null
} }

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import { rules, schema } from '@ioc:Adonis/Core/Validator' import { rules, schema } from '@ioc:Adonis/Core/Validator'
export default class AuthValidator { export default class AuthValidator {

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class AnnounceUpdateValidator { export default class AnnounceUpdateValidator {
constructor(protected ctx: HttpContextContract) { constructor(protected ctx: HttpContextContract) {

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class ExperienceStoreValidator { export default class ExperienceStoreValidator {
constructor(protected ctx: HttpContextContract) { constructor(protected ctx: HttpContextContract) {

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class ExperienceUpdateValidator { export default class ExperienceUpdateValidator {
constructor(protected ctx: HttpContextContract) { constructor(protected ctx: HttpContextContract) {

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class FormStoreValidator { export default class FormStoreValidator {
constructor(protected ctx: HttpContextContract) { constructor(protected ctx: HttpContextContract) {

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class FormationStoreValidator { export default class FormationStoreValidator {
constructor(protected ctx: HttpContextContract) { constructor(protected ctx: HttpContextContract) {

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class FormationUpdateValidator { export default class FormationUpdateValidator {
constructor(protected ctx: HttpContextContract) { constructor(protected ctx: HttpContextContract) {

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class InformationUpdateValidator { export default class InformationUpdateValidator {
public schema = schema.create({ public schema = schema.create({

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
export default class LocationValidator { export default class LocationValidator {

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class MaintenanceUpdateValidator { export default class MaintenanceUpdateValidator {
constructor(protected ctx: HttpContextContract) { constructor(protected ctx: HttpContextContract) {

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class PostStoreValidator { export default class PostStoreValidator {
public schema = schema.create({ public schema = schema.create({

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class PostUpdateValidator { export default class PostUpdateValidator {
public schema = schema.create({ public schema = schema.create({

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class PostColorStoreValidator { export default class PostColorStoreValidator {
constructor(protected ctx: HttpContextContract) { constructor(protected ctx: HttpContextContract) {

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class PostColorUpdateValidator { export default class PostColorUpdateValidator {
public schema = schema.create({ public schema = schema.create({

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class ProjectStoreValidator { export default class ProjectStoreValidator {
constructor(protected ctx: HttpContextContract) { constructor(protected ctx: HttpContextContract) {

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class ProjectUpdateValidator { export default class ProjectUpdateValidator {
public schema = schema.create({ public schema = schema.create({

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class SkillStoreValidator { export default class SkillStoreValidator {
constructor(protected ctx: HttpContextContract) { constructor(protected ctx: HttpContextContract) {

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class SkillUpdateValidator { export default class SkillUpdateValidator {
constructor(protected ctx: HttpContextContract) { constructor(protected ctx: HttpContextContract) {

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class SongRangeValidator { export default class SongRangeValidator {
constructor(protected ctx: HttpContextContract) { constructor(protected ctx: HttpContextContract) {

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class StateSleepingValidator { export default class StateSleepingValidator {
constructor(protected ctx: HttpContextContract) { constructor(protected ctx: HttpContextContract) {

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import { rules, schema } from '@ioc:Adonis/Core/Validator' import { rules, schema } from '@ioc:Adonis/Core/Validator'
export default class SubscriberStoreValidator { export default class SubscriberStoreValidator {

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class TagStoreValidator { export default class TagStoreValidator {
constructor(protected ctx: HttpContextContract) { constructor(protected ctx: HttpContextContract) {

View File

@@ -1,5 +1,5 @@
import { schema } from '@ioc:Adonis/Core/Validator' import { schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class TagUpdateValidator { export default class TagUpdateValidator {
constructor(protected ctx: HttpContextContract) { constructor(protected ctx: HttpContextContract) {

View File

@@ -1,5 +1,5 @@
import { rules, schema } from '@ioc:Adonis/Core/Validator' import { rules, schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class TranslationStoreValidator { export default class TranslationStoreValidator {
public schema = schema.create({ public schema = schema.create({

View File

@@ -1,5 +1,5 @@
import { rules, schema } from '@ioc:Adonis/Core/Validator' import { rules, schema } from '@ioc:Adonis/Core/Validator'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class TranslationUpdateValidator { export default class TranslationUpdateValidator {
public schema = schema.create({ public schema = schema.create({

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import { rules, schema } from '@ioc:Adonis/Core/Validator' import { rules, schema } from '@ioc:Adonis/Core/Validator'
export default class UserStoreValidator { export default class UserStoreValidator {

View File

@@ -1,4 +1,4 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import { rules, schema } from '@ioc:Adonis/Core/Validator' import { rules, schema } from '@ioc:Adonis/Core/Validator'
export default class UserUpdateValidator { export default class UserUpdateValidator {

View File

@@ -7,10 +7,10 @@
import proxyAddr from 'proxy-addr' import proxyAddr from 'proxy-addr'
import Env from '@ioc:Adonis/Core/Env' import Env from '@ioc:Adonis/Core/Env'
import { ServerConfig } from '@ioc:Adonis/Core/Server' import type { ServerConfig } from '@ioc:Adonis/Core/Server'
import { LoggerConfig } from '@ioc:Adonis/Core/Logger' import type { LoggerConfig } from '@ioc:Adonis/Core/Logger'
import { ProfilerConfig } from '@ioc:Adonis/Core/Profiler' import type { ProfilerConfig } from '@ioc:Adonis/Core/Profiler'
import { ValidatorConfig } from '@ioc:Adonis/Core/Validator' import type { ValidatorConfig } from '@ioc:Adonis/Core/Validator'
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------

View File

@@ -5,7 +5,7 @@
* file. * file.
*/ */
import { AuthConfig } from '@ioc:Adonis/Addons/Auth' import type { AuthConfig } from '@ioc:Adonis/Addons/Auth'
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------

View File

@@ -5,7 +5,7 @@
* file. * file.
*/ */
import { BodyParserConfig } from '@ioc:Adonis/Core/BodyParser' import type { BodyParserConfig } from '@ioc:Adonis/Core/BodyParser'
const bodyParserConfig: BodyParserConfig = { const bodyParserConfig: BodyParserConfig = {
/* /*

View File

@@ -5,7 +5,7 @@
* file. * file.
*/ */
import { CorsConfig } from '@ioc:Adonis/Core/Cors' import type { CorsConfig } from '@ioc:Adonis/Core/Cors'
const corsConfig: CorsConfig = { const corsConfig: CorsConfig = {
/* /*

View File

@@ -6,7 +6,7 @@
*/ */
import Env from '@ioc:Adonis/Core/Env' import Env from '@ioc:Adonis/Core/Env'
import { DatabaseConfig } from '@ioc:Adonis/Lucid/Database' import type { DatabaseConfig } from '@ioc:Adonis/Lucid/Database'
const databaseConfig: DatabaseConfig = { const databaseConfig: DatabaseConfig = {
/* /*

View File

@@ -6,7 +6,7 @@
*/ */
import Env from '@ioc:Adonis/Core/Env' import Env from '@ioc:Adonis/Core/Env'
import { HashConfig } from '@ioc:Adonis/Core/Hash' import type { HashConfig } from '@ioc:Adonis/Core/Hash'
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------

View File

@@ -6,7 +6,7 @@
*/ */
import Env from '@ioc:Adonis/Core/Env' import Env from '@ioc:Adonis/Core/Env'
import { MailConfig } from '@ioc:Adonis/Addons/Mail' import type { MailConfig } from '@ioc:Adonis/Addons/Mail'
const mailConfig: MailConfig = { const mailConfig: MailConfig = {
/* /*

View File

@@ -6,7 +6,7 @@
*/ */
import Env from '@ioc:Adonis/Core/Env' import Env from '@ioc:Adonis/Core/Env'
import { RedisConfig } from '@ioc:Adonis/Addons/Redis' import type { RedisConfig } from '@ioc:Adonis/Addons/Redis'
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------

View File

@@ -6,7 +6,7 @@
*/ */
import Env from '@ioc:Adonis/Core/Env' import Env from '@ioc:Adonis/Core/Env'
import { SessionConfig } from '@ioc:Adonis/Addons/Session' import type { SessionConfig } from '@ioc:Adonis/Addons/Session'
const sessionConfig: SessionConfig = { const sessionConfig: SessionConfig = {

View File

@@ -5,7 +5,7 @@
* file. * file.
*/ */
import User from 'App/Models/User' import type User from 'App/Models/User'
declare module '@ioc:Adonis/Addons/Auth' { declare module '@ioc:Adonis/Addons/Auth' {
/* /*

View File

@@ -5,7 +5,7 @@
* file. * file.
*/ */
import { actions, policies } from '../start/bouncer' import type { actions, policies } from '../start/bouncer'
declare module '@ioc:Adonis/Addons/Bouncer' { declare module '@ioc:Adonis/Addons/Bouncer' {
type ApplicationActions = ExtractActionsTypes<typeof actions> type ApplicationActions = ExtractActionsTypes<typeof actions>

View File

@@ -6,7 +6,7 @@
*/ */
declare module '@ioc:Adonis/Addons/Mail' { declare module '@ioc:Adonis/Addons/Mail' {
import { MailDrivers } from '@ioc:Adonis/Addons/Mail' import type { MailDrivers } from '@ioc:Adonis/Addons/Mail'
interface MailersList { interface MailersList {
smtp: MailDrivers['smtp'] smtp: MailDrivers['smtp']

View File

@@ -1,4 +1,4 @@
import { ApplicationContract } from '@ioc:Adonis/Core/Application' import type { ApplicationContract } from '@ioc:Adonis/Core/Application'
import Logger from '@ioc:Adonis/Core/Logger' import Logger from '@ioc:Adonis/Core/Logger'
export default class AppProvider { export default class AppProvider {
public static needsApplication = true public static needsApplication = true

View File

@@ -33,6 +33,6 @@ Route.group(() => {
}).prefix('stats') }).prefix('stats')
}).middleware('auth:web,api') }).middleware('auth:web,api')
Route.get('/files/:filename', async({ response, params }) => { Route.get('/files/:filename', async ({ response, params }) => {
response.download(Application.makePath('storage', params.filename)) response.download(Application.makePath('storage', params.filename))
}) })

View File

@@ -1,11 +1,11 @@
import Env from '@ioc:Adonis/Core/Env' import Env from '@ioc:Adonis/Core/Env'
import Route from '@ioc:Adonis/Core/Route' import Route from '@ioc:Adonis/Core/Route'
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext' import type { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
import HealthCheck from '@ioc:Adonis/Core/HealthCheck' import HealthCheck from '@ioc:Adonis/Core/HealthCheck'
const BASE_URL = Env.get('BASE_URL') const BASE_URL = Env.get('BASE_URL')
Route.get('/', async({ response }: HttpContextContract) => { Route.get('/', async ({ response }: HttpContextContract) => {
return response.status(200).send({ return response.status(200).send({
domain: BASE_URL, domain: BASE_URL,
version: Env.get('API_VERSION'), version: Env.get('API_VERSION'),
@@ -25,11 +25,11 @@ Route.get('/', async({ response }: HttpContextContract) => {
}) })
}) })
Route.get('/source', async({ response }: HttpContextContract) => { Route.get('/source', async ({ response }: HttpContextContract) => {
return response.redirect(Env.get('GITHUB_SOURCE')) return response.redirect(Env.get('GITHUB_SOURCE'))
}) })
Route.get('/health', async({ response }: HttpContextContract) => { Route.get('/health', async ({ response }: HttpContextContract) => {
const report = await HealthCheck.getReport() const report = await HealthCheck.getReport()
const isLive = await HealthCheck.isLive() const isLive = await HealthCheck.isLive()
const isReady = HealthCheck.isReady() const isReady = HealthCheck.isReady()

View File

@@ -34,7 +34,7 @@
"@adonisjs/lucid", "@adonisjs/lucid",
"@adonisjs/mail", "@adonisjs/mail",
"@adonisjs/view", "@adonisjs/view",
"@adonisjs/bouncer", "@adonisjs/bouncer"
] ]
} }
} }