mirror of
https://github.com/google/nomulus
synced 2026-08-18 21:26:16 +00:00
Add global-scoped (and other type-scoped) cursors
Expanding recurring billing events will require a global cursor as opposed to a Registry-scoped cursor, so this CL creates a more generic Cursor type and adds a dual-write for the old RegistryCursor (for both old and new styles) on save. We can then touch any stragglers using the UpdateCursorsCommand and simply drop the old RegistryCursor once all have been migrated. See [] for migration tracking. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=121706885
This commit is contained in:
@@ -19,6 +19,7 @@ import com.google.common.base.Optional;
|
||||
import com.beust.jcommander.Parameter;
|
||||
import com.beust.jcommander.Parameters;
|
||||
|
||||
import google.registry.model.common.Cursor;
|
||||
import google.registry.model.registry.Registry;
|
||||
import google.registry.model.registry.RegistryCursor;
|
||||
import google.registry.model.registry.RegistryCursor.CursorType;
|
||||
@@ -32,6 +33,8 @@ import java.util.List;
|
||||
@Parameters(separators = " =", commandDescription = "Modifies cursor timestamps used by LRC tasks")
|
||||
final class UpdateCursorsCommand extends MutatingCommand {
|
||||
|
||||
// TODO(b/28386088): Cut command over to new Cursor format
|
||||
|
||||
@Parameter(
|
||||
description = "TLDs on which to operate.",
|
||||
required = true)
|
||||
@@ -60,6 +63,10 @@ final class UpdateCursorsCommand extends MutatingCommand {
|
||||
? RegistryCursor.create(registry, cursorType, expectedTimestamp.get())
|
||||
: null,
|
||||
RegistryCursor.create(registry, cursorType, newTimestamp));
|
||||
}
|
||||
Cursor.CursorType newCursorType = Cursor.CursorType.valueOf(cursorType.name());
|
||||
stageEntityChange(
|
||||
null,
|
||||
Cursor.create(newCursorType, newTimestamp, registry));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user