From a94b5d21ec4992f14b914c7de519df0badc6cd40 Mon Sep 17 00:00:00 2001 From: Bassel Kanso Date: Wed, 10 Aug 2022 16:04:36 +0300 Subject: [PATCH] create a generic service type --- packages/core/strapi/lib/core-api/service/index.d.ts | 5 +++++ packages/core/strapi/lib/types/factories.d.ts | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/core/strapi/lib/core-api/service/index.d.ts b/packages/core/strapi/lib/core-api/service/index.d.ts index e0c8a39a0d..2746258eda 100644 --- a/packages/core/strapi/lib/core-api/service/index.d.ts +++ b/packages/core/strapi/lib/core-api/service/index.d.ts @@ -20,3 +20,8 @@ export interface CollectionTypeService extends BaseService { export type Service = SingleTypeService | CollectionTypeService; +export type GenericService = Partial & { + [method: string | number | symbol]: (...args:unknown) => Promise | Entity; +}; + + diff --git a/packages/core/strapi/lib/types/factories.d.ts b/packages/core/strapi/lib/types/factories.d.ts index f71cd0145b..a7cc3669ba 100644 --- a/packages/core/strapi/lib/types/factories.d.ts +++ b/packages/core/strapi/lib/types/factories.d.ts @@ -1,4 +1,4 @@ -import { Service } from '../core-api/service'; +import { Service,GenericService } from '../core-api/service'; import { Controller, GenericController } from '../core-api/controller'; import { Middleware } from '../middlewares'; import { Policy } from '../core/registries/policies'; @@ -47,14 +47,14 @@ interface Router { type ControllerCallback = (params: { strapi: Strapi; }) => T; -type ServiceCallback = (params: { strapi: Strapi }) => T; +type ServiceCallback = (params: { strapi: Strapi }) => T; export function createCoreRouter(uid: string, cfg?: RouterConfig = {}): () => Router; export function createCoreController( uid: string, cfg?: ControllerCallback | T = {} ): () => T & Controller; -export function createCoreService( +export function createCoreService( uid: string, cfg?: ServiceCallback | T = {} ): () => T;