master-zapier-plan-draft/vendor/zapier-platform/packages/schema/lib/schemas/ResourceMethodHookSchema.js
George Lambert b4150c8250 Milestone 0: import zappier billing, Verae middleware, and Zapier research
Compose-ready workspace: packages/zappier (rate card, portal, Stripe),
packages/verae-zapier-middleware (timestamp + NATS), packages/verae-zapier
(CLI app), vendor/zapier-platform, and research/zapier vendor corpus.

Gate 0 structure checks pass. Product code and research are not yet wired.
2026-09-09 02:37:36 -04:00

72 lines
1.8 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

'use strict';
const makeSchema = require('../utils/makeSchema');
const BasicDisplaySchema = require('./BasicDisplaySchema');
const BasicHookOperationSchema = require('./BasicHookOperationSchema');
module.exports = makeSchema(
{
id: '/ResourceMethodHookSchema',
description:
'How will we get notified of new objects? Will be turned into a trigger automatically.',
type: 'object',
required: ['display', 'operation'],
properties: {
display: {
description:
'Define how this hook/trigger method will be exposed in the UI.',
$ref: BasicDisplaySchema.id,
},
operation: {
description: 'Define how this hook/trigger method will work.',
$ref: BasicHookOperationSchema.id,
},
},
additionalProperties: false,
examples: [
{
display: {
label: 'Get Tag by ID',
description: 'Grab a specific Tag by ID.',
},
operation: {
type: 'hook',
perform: '$func$0$f$',
sample: {
id: 385,
name: 'proactive enable ROI',
},
},
},
{
display: {
label: 'Get Tag by ID',
description: 'Grab a specific Tag by ID.',
hidden: true,
},
operation: {
type: 'hook',
perform: '$func$0$f$',
},
},
],
antiExamples: [
{
example: {
display: {
label: 'Get Tag by ID',
description: 'Grab a specific Tag by ID.',
},
operation: {
type: 'hook',
perform: '$func$0$f$',
},
},
reason:
'Missing key from operation: sample. Note  this is valid if the resource has defined a sample.',
},
],
},
[BasicDisplaySchema, BasicHookOperationSchema],
);