schema); $writer = new PostWriter($this->schema, new FieldValidator(), new TermAssigner()); $cloner = new PostCloner(); $whitelist = new SettingsWhitelist(); return [ new ContentTypesAbility($this->schema), new ContentQueryAbility($this->schema, $presenter), new ContentGetAbility($this->schema, $presenter), new ContentCreateAbility($this->schema, $writer, $this->log), new ContentUpdateAbility($this->schema, $writer, $this->log), new PostPublishAbility($this->schema, $this->log), new PostUnpublishAbility($this->schema, $this->log), new PostScheduleAbility($this->schema, $this->log), new PostTrashAbility($this->schema, $this->log), new PostDuplicateAbility($this->schema, $cloner, $this->log), new PostReplaceWithCopyAbility($this->schema, $cloner, $this->log), new RevisionsListAbility($this->schema), new RevisionRestoreAbility($this->schema, $this->log), new MenuListAbility(), new MenuGetAbility(), new MenuCreateAbility($this->log), new MenuSetItemsAbility(new MenuWriter(), new MenuOperations(), $this->log), new MenuAssignLocationAbility($this->log), new WpSettingsGetAbility($whitelist), new WpSettingsUpdateAbility($whitelist, $this->log), ]; } }