Remove pre-1.0 audit and protected request scaffolding
This commit is contained in:
@@ -184,17 +184,6 @@ func (svc *CoreService) applyPluginLogProjection(instance domain.ServerInstance,
|
||||
if insideWindow && !sameObservation {
|
||||
return nil
|
||||
}
|
||||
announcementAlreadyQueued := false
|
||||
announcementIdempotencyKey := ""
|
||||
if projection.Presence != nil {
|
||||
announcementIdempotencyKey = fmt.Sprintf("log-projection:%s:%s:%d", projection.Key, key, observedAt.Unix()/int64(projection.Presence.ActiveWindowSeconds))
|
||||
_, commandErr := svc.store.GameClientBridgeCommands().GetByIdempotency(instance.ID, "system:log-projection", projection.Presence.Announcement.CommandType, announcementIdempotencyKey)
|
||||
if commandErr == nil {
|
||||
announcementAlreadyQueued = true
|
||||
} else if !errors.Is(commandErr, repo.ErrNotFound) {
|
||||
return commandErr
|
||||
}
|
||||
}
|
||||
if !isNew {
|
||||
value = mergePluginDataValues(existing.Value, value)
|
||||
}
|
||||
@@ -211,39 +200,9 @@ func (svc *CoreService) applyPluginLogProjection(instance domain.ServerInstance,
|
||||
return applyErr
|
||||
}
|
||||
}
|
||||
if projection.Presence != nil && !announcementAlreadyQueued {
|
||||
announcement := projection.Presence.Announcement
|
||||
template := announcement.ReturningTextTemplate
|
||||
if isNew || sameObservation {
|
||||
template = announcement.NewTextTemplate
|
||||
}
|
||||
requestText := renderLogProjectionTemplate(template, captures)
|
||||
expiresAt := svc.now().Add(gameClientBridgeCommandTimeout(plugin, announcement.CommandType))
|
||||
if _, err := svc.queueGameClientBridgeCommand("system:log-projection", domain.GameClientBridgeQueueRequest{
|
||||
ServerInstanceID: instance.ID,
|
||||
PluginID: plugin.ID,
|
||||
ProfileKey: announcement.ProfileKey,
|
||||
CommandType: announcement.CommandType,
|
||||
Payload: map[string]any{announcement.TextField: requestText},
|
||||
IdempotencyKey: announcementIdempotencyKey,
|
||||
Priority: 100,
|
||||
ExpiresAt: expiresAt,
|
||||
}); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func gameClientBridgeCommandTimeout(plugin domain.GamePlugin, commandType string) time.Duration {
|
||||
for _, declaration := range plugin.GameClientBridge.Commands {
|
||||
if declaration.Type == commandType && declaration.TimeoutSeconds > 0 {
|
||||
return time.Duration(declaration.TimeoutSeconds) * time.Second
|
||||
}
|
||||
}
|
||||
return time.Minute
|
||||
}
|
||||
|
||||
func pluginLogProjectionValue(target domain.GameClientBridgeLogProjectionTargetDeclaration, captures map[string]string, observedAt time.Time) map[string]any {
|
||||
value := make(map[string]any, len(target.CaptureMappings)+len(target.FixedValues)+1)
|
||||
for destination, capture := range target.CaptureMappings {
|
||||
|
||||
Reference in New Issue
Block a user