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.
This commit is contained in:
commit
b4150c8250
1364 changed files with 6814366 additions and 0 deletions
53
packages/verae-zapier/triggers/timestamp_completed.js
Normal file
53
packages/verae-zapier/triggers/timestamp_completed.js
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
const base = () => process.env.MIDDLEWARE_BASE_URL || 'http://127.0.0.1:3100';
|
||||
|
||||
const subscribeHook = async (z, bundle) => {
|
||||
const response = await z.request({
|
||||
method: 'POST',
|
||||
url: `${base()}/zapier/v1/webhooks/subscribe`,
|
||||
body: {
|
||||
targetUrl: bundle.targetUrl,
|
||||
event: 'timestamp.completed',
|
||||
},
|
||||
});
|
||||
return response.data.id;
|
||||
};
|
||||
|
||||
const unsubscribeHook = async (z, bundle) => {
|
||||
await z.request({
|
||||
method: 'DELETE',
|
||||
url: `${base()}/zapier/v1/webhooks/unsubscribe`,
|
||||
body: {
|
||||
hookId: bundle.subscribeData,
|
||||
},
|
||||
});
|
||||
return {};
|
||||
};
|
||||
|
||||
const perform = async (z, bundle) => [bundle.cleanedRequest];
|
||||
|
||||
const performList = async () => [];
|
||||
|
||||
module.exports = {
|
||||
key: 'timestamp_completed',
|
||||
noun: 'Timestamp',
|
||||
display: {
|
||||
label: 'Timestamp Completed',
|
||||
description: 'Triggers when a blockchain timestamp job completes.',
|
||||
},
|
||||
operation: {
|
||||
type: 'hook',
|
||||
perform,
|
||||
performList,
|
||||
performSubscribe: subscribeHook,
|
||||
performUnsubscribe: unsubscribeHook,
|
||||
sample: {
|
||||
event: 'timestamp.completed',
|
||||
jobId: '550e8400-e29b-41d4-a716-446655440000',
|
||||
status: { id: '550e8400-e29b-41d4-a716-446655440000', status: 'completed' },
|
||||
},
|
||||
outputFields: [
|
||||
{ key: 'event', label: 'Event' },
|
||||
{ key: 'jobId', label: 'Job ID' },
|
||||
],
|
||||
},
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue