mirror of
https://github.com/zkldi/Tachi.git
synced 2026-09-29 02:18:09 +03:00
Everytime I run this import cleaner it does different things I swear.
This commit is contained in:
Vendored
-1
@@ -1,5 +1,4 @@
|
||||
import t from "tap";
|
||||
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import db from "./db";
|
||||
|
||||
|
||||
Vendored
+4
-4
@@ -1,11 +1,11 @@
|
||||
/* eslint-disable no-await-in-loop */
|
||||
import monk, { IMonkManager } from "monk";
|
||||
import { IndexOptions } from "mongodb";
|
||||
import { ONE_DAY } from "lib/constants/time";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { TachiConfig } from "lib/setup/config";
|
||||
import { ONE_DAY } from "lib/constants/time";
|
||||
import db, { Databases, monkDB } from "./db";
|
||||
import { IndexOptions } from "mongodb";
|
||||
import monk, { IMonkManager } from "monk";
|
||||
import { Random20Hex } from "utils/misc";
|
||||
import db, { Databases, monkDB } from "./db";
|
||||
|
||||
const logger = CreateLogCtx(__filename);
|
||||
|
||||
|
||||
Vendored
+6
-6
@@ -1,18 +1,18 @@
|
||||
import { TachiConfig } from "lib/setup/config";
|
||||
import p, { PrudenceSchema } from "prudence";
|
||||
import { AllPermissions } from "server/middleware/auth";
|
||||
import {
|
||||
Game,
|
||||
GamePTConfig,
|
||||
GetGameConfig,
|
||||
GetGamePTConfig,
|
||||
Playtypes,
|
||||
UserAuthLevels,
|
||||
GamePTConfig,
|
||||
GetGameConfig,
|
||||
} from "tachi-common";
|
||||
import { allIDStrings, allImportTypes } from "tachi-common/js/config/static-config";
|
||||
import p, { PrudenceSchema } from "prudence";
|
||||
import { Databases } from "./db";
|
||||
import { AllPermissions } from "server/middleware/auth";
|
||||
import { TachiConfig } from "lib/setup/config";
|
||||
import { IsValidGame, IsValidPlaytype } from "utils/misc";
|
||||
import { optNull } from "utils/prudence";
|
||||
import { Databases } from "./db";
|
||||
|
||||
// The idea of this file is to export a function for every database
|
||||
// that will validate that collection.
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
import redis from "redis";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { ServerConfig, TachiConfig } from "lib/setup/config";
|
||||
import { TachiConfig } from "lib/setup/config";
|
||||
import redis from "redis";
|
||||
|
||||
/**
|
||||
* This code has been stubbed out! It doesn't really have a use at the moment.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { ONE_MONTH } from "lib/constants/time";
|
||||
import CreateLogCtx, { rootLogger } from "lib/logger/logger";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { ServerConfig } from "lib/setup/config";
|
||||
import { PublicUserDocument } from "tachi-common";
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
import db from "external/mongo/db";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { FilterQuery } from "mongodb";
|
||||
import {
|
||||
ChartDocument,
|
||||
IDStrings,
|
||||
IDStringToGame,
|
||||
integer,
|
||||
OrphanChart,
|
||||
SongDocument,
|
||||
ChartDocument,
|
||||
IDStrings,
|
||||
IDStringToGame,
|
||||
integer,
|
||||
OrphanChart,
|
||||
SongDocument
|
||||
} from "tachi-common";
|
||||
import { GetNextCounterValue } from "utils/db";
|
||||
import { FilterQuery } from "mongodb";
|
||||
|
||||
const logger = CreateLogCtx(__filename);
|
||||
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
import t from "tap";
|
||||
|
||||
import { MockJSONFetch } from "test-utils/mock-fetch";
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import { IIDXDans } from "lib/constants/classes";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import t from "tap";
|
||||
import { MockJSONFetch } from "test-utils/mock-fetch";
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import { CreateArcIIDXClassHandler } from "./class-handler";
|
||||
|
||||
const logger = CreateLogCtx(__filename);
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { IIDXDans } from "lib/constants/classes";
|
||||
import { ServerConfig } from "lib/setup/config";
|
||||
import nodeFetch from "utils/fetch";
|
||||
import { HasOwnProperty } from "utils/misc";
|
||||
import { IIDXDans } from "lib/constants/classes";
|
||||
import { ClassHandler } from "../../../framework/user-game-stats/types";
|
||||
import { ServerConfig } from "lib/setup/config";
|
||||
import { CreateURLWithParams } from "utils/url";
|
||||
import { ClassHandler } from "../../../framework/user-game-stats/types";
|
||||
|
||||
export async function CreateArcIIDXClassHandler(
|
||||
profileID: string,
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import deepmerge from "deepmerge";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import t from "tap";
|
||||
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import { GetKTDataJSON, Testing511Song, Testing511SPA } from "test-utils/test-data";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { ConvertAPIArcIIDX, ResolveARCIIDXLamp } from "./converter";
|
||||
import { ARCIIDXScore } from "./types";
|
||||
import deepmerge from "deepmerge";
|
||||
|
||||
const logger = CreateLogCtx(__filename);
|
||||
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
/* eslint-disable @typescript-eslint/no-explicit-any */
|
||||
import { EmptyObject } from "utils/types";
|
||||
import { ConverterFunction } from "../../common/types";
|
||||
import p, { PrudenceSchema } from "prudence";
|
||||
import { Lamps } from "tachi-common";
|
||||
import { FormatPrError } from "utils/prudence";
|
||||
import { FindChartOnARCID } from "utils/queries/charts";
|
||||
import { FindSongOnIDGuaranteed } from "utils/queries/songs";
|
||||
import { EmptyObject } from "utils/types";
|
||||
import {
|
||||
InvalidScoreFailure,
|
||||
KTDataNotFoundFailure,
|
||||
} from "../../../framework/common/converter-failures";
|
||||
import { FormatPrError } from "utils/prudence";
|
||||
import { ARCIIDXScore } from "./types";
|
||||
import { FindChartOnARCID } from "utils/queries/charts";
|
||||
import { FindSongOnIDGuaranteed } from "utils/queries/songs";
|
||||
import { DryScore } from "../../../framework/common/types";
|
||||
import {
|
||||
GenericGetGradeAndPercent,
|
||||
ParseDateFromString,
|
||||
} from "../../../framework/common/score-utils";
|
||||
import { Lamps } from "tachi-common";
|
||||
import { DryScore } from "../../../framework/common/types";
|
||||
import { ConverterFunction } from "../../common/types";
|
||||
import { ARCIIDXScore } from "./types";
|
||||
|
||||
// There's a bunch of other useless fields but we don't care
|
||||
const PR_ArcIIDXScore: PrudenceSchema = {
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import db from "external/mongo/db";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import t from "tap";
|
||||
|
||||
import { agta } from "test-utils/misc";
|
||||
import { MockJSONFetch } from "test-utils/mock-fetch";
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { ParseArcIIDX } from "./parser";
|
||||
import db from "external/mongo/db";
|
||||
|
||||
const logger = CreateLogCtx(__filename);
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { KtLogger } from "lib/logger/logger";
|
||||
import { ServerConfig } from "lib/setup/config";
|
||||
import { integer } from "tachi-common";
|
||||
import nodeFetch from "utils/fetch";
|
||||
import { GetArcAuthGuaranteed } from "utils/queries/auth";
|
||||
import { EmptyObject } from "utils/types";
|
||||
import { TraverseKaiAPI } from "../../common/api-kai/traverse-api";
|
||||
import { ParserFunctionReturns } from "../../common/types";
|
||||
import { EmptyObject } from "utils/types";
|
||||
import { ServerConfig } from "lib/setup/config";
|
||||
import { CreateArcIIDXClassHandler } from "./class-handler";
|
||||
import { GetArcAuthGuaranteed } from "utils/queries/auth";
|
||||
import { integer } from "tachi-common";
|
||||
|
||||
export async function ParseArcIIDX(
|
||||
userID: integer,
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
import { EmptyObject } from "utils/types";
|
||||
import { ConverterFunction } from "../../common/types";
|
||||
import p, { PrudenceSchema } from "prudence";
|
||||
import { Lamps } from "tachi-common";
|
||||
import { FormatPrError } from "utils/prudence";
|
||||
import { FindChartOnARCID } from "utils/queries/charts";
|
||||
import { FindSongOnIDGuaranteed } from "utils/queries/songs";
|
||||
import { EmptyObject } from "utils/types";
|
||||
import {
|
||||
InvalidScoreFailure,
|
||||
KTDataNotFoundFailure,
|
||||
} from "../../../framework/common/converter-failures";
|
||||
import { FormatPrError } from "utils/prudence";
|
||||
import { ARCSDVXScore } from "./types";
|
||||
import { FindChartOnARCID } from "utils/queries/charts";
|
||||
import { FindSongOnIDGuaranteed } from "utils/queries/songs";
|
||||
import { DryScore } from "../../../framework/common/types";
|
||||
import {
|
||||
GenericGetGradeAndPercent,
|
||||
ParseDateFromString,
|
||||
} from "../../../framework/common/score-utils";
|
||||
import { Lamps } from "tachi-common";
|
||||
import { DryScore } from "../../../framework/common/types";
|
||||
import { ConverterFunction } from "../../common/types";
|
||||
import { ARCSDVXScore } from "./types";
|
||||
|
||||
// There's a bunch of other useless fields but we don't care
|
||||
const PR_ArcSDVXScore: PrudenceSchema = {
|
||||
@@ -108,5 +108,4 @@ export function ResolveARCSDVXLamp(lamp: ARCSDVXScore["lamp"]): Lamps["sdvx:Sing
|
||||
return "PERFECT ULTIMATE CHAIN";
|
||||
}
|
||||
|
||||
throw new InvalidScoreFailure(`Invalid lamp ${lamp} - Could not convert.`);
|
||||
}
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
import { BatchManualContext } from "./types";
|
||||
import { ChartDocument, SongDocument, ImportTypes, BatchManualScore } from "tachi-common";
|
||||
import {
|
||||
InternalFailure,
|
||||
InvalidScoreFailure,
|
||||
KTDataNotFoundFailure,
|
||||
} from "../../../framework/common/converter-failures";
|
||||
import { FindSongOnID, FindSongOnTitleInsensitive } from "utils/queries/songs";
|
||||
import db from "external/mongo/db";
|
||||
import { KtLogger } from "lib/logger/logger";
|
||||
import { BatchManualScore, ChartDocument, ImportTypes, SongDocument } from "tachi-common";
|
||||
import {
|
||||
FindBMSChartOnHash,
|
||||
FindChartWithPTDF,
|
||||
FindChartWithPTDFVersion,
|
||||
FindDDRChartOnSongHash,
|
||||
} from "utils/queries/charts";
|
||||
import { FindSongOnID, FindSongOnTitleInsensitive } from "utils/queries/songs";
|
||||
import {
|
||||
InternalFailure,
|
||||
InvalidScoreFailure,
|
||||
KTDataNotFoundFailure,
|
||||
} from "../../../framework/common/converter-failures";
|
||||
import { GenericGetGradeAndPercent } from "../../../framework/common/score-utils";
|
||||
import {
|
||||
AssertStrAsDifficulty,
|
||||
AssertStrAsPositiveInt,
|
||||
} from "../../../framework/common/string-asserts";
|
||||
import { GenericGetGradeAndPercent } from "../../../framework/common/score-utils";
|
||||
import { KtLogger } from "lib/logger/logger";
|
||||
import { DryScore } from "../../../framework/common/types";
|
||||
import { ConverterFunction } from "../types";
|
||||
import db from "external/mongo/db";
|
||||
import { BatchManualContext } from "./types";
|
||||
|
||||
/**
|
||||
* Creates a ConverterFn for the BatchManualScore format. This curries
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
import deepmerge from "deepmerge";
|
||||
import { KtLogger } from "lib/logger/logger";
|
||||
import ScoreImportFatalError from "../../../framework/score-importing/score-import-error";
|
||||
import { BatchManualContext } from "./types";
|
||||
import { TachiConfig } from "lib/setup/config";
|
||||
import p, { PrudenceSchema, ValidSchemaValue } from "prudence";
|
||||
import {
|
||||
Game,
|
||||
ImportTypes,
|
||||
GetGamePTConfig,
|
||||
Playtypes,
|
||||
GetGameConfig,
|
||||
BatchManualScore,
|
||||
BatchManual,
|
||||
BatchManualScore,
|
||||
Game,
|
||||
GetGameConfig,
|
||||
GetGamePTConfig,
|
||||
ImportTypes,
|
||||
Playtypes,
|
||||
} from "tachi-common";
|
||||
import deepmerge from "deepmerge";
|
||||
import { FormatPrError } from "utils/prudence";
|
||||
import ScoreImportFatalError from "../../../framework/score-importing/score-import-error";
|
||||
import { ParserFunctionReturns } from "../types";
|
||||
import { TachiConfig } from "lib/setup/config";
|
||||
import { BatchManualContext } from "./types";
|
||||
|
||||
const optNull = (v: ValidSchemaValue) => p.optional(p.nullable(v));
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { Lamps, ChartDocument } from "tachi-common";
|
||||
import { ChartDocument, Lamps } from "tachi-common";
|
||||
import { FindChartWithPTDFVersion } from "utils/queries/charts";
|
||||
import { FindSongOnTitle } from "utils/queries/songs";
|
||||
import {
|
||||
KTDataNotFoundFailure,
|
||||
InvalidScoreFailure,
|
||||
KTDataNotFoundFailure,
|
||||
SkipScoreFailure,
|
||||
} from "../../../framework/common/converter-failures";
|
||||
import {
|
||||
@@ -11,9 +11,9 @@ import {
|
||||
ParseDateFromString,
|
||||
} from "../../../framework/common/score-utils";
|
||||
import { AssertStrAsPositiveInt } from "../../../framework/common/string-asserts";
|
||||
import { IIDXEamusementCSVContext, IIDXEamusementCSVData } from "./types";
|
||||
import { DryScore } from "../../../framework/common/types";
|
||||
import { ConverterFunction } from "../types";
|
||||
import { IIDXEamusementCSVContext, IIDXEamusementCSVData } from "./types";
|
||||
|
||||
const EAMUSEMENT_LAMP_RESOLVER: Map<string, Lamps["iidx:SP" | "iidx:DP"]> = new Map([
|
||||
["NO PLAY", "NO PLAY"],
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import t from "tap";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import t from "tap";
|
||||
import { MockMulterFile } from "test-utils/mock-multer";
|
||||
import { TestingIIDXEamusementCSV26, TestingIIDXEamusementCSV27 } from "test-utils/test-data";
|
||||
import ScoreImportFatalError from "../../../framework/score-importing/score-import-error";
|
||||
import GenericParseEamIIDXCSV, { NaiveCSVParse, ResolveHeaders } from "./parser";
|
||||
import { TestingIIDXEamusementCSV26, TestingIIDXEamusementCSV27 } from "test-utils/test-data";
|
||||
import { MockMulterFile } from "test-utils/mock-multer";
|
||||
|
||||
const logger = CreateLogCtx(__filename);
|
||||
|
||||
|
||||
@@ -1,29 +1,29 @@
|
||||
import { EmptyObject } from "utils/types";
|
||||
import { KtLogger } from "lib/logger/logger";
|
||||
import { USCClientScore } from "server/router/ir/usc/_playtype/types";
|
||||
import {
|
||||
BatchManualScore,
|
||||
ChartDocument,
|
||||
Game,
|
||||
ImportTypes,
|
||||
integer,
|
||||
MongoDBDocument,
|
||||
SongDocument,
|
||||
} from "tachi-common";
|
||||
import { EmptyObject } from "utils/types";
|
||||
import { ConverterFailure } from "../../framework/common/converter-failures";
|
||||
import { DryScore } from "../../framework/common/types";
|
||||
import { ClassHandler } from "../../framework/user-game-stats/types";
|
||||
import { MerScore } from "../file/mer-iidx/types";
|
||||
import { S3Score } from "../file/solid-state-squad/types";
|
||||
import { BarbatosScore } from "../ir/barbatos/types";
|
||||
import { BeatorajaContext, BeatorajaScore } from "../ir/beatoraja/types";
|
||||
import { FervidexStaticContext, FervidexStaticScore } from "../ir/fervidex-static/types";
|
||||
import { FervidexContext, FervidexScore } from "../ir/fervidex/types";
|
||||
import { KsHookSV3CScore } from "../ir/kshook-sv3c/types";
|
||||
import { IRUSCContext } from "../ir/usc/types";
|
||||
import { KaiContext } from "./api-kai/types";
|
||||
import { BatchManualContext } from "./batch-manual/types";
|
||||
import { IIDXEamusementCSVContext, IIDXEamusementCSVData } from "./eamusement-iidx-csv/types";
|
||||
import {
|
||||
ImportTypes,
|
||||
Game,
|
||||
ChartDocument,
|
||||
SongDocument,
|
||||
integer,
|
||||
MongoDBDocument,
|
||||
BatchManualScore,
|
||||
} from "tachi-common";
|
||||
import { ConverterFailure } from "../../framework/common/converter-failures";
|
||||
import { DryScore } from "../../framework/common/types";
|
||||
import { BeatorajaContext, BeatorajaScore } from "../ir/beatoraja/types";
|
||||
import { IRUSCContext } from "../ir/usc/types";
|
||||
import { ClassHandler } from "../../framework/user-game-stats/types";
|
||||
import { KsHookSV3CScore } from "../ir/kshook-sv3c/types";
|
||||
import { USCClientScore } from "server/router/ir/usc/_playtype/types";
|
||||
|
||||
export interface ImportTypeDataMap {
|
||||
"file/eamusement-iidx-csv": IIDXEamusementCSVData;
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
import { Lamps } from "tachi-common";
|
||||
import { FindSDVXChartOnInGameID } from "utils/queries/charts";
|
||||
import { FindSongOnID } from "utils/queries/songs";
|
||||
import { EmptyObject } from "utils/types";
|
||||
import { GenericGetGradeAndPercent } from "../../../framework/common/score-utils";
|
||||
import {
|
||||
InternalFailure,
|
||||
KTDataNotFoundFailure,
|
||||
} from "../../../framework/common/converter-failures";
|
||||
import { BarbatosScore } from "./types";
|
||||
import { Lamps } from "tachi-common";
|
||||
import { GenericGetGradeAndPercent } from "../../../framework/common/score-utils";
|
||||
import { DryScore } from "../../../framework/common/types";
|
||||
import { ConverterFunction } from "../../common/types";
|
||||
import { BarbatosScore } from "./types";
|
||||
|
||||
const LAMP_LOOKUP = {
|
||||
1: "FAILED",
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import t from "tap";
|
||||
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import { barbScore } from "test-utils/test-data";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { ParseBarbatosSingle } from "./parser";
|
||||
|
||||
const logger = CreateLogCtx(__filename);
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import { KtLogger } from "lib/logger/logger";
|
||||
import p from "prudence";
|
||||
import ScoreImportFatalError from "../../../framework/score-importing/score-import-error";
|
||||
import { FormatPrError } from "utils/prudence";
|
||||
import { BeatorajaChart, BeatorajaContext, BeatorajaScore } from "./types";
|
||||
import { ParserFunctionReturns } from "../../common/types";
|
||||
import { integer } from "tachi-common";
|
||||
import { FormatPrError } from "utils/prudence";
|
||||
import ScoreImportFatalError from "../../../framework/score-importing/score-import-error";
|
||||
import { ParserFunctionReturns } from "../../common/types";
|
||||
import { BeatorajaChart, BeatorajaContext, BeatorajaScore } from "./types";
|
||||
|
||||
const PR_BeatorajaScore = {
|
||||
sha256: "string",
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
import { Difficulties, Lamps, Playtypes } from "tachi-common";
|
||||
import { FindIIDXChartOnInGameIDVersion, FindIIDXChartWith2DXtraHash } from "utils/queries/charts";
|
||||
import { FindSongOnID } from "utils/queries/songs";
|
||||
import { GenericGetGradeAndPercent } from "../../../framework/common/score-utils";
|
||||
import {
|
||||
InternalFailure,
|
||||
InvalidScoreFailure,
|
||||
KTDataNotFoundFailure,
|
||||
} from "../../../framework/common/converter-failures";
|
||||
import { FervidexContext, FervidexScore } from "./types";
|
||||
import { Lamps, Difficulties, Playtypes } from "tachi-common";
|
||||
import { FindIIDXChartOnInGameIDVersion, FindIIDXChartWith2DXtraHash } from "utils/queries/charts";
|
||||
import { ConverterFunction } from "../../common/types";
|
||||
import { GenericGetGradeAndPercent } from "../../../framework/common/score-utils";
|
||||
import { DryScore } from "../../../framework/common/types";
|
||||
import { ConverterFunction } from "../../common/types";
|
||||
import { FervidexContext, FervidexScore } from "./types";
|
||||
|
||||
export const FERVIDEX_LAMP_LOOKUP = {
|
||||
0: "NO PLAY",
|
||||
|
||||
@@ -1,9 +1,3 @@
|
||||
import { KtLogger } from "lib/logger/logger";
|
||||
import p, { PrudenceSchema, ValidSchemaValue } from "prudence";
|
||||
import ScoreImportFatalError from "../../../framework/score-importing/score-import-error";
|
||||
import { FormatPrError, optNull } from "utils/prudence";
|
||||
import { FervidexContext, FervidexScore } from "./types";
|
||||
import { ParseEA3SoftID } from "utils/ea3id";
|
||||
import {
|
||||
EXT_HEROIC_VERSE,
|
||||
MODEL_IIDX,
|
||||
@@ -11,7 +5,13 @@ import {
|
||||
REV_2DXTRA,
|
||||
REV_OMNIMIX,
|
||||
} from "lib/constants/ea3id";
|
||||
import { KtLogger } from "lib/logger/logger";
|
||||
import p, { PrudenceSchema, ValidSchemaValue } from "prudence";
|
||||
import { ParseEA3SoftID } from "utils/ea3id";
|
||||
import { FormatPrError, optNull } from "utils/prudence";
|
||||
import ScoreImportFatalError from "../../../framework/score-importing/score-import-error";
|
||||
import { ParserFunctionReturns } from "../../common/types";
|
||||
import { FervidexContext, FervidexScore } from "./types";
|
||||
|
||||
const PR_Fervidex: PrudenceSchema = {
|
||||
chart: p.isIn("spb", "spn", "dpn", "sph", "dph", "spa", "dpa", "spl", "dpl"),
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import RateLimitRedis from "rate-limit-redis";
|
||||
import { Environment, ServerConfig, TachiConfig } from "lib/setup/config";
|
||||
import rateLimit from "express-rate-limit";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { RedisClient } from "external/redis/redis";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { Environment, ServerConfig, TachiConfig } from "lib/setup/config";
|
||||
import RateLimitRedis from "rate-limit-redis";
|
||||
|
||||
const logger = CreateLogCtx(__filename);
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { TachiConfig } from "lib/setup/config";
|
||||
import { RequestHandler } from "express";
|
||||
import { TachiConfig } from "lib/setup/config";
|
||||
|
||||
/**
|
||||
* Middleware that makes the route only available under Bokutachi.
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
import { Router } from "express";
|
||||
import db from "external/mongo/db";
|
||||
import { SendEmail } from "lib/email/client";
|
||||
import { EmailFormatResetPassword, EmailFormatVerifyEmail } from "lib/email/formats";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { Environment, ServerConfig } from "lib/setup/config";
|
||||
import Prudence from "prudence";
|
||||
import {
|
||||
AddNewUser,
|
||||
PasswordCompare,
|
||||
ReinstateInvite,
|
||||
ValidatePassword,
|
||||
ValidateCaptcha,
|
||||
MountAuthCookie,
|
||||
InsertDefaultUserSettings,
|
||||
HashPassword,
|
||||
} from "./auth";
|
||||
import prValidate from "server/middleware/prudence-validate";
|
||||
import { integer } from "tachi-common";
|
||||
import { DecrementCounterValue, GetNextCounterValue } from "utils/db";
|
||||
import { Random20Hex } from "utils/misc";
|
||||
import {
|
||||
CheckIfEmailInUse,
|
||||
FormatUserDoc,
|
||||
@@ -18,15 +17,16 @@ import {
|
||||
GetUserPrivateInfo,
|
||||
GetUserWithID,
|
||||
} from "utils/user";
|
||||
import db from "external/mongo/db";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import prValidate from "server/middleware/prudence-validate";
|
||||
import { DecrementCounterValue, GetNextCounterValue } from "utils/db";
|
||||
import { SendEmail } from "lib/email/client";
|
||||
import { EmailFormatResetPassword, EmailFormatVerifyEmail } from "lib/email/formats";
|
||||
import { Random20Hex } from "utils/misc";
|
||||
import { Environment, ServerConfig } from "lib/setup/config";
|
||||
import { integer } from "tachi-common";
|
||||
import {
|
||||
AddNewUser,
|
||||
HashPassword,
|
||||
InsertDefaultUserSettings,
|
||||
MountAuthCookie,
|
||||
PasswordCompare,
|
||||
ReinstateInvite,
|
||||
ValidateCaptcha,
|
||||
ValidatePassword,
|
||||
} from "./auth";
|
||||
|
||||
const logger = CreateLogCtx(__filename);
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import t from "tap";
|
||||
import { GetClientFromID, RequireOwnershipOfClient } from "./middleware";
|
||||
import expMiddlewareMock from "express-request-mock";
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import { SYMBOL_TachiData } from "lib/constants/tachi";
|
||||
import t from "tap";
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import { GetClientFromID, RequireOwnershipOfClient } from "./middleware";
|
||||
|
||||
t.test("#GetClientFromID", (t) => {
|
||||
t.beforeEach(ResetDBState);
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import db from "external/mongo/db";
|
||||
import { UserAuthLevels, APITokenDocument, TachiAPIClientDocument } from "tachi-common";
|
||||
import { ServerConfig } from "lib/setup/config";
|
||||
|
||||
import { APITokenDocument, TachiAPIClientDocument } from "tachi-common";
|
||||
import t from "tap";
|
||||
import { CreateFakeAuthCookie } from "test-utils/fake-auth";
|
||||
import mockApi from "test-utils/mock-api";
|
||||
import ResetDBState from "test-utils/resets";
|
||||
|
||||
|
||||
const clientDataset: TachiAPIClientDocument[] = [
|
||||
{
|
||||
author: 1,
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
import { Router } from "express";
|
||||
import { SYMBOL_TachiData } from "lib/constants/tachi";
|
||||
import prValidate from "server/middleware/prudence-validate";
|
||||
import p from "prudence";
|
||||
import db from "external/mongo/db";
|
||||
import { GetClientFromID, RequireOwnershipOfClient } from "./middleware";
|
||||
import { DedupeArr, DeleteUndefinedProps, IsValidURL, Random20Hex } from "utils/misc";
|
||||
import { SYMBOL_TachiData } from "lib/constants/tachi";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { APIPermissions, TachiAPIClientDocument, UserAuthLevels } from "tachi-common";
|
||||
import { AllPermissions } from "server/middleware/auth";
|
||||
import { ServerConfig } from "lib/setup/config";
|
||||
import { FormatUserDoc } from "utils/user";
|
||||
import p from "prudence";
|
||||
import { AllPermissions } from "server/middleware/auth";
|
||||
import prValidate from "server/middleware/prudence-validate";
|
||||
import { APIPermissions, TachiAPIClientDocument, UserAuthLevels } from "tachi-common";
|
||||
import { DedupeArr, DeleteUndefinedProps, IsValidURL, Random20Hex } from "utils/misc";
|
||||
import { optNull } from "utils/prudence";
|
||||
import { FormatUserDoc } from "utils/user";
|
||||
import { GetClientFromID, RequireOwnershipOfClient } from "./middleware";
|
||||
|
||||
const logger = CreateLogCtx(__filename);
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { TachiConfig } from "lib/setup/config";
|
||||
import { GetGameConfig } from "tachi-common";
|
||||
import t from "tap";
|
||||
import { TachiConfig } from "lib/setup/config";
|
||||
|
||||
import mockApi from "test-utils/mock-api";
|
||||
|
||||
|
||||
t.test("GET /api/v1/games", async (t) => {
|
||||
// lets just run some basic tests that this contains all of our supported games
|
||||
// and also returns configs properly.
|
||||
|
||||
+4
-5
@@ -1,11 +1,10 @@
|
||||
import t from "tap";
|
||||
import db from "external/mongo/db";
|
||||
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import deepmerge from "deepmerge";
|
||||
import { Testing511SPA, TestingIIDXFolderSP10, TestingIIDXSPScorePB } from "test-utils/test-data";
|
||||
import db from "external/mongo/db";
|
||||
import { FolderDocument } from "tachi-common";
|
||||
import t from "tap";
|
||||
import mockApi from "test-utils/mock-api";
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import { Testing511SPA, TestingIIDXFolderSP10, TestingIIDXSPScorePB } from "test-utils/test-data";
|
||||
import { CreateFolderChartLookup } from "utils/folder";
|
||||
|
||||
t.test("GET /api/v1/users/:userID/games/:game/:playtype/folders/:folderID", (t) => {
|
||||
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
import { FilterQuery } from "mongodb";
|
||||
import { GetGamePTConfig, ScoreDocument } from "tachi-common";
|
||||
import { Router } from "express";
|
||||
import db from "external/mongo/db";
|
||||
import { SYMBOL_TachiData } from "lib/constants/tachi";
|
||||
import { FilterQuery } from "mongodb";
|
||||
import { GetGamePTConfig, ScoreDocument } from "tachi-common";
|
||||
import { GetFolderCharts, GetPBsOnFolder } from "utils/folder";
|
||||
import { ParseStrPositiveInt } from "utils/string-checks";
|
||||
import { GetFolderFromParam } from "../../../../../../../games/_game/_playtype/folders/middleware";
|
||||
|
||||
+5
-6
@@ -1,16 +1,15 @@
|
||||
import t from "tap";
|
||||
import db from "external/mongo/db";
|
||||
|
||||
import { PBScoreDocument } from "tachi-common";
|
||||
import t from "tap";
|
||||
import mockApi from "test-utils/mock-api";
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import {
|
||||
Testing511Song,
|
||||
LoadTachiIIDXData,
|
||||
GetKTDataJSON,
|
||||
TestingIIDXSPScorePB,
|
||||
LoadTachiIIDXData,
|
||||
Testing511Song,
|
||||
Testing511SPA,
|
||||
TestingIIDXSPScorePB,
|
||||
} from "test-utils/test-data";
|
||||
import { PBScoreDocument } from "tachi-common";
|
||||
|
||||
t.test("GET /api/v1/users/:userID/games/:game/:playtype/pbs/best", (t) => {
|
||||
t.beforeEach(ResetDBState);
|
||||
|
||||
@@ -2,11 +2,11 @@ import { Router } from "express";
|
||||
import db from "external/mongo/db";
|
||||
import { SYMBOL_TachiData } from "lib/constants/tachi";
|
||||
import { SearchGameSongsAndCharts } from "lib/search/search";
|
||||
import { GetRelevantSongsAndCharts } from "utils/db";
|
||||
import { FilterChartsAndSongs, GetScoreIDsFromComposed } from "utils/scores";
|
||||
import { GetGamePTConfig } from "tachi-common";
|
||||
import { GetRelevantSongsAndCharts } from "utils/db";
|
||||
import { IsValidScoreAlg } from "utils/misc";
|
||||
import { GetAdjacentAbove, GetAdjacentBelow } from "utils/queries/pbs";
|
||||
import { FilterChartsAndSongs, GetScoreIDsFromComposed } from "utils/scores";
|
||||
import { GetUsersWithIDs } from "utils/user";
|
||||
|
||||
const router: Router = Router({ mergeParams: true });
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
import t from "tap";
|
||||
import deepmerge from "deepmerge";
|
||||
import db from "external/mongo/db";
|
||||
|
||||
import mockApi from "test-utils/mock-api";
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import {
|
||||
ScoreDocument,
|
||||
UserGoalDocument,
|
||||
GoalDocument,
|
||||
MilestoneDocument,
|
||||
ScoreDocument,
|
||||
UserGoalDocument,
|
||||
UserMilestoneDocument,
|
||||
} from "tachi-common";
|
||||
import t from "tap";
|
||||
import mockApi from "test-utils/mock-api";
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import { Testing511SPA, TestingIIDXSPScore, TestingIIDXSPScorePB } from "test-utils/test-data";
|
||||
import deepmerge from "deepmerge";
|
||||
|
||||
t.test("GET /api/v1/users/:userID/games/:game/:playtype", (t) => {
|
||||
t.beforeEach(ResetDBState);
|
||||
|
||||
@@ -1,6 +1,17 @@
|
||||
import { Router } from "express";
|
||||
import db from "external/mongo/db";
|
||||
import { SYMBOL_TachiData } from "lib/constants/tachi";
|
||||
import { FilterQuery } from "mongodb";
|
||||
import {
|
||||
GetGamePTConfig,
|
||||
integer,
|
||||
PBScoreDocument,
|
||||
UserGameStatsSnapshot,
|
||||
UserGoalDocument,
|
||||
UserMilestoneDocument,
|
||||
} from "tachi-common";
|
||||
import { IsString } from "utils/misc";
|
||||
import { CheckStrProfileAlg } from "utils/string-checks";
|
||||
import {
|
||||
GetAllRankings,
|
||||
GetUGPTPlaycount,
|
||||
@@ -8,25 +19,14 @@ import {
|
||||
GetUsersRankingAndOutOf,
|
||||
GetUsersWithIDs,
|
||||
} from "utils/user";
|
||||
import { CheckUserPlayedGamePlaytype } from "./middleware";
|
||||
import { FilterQuery } from "mongodb";
|
||||
import {
|
||||
UserGoalDocument,
|
||||
UserMilestoneDocument,
|
||||
GetGamePTConfig,
|
||||
integer,
|
||||
PBScoreDocument,
|
||||
UserGameStatsSnapshot,
|
||||
} from "tachi-common";
|
||||
import { CheckStrProfileAlg } from "utils/string-checks";
|
||||
import { IsString } from "utils/misc";
|
||||
import pbsRouter from "./pbs/router";
|
||||
import sessionsRouter from "./sessions/router";
|
||||
import foldersRouter from "./folders/router";
|
||||
import tablesRouter from "./tables/router";
|
||||
import showcaseRouter from "./showcase/router";
|
||||
import settingsRouter from "./settings/router";
|
||||
import { CheckUserPlayedGamePlaytype } from "./middleware";
|
||||
import pbsRouter from "./pbs/router";
|
||||
import scoresRouter from "./scores/router";
|
||||
import sessionsRouter from "./sessions/router";
|
||||
import settingsRouter from "./settings/router";
|
||||
import showcaseRouter from "./showcase/router";
|
||||
import tablesRouter from "./tables/router";
|
||||
|
||||
const router: Router = Router({ mergeParams: true });
|
||||
|
||||
|
||||
+3
-4
@@ -1,14 +1,13 @@
|
||||
import db from "external/mongo/db";
|
||||
import { ScoreDocument } from "tachi-common";
|
||||
import t from "tap";
|
||||
|
||||
import mockApi from "test-utils/mock-api";
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import {
|
||||
Testing511SPA,
|
||||
Testing511Song,
|
||||
LoadTachiIIDXData,
|
||||
GetKTDataJSON,
|
||||
LoadTachiIIDXData,
|
||||
Testing511Song,
|
||||
Testing511SPA,
|
||||
} from "test-utils/test-data";
|
||||
|
||||
t.test("GET /api/v1/users/:userID/games/:game/:playtype/scores/recent", (t) => {
|
||||
|
||||
+2
-3
@@ -1,10 +1,9 @@
|
||||
import t from "tap";
|
||||
import db from "external/mongo/db";
|
||||
|
||||
import { SessionDocument } from "tachi-common";
|
||||
import t from "tap";
|
||||
import mockApi from "test-utils/mock-api";
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import { LoadTachiIIDXData } from "test-utils/test-data";
|
||||
import { SessionDocument } from "tachi-common";
|
||||
|
||||
t.test("GET /api/v1/users/:userID/games/:game/:playtype/sessions", (t) => {
|
||||
t.beforeEach(ResetDBState);
|
||||
|
||||
+5
-5
@@ -1,11 +1,11 @@
|
||||
import { GetGamePTConfig } from "tachi-common";
|
||||
import { Router } from "express";
|
||||
import { SYMBOL_TachiData } from "lib/constants/tachi";
|
||||
import { RequirePermissions } from "server/middleware/auth";
|
||||
import p from "prudence";
|
||||
import { FormatPrError } from "utils/prudence";
|
||||
import db from "external/mongo/db";
|
||||
import { SYMBOL_TachiData } from "lib/constants/tachi";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import p from "prudence";
|
||||
import { RequirePermissions } from "server/middleware/auth";
|
||||
import { GetGamePTConfig } from "tachi-common";
|
||||
import { FormatPrError } from "utils/prudence";
|
||||
import { FormatUserDoc } from "utils/user";
|
||||
import { RequireAuthedAsUser } from "../../../../middleware";
|
||||
|
||||
|
||||
+3
-4
@@ -1,11 +1,10 @@
|
||||
import t from "tap";
|
||||
import deepmerge from "deepmerge";
|
||||
import db from "external/mongo/db";
|
||||
|
||||
import { FolderDocument } from "tachi-common";
|
||||
import t from "tap";
|
||||
import mockApi from "test-utils/mock-api";
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import { TestingIIDXFolderSP10, TestingIIDXSPScorePB } from "test-utils/test-data";
|
||||
import deepmerge from "deepmerge";
|
||||
import { FolderDocument } from "tachi-common";
|
||||
import { CreateFolderChartLookup } from "utils/folder";
|
||||
|
||||
t.test("GET /api/v1/users/:userID/games/:game/:playtype/tables/:tableID", (t) => {
|
||||
|
||||
@@ -4,13 +4,10 @@ import { EXT_HEROIC_VERSE, MODEL_INFINITAS_2, REV_2DXBMS } from "lib/constants/e
|
||||
import { SYMBOL_TachiAPIAuth } from "lib/constants/tachi";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { ExpressWrappedScoreImportMain } from "lib/score-import/framework/express-wrapper";
|
||||
import { ParseFervidexStatic } from "lib/score-import/import-types/ir/fervidex-static/parser";
|
||||
import { ParseFervidexSingle } from "lib/score-import/import-types/ir/fervidex/parser";
|
||||
import { RequirePermissions } from "server/middleware/auth";
|
||||
import { integer, Playtypes } from "tachi-common";
|
||||
import { UpdateClassIfGreater } from "utils/class";
|
||||
import { ParseEA3SoftID } from "utils/ea3id";
|
||||
import { GetUserWithIDGuaranteed } from "utils/user";
|
||||
|
||||
const logger = CreateLogCtx(__filename);
|
||||
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
import { Router, RequestHandler } from "express";
|
||||
import { RequestHandler, Router } from "express";
|
||||
import { MODEL_SDVX3_KONASTE } from "lib/constants/ea3id";
|
||||
import { SYMBOL_TachiAPIAuth } from "lib/constants/tachi";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { ExpressWrappedScoreImportMain } from "lib/score-import/framework/express-wrapper";
|
||||
import { ParseKsHookSV3C } from "lib/score-import/import-types/ir/kshook-sv3c/parser";
|
||||
import { ParseEA3SoftID } from "utils/ea3id";
|
||||
import { GetUserWithIDGuaranteed } from "utils/user";
|
||||
|
||||
const router: Router = Router({ mergeParams: true });
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import { Game, integer, IDStrings, Playtypes, UserGameStats } from "tachi-common";
|
||||
import db from "external/mongo/db";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { GameClassSets } from "tachi-common/js/game-classes";
|
||||
import { CreateGameSettings } from "lib/game-settings/create-game-settings";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { EmitWebhookEvent } from "lib/webhooks/webhooks";
|
||||
import { Game, IDStrings, integer, Playtypes, UserGameStats } from "tachi-common";
|
||||
import { GameClassSets } from "tachi-common/js/game-classes";
|
||||
|
||||
const logger = CreateLogCtx(__filename);
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import db from "external/mongo/db";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { Game, integer, PBScoreDocument, ScoreDocument } from "tachi-common";
|
||||
const logger = CreateLogCtx(__filename);
|
||||
import { integer, Game, ScoreDocument, PBScoreDocument } from "tachi-common";
|
||||
|
||||
export async function GetNextCounterValue(counterName: string): Promise<integer> {
|
||||
const sequenceDoc = await db.counters.findOneAndUpdate(
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { MilestoneDocument, integer } from "tachi-common";
|
||||
import { integer, MilestoneDocument } from "tachi-common";
|
||||
|
||||
/**
|
||||
* Retrieves the goalID documents in a single array from the
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import t from "tap";
|
||||
import db from "external/mongo/db";
|
||||
|
||||
import t from "tap";
|
||||
import ResetDBState from "test-utils/resets";
|
||||
import { GetScoresFromSession } from "./session";
|
||||
|
||||
|
||||
t.test("#GetScoresFromSession", async (t) => {
|
||||
t.beforeEach(ResetDBState);
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { SessionDocument, ScoreDocument, SessionScoreInfo } from "tachi-common";
|
||||
import { Condition } from "mongodb";
|
||||
import db from "external/mongo/db";
|
||||
import { Condition } from "mongodb";
|
||||
import { ScoreDocument, SessionDocument, SessionScoreInfo } from "tachi-common";
|
||||
|
||||
/**
|
||||
* Returns all the score documents inside a session.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Game, Playtypes, GetGamePTConfig, GamePTConfig } from "tachi-common";
|
||||
import { Game, GamePTConfig, GetGamePTConfig, Playtypes } from "tachi-common";
|
||||
import { IsString } from "./misc";
|
||||
|
||||
const isIntegerRegex = /^-?\d+$/u;
|
||||
|
||||
@@ -1,16 +1,9 @@
|
||||
import {
|
||||
integer,
|
||||
PublicUserDocument,
|
||||
UserGameStats,
|
||||
GetGamePTConfig,
|
||||
Game,
|
||||
Playtypes,
|
||||
UGSRatingsLookup,
|
||||
IDStrings,
|
||||
} from "tachi-common";
|
||||
import { FindOneResult } from "monk";
|
||||
import db from "external/mongo/db";
|
||||
import CreateLogCtx from "lib/logger/logger";
|
||||
import { FindOneResult } from "monk";
|
||||
import {
|
||||
Game, GetGamePTConfig, IDStrings, integer, Playtypes, PublicUserDocument, UGSRatingsLookup, UserGameStats
|
||||
} from "tachi-common";
|
||||
|
||||
const logger = CreateLogCtx(__filename);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user