Feature: add user_block endpoint

This commit is contained in:
Pieter Vander Vennet 2025-03-17 02:05:45 +01:00
parent 75a0eeed83
commit be68837ffb
2 changed files with 24 additions and 8 deletions

View file

@ -9,16 +9,12 @@ import {
DoesImageExist, DoesImageExist,
PrevalidateTheme, PrevalidateTheme,
ValidateLayer, ValidateLayer,
ValidateThemeEnsemble, ValidateThemeEnsemble
} from "../src/Models/ThemeConfig/Conversion/Validation" } from "../src/Models/ThemeConfig/Conversion/Validation"
import { Translation } from "../src/UI/i18n/Translation" import { Translation } from "../src/UI/i18n/Translation"
import { PrepareLayer } from "../src/Models/ThemeConfig/Conversion/PrepareLayer" import { PrepareLayer } from "../src/Models/ThemeConfig/Conversion/PrepareLayer"
import { PrepareTheme } from "../src/Models/ThemeConfig/Conversion/PrepareTheme" import { PrepareTheme } from "../src/Models/ThemeConfig/Conversion/PrepareTheme"
import { import { Conversion, DesugaringContext, DesugaringStep } from "../src/Models/ThemeConfig/Conversion/Conversion"
Conversion,
DesugaringContext,
DesugaringStep,
} from "../src/Models/ThemeConfig/Conversion/Conversion"
import { Utils } from "../src/Utils" import { Utils } from "../src/Utils"
import Script from "./Script" import Script from "./Script"
import { AllSharedLayers } from "../src/Customizations/AllSharedLayers" import { AllSharedLayers } from "../src/Customizations/AllSharedLayers"
@ -501,7 +497,7 @@ class LayerOverviewUtils extends Script {
priviliged.delete(key) priviliged.delete(key)
}) })
// These two get a free pass // These get a free pass
priviliged.delete("summary") priviliged.delete("summary")
priviliged.delete("last_click") priviliged.delete("last_click")
priviliged.delete("search") priviliged.delete("search")

View file

@ -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 { export default interface UserDetails {
name: string name: string
uid: number uid: number
@ -77,7 +87,8 @@ export default interface UserDetails {
account_created: string account_created: string
tracesCount: number tracesCount: number
description?: string description?: string
languages: string[] languages: string[],
active_blocks: number
} }
export type OsmServiceState = "online" | "readonly" | "offline" | "unknown" | "unreachable" export type OsmServiceState = "online" | "readonly" | "offline" | "unknown" | "unreachable"
@ -309,6 +320,7 @@ export class OsmConnection {
account_created: user.account_created, account_created: user.account_created,
tracesCount: user.traces?.count ?? 0, tracesCount: user.traces?.count ?? 0,
unreadMessages: user.messages.received?.unread ?? 0, unreadMessages: user.messages.received?.unread ?? 0,
active_blocks: user.blocks.received.active ?? 0
} }
this.userDetails.set(userdetails) this.userDetails.set(userdetails)
this.loadingStatus.setData("logged-in") this.loadingStatus.setData("logged-in")
@ -559,6 +571,14 @@ export class OsmConnection {
}) })
} }
/**
* Have you been banned by the DWG?
*/
public async getUserBlocks(): Promise<UserBlock[]> {
const raw = await this.interact("/user/blocks/active.json")
return JSON.parse(raw)["user_blocks"]
}
/** /**
* To be called by land.html * To be called by land.html
*/ */