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,
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")

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 {
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<UserBlock[]> {
const raw = await this.interact("/user/blocks/active.json")
return JSON.parse(raw)["user_blocks"]
}
/**
* To be called by land.html
*/