Renamed OT Id Lists to Mappings

This commit is contained in:
DJj123dj
2026-05-04 21:44:12 +02:00
parent 4be54399a6
commit 65334a8a25
5 changed files with 246 additions and 221 deletions
+52 -47
View File
@@ -5,6 +5,55 @@ import * as api from "@open-discord-bots/framework/api"
import { ODTicketOption } from "./option.js"
import * as discord from "discord.js"
/**## ODTicketIdConstraint `type`
* The constraint/layout for id mappings/interfaces of the `ODTicket` class.
*/
export type ODTicketIdConstraint = Record<string,ODTicketData<api.ODValidJsonType>>
/**## ODTicketIdMappings `interface`
* A list of all available IDs in the default `ODTicket` class in `opendiscord`.
* It's used to generate typescript declarations for this class.
*/
export interface ODTicketIdMappings extends ODTicketIdConstraint {
"opendiscord:busy":ODTicketData<boolean>,
"opendiscord:ticket-message":ODTicketData<string|null>,
"opendiscord:participants":ODTicketData<{type:"role"|"user",id:string}[]>,
"opendiscord:channel-suffix":ODTicketData<string>,
"opendiscord:previous-creators":ODTicketData<string[]>,
"opendiscord:open":ODTicketData<boolean>,
"opendiscord:opened-by":ODTicketData<string|null>,
"opendiscord:opened-on":ODTicketData<number|null>,
"opendiscord:closed":ODTicketData<boolean>,
"opendiscord:closed-by":ODTicketData<string|null>,
"opendiscord:closed-on":ODTicketData<number|null>,
"opendiscord:reopened":ODTicketData<boolean>,
"opendiscord:reopened-by":ODTicketData<string|null>,
"opendiscord:reopened-on":ODTicketData<number|null>,
"opendiscord:claimed":ODTicketData<boolean>,
"opendiscord:claimed-by":ODTicketData<string|null>,
"opendiscord:claimed-on":ODTicketData<number|null>,
"opendiscord:pinned":ODTicketData<boolean>,
"opendiscord:pinned-by":ODTicketData<string|null>,
"opendiscord:pinned-on":ODTicketData<number|null>,
"opendiscord:for-deletion":ODTicketData<boolean>,
"opendiscord:category":ODTicketData<string|null>,
"opendiscord:category-mode":ODTicketData<null|"normal"|"closed"|"backup"|"claimed">,
"opendiscord:autoclose-enabled":ODTicketData<boolean>,
"opendiscord:autoclose-hours":ODTicketData<number>,
"opendiscord:autoclosed":ODTicketData<boolean>,
"opendiscord:autodelete-enabled":ODTicketData<boolean>,
"opendiscord:autodelete-days":ODTicketData<number>,
"opendiscord:answers":ODTicketData<{id:string,name:string,type:"short"|"paragraph",value:string|null}[]>,
"opendiscord:priority":ODTicketData<number>,
"opendiscord:topic":ODTicketData<string>,
"opendiscord:message-sent":ODTicketData<boolean>,
"opendiscord:admin-message-sent":ODTicketData<boolean>,
}
/**## ODTicketManager `class`
* This is an Open Ticket ticket manager.
*
@@ -144,50 +193,6 @@ export interface ODTicketJson {
data:ODTicketDataJson[]
}
/**## ODTicketIds `type`
* This interface is a list of ids available in the `ODTicket` class.
* It's used to generate typescript declarations for this class.
*/
export interface ODTicketIds {
"opendiscord:busy":ODTicketData<boolean>,
"opendiscord:ticket-message":ODTicketData<string|null>,
"opendiscord:participants":ODTicketData<{type:"role"|"user",id:string}[]>,
"opendiscord:channel-suffix":ODTicketData<string>,
"opendiscord:previous-creators":ODTicketData<string[]>,
"opendiscord:open":ODTicketData<boolean>,
"opendiscord:opened-by":ODTicketData<string|null>,
"opendiscord:opened-on":ODTicketData<number|null>,
"opendiscord:closed":ODTicketData<boolean>,
"opendiscord:closed-by":ODTicketData<string|null>,
"opendiscord:closed-on":ODTicketData<number|null>,
"opendiscord:reopened":ODTicketData<boolean>,
"opendiscord:reopened-by":ODTicketData<string|null>,
"opendiscord:reopened-on":ODTicketData<number|null>,
"opendiscord:claimed":ODTicketData<boolean>,
"opendiscord:claimed-by":ODTicketData<string|null>,
"opendiscord:claimed-on":ODTicketData<number|null>,
"opendiscord:pinned":ODTicketData<boolean>,
"opendiscord:pinned-by":ODTicketData<string|null>,
"opendiscord:pinned-on":ODTicketData<number|null>,
"opendiscord:for-deletion":ODTicketData<boolean>,
"opendiscord:category":ODTicketData<string|null>,
"opendiscord:category-mode":ODTicketData<null|"normal"|"closed"|"backup"|"claimed">,
"opendiscord:autoclose-enabled":ODTicketData<boolean>,
"opendiscord:autoclose-hours":ODTicketData<number>,
"opendiscord:autoclosed":ODTicketData<boolean>,
"opendiscord:autodelete-enabled":ODTicketData<boolean>,
"opendiscord:autodelete-days":ODTicketData<number>,
"opendiscord:answers":ODTicketData<{id:string,name:string,type:"short"|"paragraph",value:string|null}[]>,
"opendiscord:priority":ODTicketData<number>,
"opendiscord:topic":ODTicketData<string>,
"opendiscord:message-sent":ODTicketData<boolean>,
"opendiscord:admin-message-sent":ODTicketData<boolean>,
}
/**## ODTicket `class`
* This is an Open Ticket ticket.
*
@@ -241,21 +246,21 @@ export class ODTicket extends api.ODManager<ODTicketData<api.ODValidJsonType>> {
return new ODTicket(json.id,option,json.data.map((data) => new ODTicketData(data.id,data.value)))
}
get<OptionId extends keyof ODTicketIds>(id:OptionId): ODTicketIds[OptionId]
get<OptionId extends keyof ODTicketIdMappings>(id:OptionId): ODTicketIdMappings[OptionId]
get(id:api.ODValidId): ODTicketData<api.ODValidJsonType>|null
get(id:api.ODValidId): ODTicketData<api.ODValidJsonType>|null {
return super.get(id)
}
remove<OptionId extends keyof ODTicketIds>(id:OptionId): ODTicketIds[OptionId]
remove<OptionId extends keyof ODTicketIdMappings>(id:OptionId): ODTicketIdMappings[OptionId]
remove(id:api.ODValidId): ODTicketData<api.ODValidJsonType>|null
remove(id:api.ODValidId): ODTicketData<api.ODValidJsonType>|null {
return super.remove(id)
}
exists(id:keyof ODTicketIds): boolean
exists(id:keyof ODTicketIdMappings): boolean
exists(id:api.ODValidId): boolean
exists(id:api.ODValidId): boolean {