PURISTA API / @purista/core / ServiceBuilder
Class: ServiceBuilder<S>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:79
This class is used to build a service.
Type Parameters
S
S extends ServiceBuilderTypes = ServiceBuilderTypes
Constructors
Constructor
new ServiceBuilder<
S>(info):ServiceBuilder<S>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:104
Parameters
info
Returns
ServiceBuilder<S>
Properties
info
info:
ServiceInfoType
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:104
SClass
SClass:
Newable<S["ServiceClassType"],ServiceClassTypes<S["ConfigType"],S["Resources"]>> =Service
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:101
Methods
addCommandDefinition()
addCommandDefinition(...
commands):ServiceBuilder<S>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:132
Parameters
commands
...CommandDefinitionList<S["ServiceClassType"]>
Returns
ServiceBuilder<S>
addQueueDefinition()
addQueueDefinition(...
queues):ServiceBuilder<S>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:165
Parameters
queues
...QueueDefinitionList<S["ServiceClassType"]>
Returns
ServiceBuilder<S>
addQueueWorkerDefinition()
addQueueWorkerDefinition(...
workers):ServiceBuilder<S>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:176
Parameters
workers
...QueueWorkerDefinitionList<S["ServiceClassType"]>
Returns
ServiceBuilder<S>
addStreamDefinition()
addStreamDefinition(...
streams):ServiceBuilder<S>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:154
Parameters
streams
...StreamDefinitionList<S["ServiceClassType"]>
Returns
ServiceBuilder<S>
addSubscriptionDefinition()
addSubscriptionDefinition(...
subscription):ServiceBuilder<S>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:143
Parameters
subscription
...SubscriptionDefinitionList<S["ServiceClassType"]>
Returns
ServiceBuilder<S>
defineResource()
defineResource<
ResourceName,ResourcesType>():ServiceBuilder<SetNewTypeValue<S,"Resources",S["Resources"] &{ [K in string]: InstanceOrType<ResourcesType> }>>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:220
Type Parameters
ResourceName
ResourceName extends string
ResourcesType
ResourcesType
Returns
ServiceBuilder<SetNewTypeValue<S, "Resources", S["Resources"] & { [K in string]: InstanceOrType<ResourcesType> }>>
getCommandBuilder()
getCommandBuilder<
T,N>(commandName,description,eventName?):CommandDefinitionBuilder<S["ServiceClassType"],CommandDefinitionBuilderTypes<Schema,Schema,Schema,Schema,Schema,Schema,S["Resources"],InvokeList,StreamInvokeList,Record<string,Schema>,QueueInvokeList>>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:314
Type Parameters
T
T extends string
N
N extends string
Parameters
commandName
description
string
eventName?
Returns
CommandDefinitionBuilder<S["ServiceClassType"], CommandDefinitionBuilderTypes<Schema, Schema, Schema, Schema, Schema, Schema, S["Resources"], InvokeList, StreamInvokeList, Record<string, Schema>, QueueInvokeList>>
getCommandDefinitions()
getCommandDefinitions():
CommandDefinitionListResolved<S["ServiceClassType"]>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:395
Returns
CommandDefinitionListResolved<S["ServiceClassType"]>
getCustomClass()
getCustomClass():
Newable<S["ServiceClassType"],ServiceClassTypes<S["ConfigType"],S["Resources"]>>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:234
Returns
Newable<S["ServiceClassType"], ServiceClassTypes<S["ConfigType"], S["Resources"]>>
getFullServiceDefinition()
getFullServiceDefinition():
Promise<{commands:CommandDefinitionListResolved<S["ServiceClassType"]>;deprecated:boolean;queues:QueueDefinitionListResolved<S["ServiceClassType"]>;queueWorkers:QueueWorkerDefinitionListResolved<S["ServiceClassType"]>;serviceDescription:string;serviceName:string;serviceVersion:string;streams:StreamDefinitionListResolved<S["ServiceClassType"]>;subscriptions:SubscriptionDefinitionListResolved<S["ServiceClassType"]>; }>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:540
Returns
Promise<{ commands: CommandDefinitionListResolved<S["ServiceClassType"]>; deprecated: boolean; queues: QueueDefinitionListResolved<S["ServiceClassType"]>; queueWorkers: QueueWorkerDefinitionListResolved<S["ServiceClassType"]>; serviceDescription: string; serviceName: string; serviceVersion: string; streams: StreamDefinitionListResolved<S["ServiceClassType"]>; subscriptions: SubscriptionDefinitionListResolved<S["ServiceClassType"]>; }>
getInstance()
getInstance(
eventBridge,options?):Promise<S["ServiceClassType"]>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:238
Parameters
eventBridge
options?
{ [K in string | number | symbol]: ({ configStore?: ConfigStore; logger?: Logger; logLevel?: LogLevelName; queueBridge?: QueueBridge; secretStore?: SecretStore; spanProcessor?: SpanProcessor; stateStore?: StateStore } & (keyof S["Resources"] extends NeverObject ? { resources?: undefined } : { resources: S["Resources"] }) & (keyof S["ConfigInputType"] extends NeverObject ? { serviceConfig?: undefined } : { serviceConfig?: S["ConfigInputType"] }))[K] }
Returns
Promise<S["ServiceClassType"]>
getQueueBuilder()
getQueueBuilder<
T>(queueName,description):QueueDefinitionBuilder
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:425
Type Parameters
T
T extends string
Parameters
queueName
description
string
Returns
getQueueDefinitions()
getQueueDefinitions():
QueueDefinitionListResolved<S["ServiceClassType"]>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:433
Returns
QueueDefinitionListResolved<S["ServiceClassType"]>
getQueueWorkerBuilder()
getQueueWorkerBuilder<
T>(queueName,workerName):QueueWorkerBuilder
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:429
Type Parameters
T
T extends string
Parameters
queueName
workerName
string
Returns
getQueueWorkerDefinitions()
getQueueWorkerDefinitions():
QueueWorkerDefinitionListResolved<S["ServiceClassType"]>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:443
Returns
QueueWorkerDefinitionListResolved<S["ServiceClassType"]>
getStreamBuilder()
getStreamBuilder<
T,N>(streamName,description,finalEventName?):StreamDefinitionBuilder<S["ServiceClassType"],StreamDefinitionBuilderTypes<Schema,Schema,Schema,Schema,S["Resources"],InvokeList,StreamInvokeList,Record<string,Schema>,QueueInvokeList>>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:374
Type Parameters
T
T extends string
N
N extends string
Parameters
streamName
description
string
finalEventName?
Returns
StreamDefinitionBuilder<S["ServiceClassType"], StreamDefinitionBuilderTypes<Schema, Schema, Schema, Schema, S["Resources"], InvokeList, StreamInvokeList, Record<string, Schema>, QueueInvokeList>>
getStreamDefinitions()
getStreamDefinitions():
StreamDefinitionListResolved<S["ServiceClassType"]>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:415
Returns
StreamDefinitionListResolved<S["ServiceClassType"]>
getSubscriptionBuilder()
getSubscriptionBuilder<
T>(subscriptionName,description):SubscriptionDefinitionBuilder<S["ServiceClassType"],SubscriptionDefinitionBuilderTypes<any,any,any,any,any,any,S["Resources"],InvokeList,StreamInvokeList,Record<string,Schema>,QueueInvokeList>>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:337
Type Parameters
T
T extends string
Parameters
subscriptionName
description
string
Returns
SubscriptionDefinitionBuilder<S["ServiceClassType"], SubscriptionDefinitionBuilderTypes<any, any, any, any, any, any, S["Resources"], InvokeList, StreamInvokeList, Record<string, Schema>, QueueInvokeList>>
getSubscriptionDefinitions()
getSubscriptionDefinitions():
SubscriptionDefinitionListResolved<S["ServiceClassType"]>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:405
Returns
SubscriptionDefinitionListResolved<S["ServiceClassType"]>
markAsDeprecated()
markAsDeprecated():
ServiceBuilder<S>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:127
Returns
ServiceBuilder<S>
resolveDefinitions()
resolveDefinitions():
Promise<{commands:CommandDefinitionListResolved<S["ServiceClassType"]>;queues:QueueDefinitionListResolved<S["ServiceClassType"]>;queueWorkers:QueueWorkerDefinitionListResolved<S["ServiceClassType"]>;streams:StreamDefinitionListResolved<S["ServiceClassType"]>;subscriptions:SubscriptionDefinitionListResolved<S["ServiceClassType"]>; }>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:187
Returns
Promise<{ commands: CommandDefinitionListResolved<S["ServiceClassType"]>; queues: QueueDefinitionListResolved<S["ServiceClassType"]>; queueWorkers: QueueWorkerDefinitionListResolved<S["ServiceClassType"]>; streams: StreamDefinitionListResolved<S["ServiceClassType"]>; subscriptions: SubscriptionDefinitionListResolved<S["ServiceClassType"]>; }>
setConfigSchema()
setConfigSchema<
T>(schema):ServiceBuilder<SetNewTypeValues<S, {ConfigInputType:InferIn<T> extendsRecord<string,unknown> ?InferIn<InferIn<T>> :NeverObject;ConfigType:Infer<T> extendsRecord<string,unknown> ?Infer<Infer<T>> :NeverObject;ServiceClassType:Service<ServiceClassTypes<Infer<T> extendsRecord<string,unknown> ?Infer<Infer<T>> :EmptyObject,S["Resources"]>>; }>>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:106
Type Parameters
T
T extends Schema
Parameters
schema
T
Returns
ServiceBuilder<SetNewTypeValues<S, { ConfigInputType: InferIn<T> extends Record<string, unknown> ? InferIn<InferIn<T>> : NeverObject; ConfigType: Infer<T> extends Record<string, unknown> ? Infer<Infer<T>> : NeverObject; ServiceClassType: Service<ServiceClassTypes<Infer<T> extends Record<string, unknown> ? Infer<Infer<T>> : EmptyObject, S["Resources"]>>; }>>
setCustomClass()
setCustomClass<
T>(customClass):ServiceBuilder<SetNewTypeValue<S,"ServiceClassType",T>>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:227
Type Parameters
T
T extends Service<ServiceClassTypes<S["ConfigType"], S["Resources"]>>
Parameters
customClass
Newable<T, ServiceClassTypes<S["ConfigType"], S["Resources"]>>
Returns
ServiceBuilder<SetNewTypeValue<S, "ServiceClassType", T>>
setDefaultConfig()
setDefaultConfig(
config):this
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:122
Parameters
config
Complete<S["ConfigType"]>
Returns
this
testServiceSetup()
testServiceSetup():
Promise<boolean>
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:453
Returns
Promise<boolean>
validateCommandDefinitions()
validateCommandDefinitions():
void
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:553
Returns
void
Deprecated
Use testServiceSetup() instead
validateCommands()
protectedvalidateCommands(commandDefinitions):void
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:465
Parameters
commandDefinitions
CommandDefinitionListResolved<any>
Returns
void
validateQueues()
protectedvalidateQueues(queueDefinitions):void
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:510
Parameters
queueDefinitions
QueueDefinitionListResolved<any>
Returns
void
validateQueueWorkers()
protectedvalidateQueueWorkers(queueWorkers,queues):void
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:521
Parameters
queueWorkers
QueueWorkerDefinitionListResolved<any>
queues
QueueDefinitionListResolved<any>
Returns
void
validateStreams()
protectedvalidateStreams(streamDefinitions):void
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:499
Parameters
streamDefinitions
StreamDefinitionListResolved<any>
Returns
void
validateSubscriptionDefinitions()
validateSubscriptionDefinitions():
void
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:561
Returns
void
Deprecated
Use testServiceSetup() instead
validateSubscriptions()
protectedvalidateSubscriptions(subscriptionDefinitions):void
Defined in: ServiceBuilder/ServiceBuilder.impl.ts:487
Parameters
subscriptionDefinitions
SubscriptionDefinitionListResolved<any>
Returns
void
