From a236f3e4dc088a45c5730c3fe4bb572cb940303f Mon Sep 17 00:00:00 2001 From: Ben Allfree Date: Sat, 29 Jun 2024 17:21:55 -0700 Subject: [PATCH] feat(pockethost): Added several more filters --- .changeset/1719706915432.md | 5 ++++ .../pockethost/src/common/plugin/filter.ts | 25 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 .changeset/1719706915432.md diff --git a/.changeset/1719706915432.md b/.changeset/1719706915432.md new file mode 100644 index 00000000..ba6241e5 --- /dev/null +++ b/.changeset/1719706915432.md @@ -0,0 +1,5 @@ +--- +'pockethost': minor +--- + +Added several more filters \ No newline at end of file diff --git a/packages/pockethost/src/common/plugin/filter.ts b/packages/pockethost/src/common/plugin/filter.ts index 97bee0e4..ad0956c1 100644 --- a/packages/pockethost/src/common/plugin/filter.ts +++ b/packages/pockethost/src/common/plugin/filter.ts @@ -2,6 +2,7 @@ import { Command } from 'commander' import { Request, Response } from 'express' import { DEBUG } from '../debug' import { InstanceFields, InstanceId } from '../schema' +import { UserId } from '../schema/BaseFields' export enum CoreFilters { Settings = 'core_settings', @@ -11,6 +12,8 @@ export enum CoreFilters { AuthenticateUser = 'core_authenticate_user', GetInstanceByRequestInfo = 'core_get_instance_by_request_info', GetInstanceById = 'core_get_instance_by_id', + GetOneInstanceByExactCriteria = 'core_get_one_instance_by_exact_criteria', + GetAllInstancesByExactCriteria = 'core_get_all_instances_by_exact_criteria', InstanceConfig = 'core_instance_config', ErrorSpawningInstanceMessage = 'core_error_spawning_instance_message', FailedToLaunchInstanceMessage = 'core_failed_to_launch_instance_message', @@ -19,6 +22,7 @@ export enum CoreFilters { GetOrProvisionInstanceUrl = 'core_get_or_provision_instance_url', PocketBaseLaunchHandler = 'core_pocket_base_launch_handler', NewInstanceRecord = 'core_new_instance_record', + IsInstanceRunning = 'core_is_instance_running', } export type FilterHandler = ( @@ -130,6 +134,22 @@ export const [doGetInstanceByIdFilter, onGetInstanceByIdFilter] = { instanceId: InstanceId } >(CoreFilters.GetInstanceById) +export const [ + doGetOneInstanceByExactCriteriaFilter, + onGetOneInstanceByExactCriteriaFilter, +] = createCustomFilterWithContext< + InstanceFields | undefined, + Partial +>(CoreFilters.GetOneInstanceByExactCriteria) + +export const [ + doGetAllInstancesByExactCriteriaFilter, + onGetAllInstancesByExactCriteriaFilter, +] = createCustomFilterWithContext< + InstanceFields[], + Partial +>(CoreFilters.GetAllInstancesByExactCriteria) + export const [doCliCommandsFilter, onCliCommandsFilter] = createCustomFilter< Command[] >(CoreFilters.CliCommands) @@ -170,3 +190,8 @@ export type InstanceConfig = { } export const [doInstanceConfigFilter, onInstanceConfigFilter] = createCustomFilter(CoreFilters.InstanceConfig) + +export const [doIsInstanceRunningFilter, onIsInstanceRunningFilter] = + createCustomFilterWithContext( + CoreFilters.IsInstanceRunning, + )