diff --git a/scripts/generateLayerOverview.ts b/scripts/generateLayerOverview.ts index d3f4dd4f98..cf46736438 100644 --- a/scripts/generateLayerOverview.ts +++ b/scripts/generateLayerOverview.ts @@ -9,16 +9,12 @@ import { DoesImageExist, PrevalidateTheme, ValidateLayer, - ValidateThemeEnsemble, + ValidateThemeEnsemble } from "../src/Models/ThemeConfig/Conversion/Validation" import { Translation } from "../src/UI/i18n/Translation" import { PrepareLayer } from "../src/Models/ThemeConfig/Conversion/PrepareLayer" import { PrepareTheme } from "../src/Models/ThemeConfig/Conversion/PrepareTheme" -import { - Conversion, - DesugaringContext, - DesugaringStep, -} from "../src/Models/ThemeConfig/Conversion/Conversion" +import { Conversion, DesugaringContext, DesugaringStep } from "../src/Models/ThemeConfig/Conversion/Conversion" import { Utils } from "../src/Utils" import Script from "./Script" import { AllSharedLayers } from "../src/Customizations/AllSharedLayers" @@ -501,7 +497,7 @@ class LayerOverviewUtils extends Script { priviliged.delete(key) }) - // These two get a free pass + // These get a free pass priviliged.delete("summary") priviliged.delete("last_click") priviliged.delete("search") diff --git a/src/Logic/Osm/OsmConnection.ts b/src/Logic/Osm/OsmConnection.ts index 0230aa4ee5..c8dea75dd1 100644 --- a/src/Logic/Osm/OsmConnection.ts +++ b/src/Logic/Osm/OsmConnection.ts @@ -65,6 +65,16 @@ interface OsmUserInfo { } } +interface UserBlock { + "id": number, + "created_at": string, + "updated_at": string, + "ends_at": string, + "needs_view": boolean, + "user": { "uid": number, "user": string }, + "creator": { "uid": number, "user": string } +} + export default interface UserDetails { name: string uid: number @@ -77,7 +87,8 @@ export default interface UserDetails { account_created: string tracesCount: number description?: string - languages: string[] + languages: string[], + active_blocks: number } export type OsmServiceState = "online" | "readonly" | "offline" | "unknown" | "unreachable" @@ -309,6 +320,7 @@ export class OsmConnection { account_created: user.account_created, tracesCount: user.traces?.count ?? 0, unreadMessages: user.messages.received?.unread ?? 0, + active_blocks: user.blocks.received.active ?? 0 } this.userDetails.set(userdetails) this.loadingStatus.setData("logged-in") @@ -559,6 +571,14 @@ export class OsmConnection { }) } + /** + * Have you been banned by the DWG? + */ + public async getUserBlocks(): Promise { + const raw = await this.interact("/user/blocks/active.json") + return JSON.parse(raw)["user_blocks"] + } + /** * To be called by land.html */