+async function findAvailableLocalActorName (baseActorName: string, transaction?: Transaction) {
+ let actor = await ActorModel.loadLocalByName(baseActorName, transaction)
+ if (!actor) return baseActorName
+
+ for (let i = 1; i < 30; i++) {
+ const name = `${baseActorName}-${i}`
+
+ actor = await ActorModel.loadLocalByName(name, transaction)
+ if (!actor) return name
+ }
+
+ throw new Error('Cannot find available actor local name (too much iterations).')
+}
+
+// ---------------------------------------------------------------------------
+