Files
FabianK3andGitHub 65a9f06765 Persistence Panel (#22979)
# Summary

This PR adds a new admin panel for persistence.

## Contents

- The panel features information about the current round and detailed
tracking of objects, records and generics.
- The previously introduced toggle-persistence verb has been removed and
integrated into the new panel.
- The panel can be seen by admins, mods and devs, but the
toggle-persistence is still locked to admin permissions only.

## Preview

The images are WIP and subject to change.

<img width="918" height="229" alt="image"
src="https://github.com/user-attachments/assets/16d3d73d-32e6-4907-bdff-d96699c27d49"
/>

<img width="919" height="253" alt="image"
src="https://github.com/user-attachments/assets/92e7f4d9-ccd4-4e79-949d-b8a35039da01"
/>

<img width="923" height="285" alt="image"
src="https://github.com/user-attachments/assets/e3796504-4cc6-4fce-b5f1-4df3486bfbee"
/>

<img width="923" height="270" alt="image"
src="https://github.com/user-attachments/assets/9fbb185d-181a-40ec-b89b-58eafcd47e4d"
/>
2026-08-08 20:47:55 +00:00

25 lines
1.6 KiB
Plaintext

/*###################################################
Subsystem cache structures
###################################################*/
// Data transfer objects - Used by the subsystem for aggregation and result returns, these should be treated as read-only when handed by the subsystem
/datum/persistent_record_container // Container for combining records of type(+attribute)
var/singleton/persistent_type/history/type_define = null // Definition type
var/attribute = null // Attribute for aggregation records into type+attribute groups
var/list/datum/persistent_record/records = list() // Container contents
/datum/persistent_record // Single persistent record
var/id = 0 // Database ID - Might be a non-existend (virtual) ID if the record hasn't been saved yet
var/created_at = "" // Timestamp when the record was saved
var/game_id = "" // Game Id when the record was saved
var/value = null // Treat this as string value
/datum/persistent_generic // Persistent generic data holder
var/singleton/persistent_type/history/type_define = null // Definition type
var/attribute = null // Attribute for aggregation into type+attribute
var/content = null // Treat this as a string - Open for implementing caller (e.g. raw string or json)
var/created_at = null // Null if the generic hasn't been saved yet, otherwise timestamp when the generic was saved
var/expires_at = null // Null if the generic hasn't been saved yet, otherwise timestamp when the generic will expire
var/expires_in_days = PERSISTENT_EXPIRATION_CLEANUP_DELAY_DAYS // Expiration timespan used when generic is saved