diff --git a/definitions/cron/data_type/object/cron_code.proto.json b/definitions/cron/data_type/object/cron_code.proto.json new file mode 100644 index 0000000..095bfb2 --- /dev/null +++ b/definitions/cron/data_type/object/cron_code.proto.json @@ -0,0 +1,65 @@ +{ + "variant": "OBJECT", + "identifier": "CRON_CODE", + "name": [ + { + "code": "en-US", + "content": "Cron Code" + } + ], + "alias": [ + { + "code": "en-US", + "content": "cron;code;schedule;timer;clock" + } + ], + "displayMessage": [ + { + "code": "en-US", + "content": "Cron Code ${minute} ${hour} ${day_of_month} ${month} ${day_of_week}" + } + ], + "rules": [ + { + "containsKey": { + "key": "minute", + "dataTypeIdentifier": { + "dataTypeIdentifier": "CRON_MINUTE" + } + } + }, + { + "containsKey": { + "key": "hour", + "dataTypeIdentifier": { + "dataTypeIdentifier": "CRON_HOUR" + } + } + }, + { + "containsKey": { + "key": "day_of_month", + "dataTypeIdentifier": { + "dataTypeIdentifier": "CRON_DAY_OF_MONTH" + } + } + }, + { + "containsKey": { + "key": "month", + "dataTypeIdentifier": { + "dataTypeIdentifier": "CRON_MONTH" + } + } + }, + { + "containsKey": { + "key": "day_of_week", + "dataTypeIdentifier": { + "dataTypeIdentifier": "CRON_DAY_OF_WEEK" + } + } + } + ], + "genericKeys": [] +} diff --git a/definitions/cron/data_type/type/cron_day_of_month.proto.json b/definitions/cron/data_type/type/cron_day_of_month.proto.json new file mode 100644 index 0000000..3580b96 --- /dev/null +++ b/definitions/cron/data_type/type/cron_day_of_month.proto.json @@ -0,0 +1,30 @@ +{ + "variant": "TYPE", + "identifier": "CRON_DAY_OF_MONTH", + "name": [ + { + "code": "en-US", + "content": "Cron Day of Month" + } + ], + "rules": [ + { + "regex": { + "pattern": "^(\\*|([1-9]|[12]\\d|3[01])(-([1-9]|[12]\\d|3[01]))?)(\\/([1-9]|[12]\\d|3[01]))?(,(\\*|([1-9]|[12]\\d|3[01])(-([1-9]|[12]\\d|3[01]))?)(\\/([1-9]|[12]\\d|3[01]))?)*$" + } + } + ], + "alias": [ + { + "code": "en-US", + "content": "cron;code;schedule;timer;clock;month;day" + } + ], + "displayMessage": [ + { + "code": "en-US", + "content": "Cron Day of Month" + } + ], + "genericKeys": [] +} diff --git a/definitions/cron/data_type/type/cron_day_of_week.proto.json b/definitions/cron/data_type/type/cron_day_of_week.proto.json new file mode 100644 index 0000000..d5e55e0 --- /dev/null +++ b/definitions/cron/data_type/type/cron_day_of_week.proto.json @@ -0,0 +1,30 @@ +{ + "variant": "TYPE", + "identifier": "CRON_DAY_OF_WEEK", + "name": [ + { + "code": "en-US", + "content": "Cron Day of Week" + } + ], + "rules": [ + { + "regex": { + "pattern": "^(\\*|([0-7])(-([0-7]))?)(\\/([0-7]))?(,(\\*|([0-7])(-([0-7]))?)(\\/([0-7]))?)*$" + } + } + ], + "alias": [ + { + "code": "en-US", + "content": "cron;code;schedule;timer;clock;day;week" + } + ], + "displayMessage": [ + { + "code": "en-US", + "content": "Cron Day of Week" + } + ], + "genericKeys": [] +} diff --git a/definitions/cron/data_type/type/cron_hour.proto.json b/definitions/cron/data_type/type/cron_hour.proto.json new file mode 100644 index 0000000..61efd71 --- /dev/null +++ b/definitions/cron/data_type/type/cron_hour.proto.json @@ -0,0 +1,30 @@ +{ + "variant": "TYPE", + "identifier": "CRON_HOUR", + "name": [ + { + "code": "en-US", + "content": "Cron Hour" + } + ], + "rules": [ + { + "regex": { + "pattern": "^(\\*|([01]?\\d|2[0-3])(-([01]?\\d|2[0-3]))?)(\\/([01]?\\d|2[0-3]))?(,(\\*|([01]?\\d|2[0-3])(-([01]?\\d|2[0-3]))?)(\\/([01]?\\d|2[0-3]))?)*$" + } + } + ], + "alias": [ + { + "code": "en-US", + "content": "cron;code;schedule;timer;clock;hour" + } + ], + "displayMessage": [ + { + "code": "en-US", + "content": "Cron Hour" + } + ], + "genericKeys": [] +} diff --git a/definitions/cron/data_type/type/cron_minute.proto.json b/definitions/cron/data_type/type/cron_minute.proto.json new file mode 100644 index 0000000..1ee6305 --- /dev/null +++ b/definitions/cron/data_type/type/cron_minute.proto.json @@ -0,0 +1,30 @@ +{ + "variant": "TYPE", + "identifier": "CRON_MINUTE", + "name": [ + { + "code": "en-US", + "content": "Cron Minute" + } + ], + "rules": [ + { + "regex": { + "pattern": "^(\\*|([0-5]?\\d)(-[0-5]?\\d)?)(\\/[0-5]?\\d)?(,(\\*|([0-5]?\\d)(-[0-5]?\\d)?)(\\/[0-5]?\\d)?)*$" + } + } + ], + "alias": [ + { + "code": "en-US", + "content": "cron;code;schedule;timer;clock;minute" + } + ], + "displayMessage": [ + { + "code": "en-US", + "content": "Cron Minute" + } + ], + "genericKeys": [] +} diff --git a/definitions/cron/data_type/type/cron_month.proto.json b/definitions/cron/data_type/type/cron_month.proto.json new file mode 100644 index 0000000..8bfa49f --- /dev/null +++ b/definitions/cron/data_type/type/cron_month.proto.json @@ -0,0 +1,30 @@ +{ + "variant": "TYPE", + "identifier": "CRON_MONTH", + "name": [ + { + "code": "en-US", + "content": "Cron Month" + } + ], + "rules": [ + { + "regex": { + "pattern": "^(\\*|(0?[1-9]|1[0-2])(-(0?[1-9]|1[0-2]))?)(\\/(0?[1-9]|1[0-2]))?(,(\\*|(0?[1-9]|1[0-2])(-(0?[1-9]|1[0-2]))?)(\\/(0?[1-9]|1[0-2]))?)*$" + } + } + ], + "alias": [ + { + "code": "en-US", + "content": "cron;code;schedule;timer;clock;month" + } + ], + "displayMessage": [ + { + "code": "en-US", + "content": "Cron Month" + } + ], + "genericKeys": [] +} diff --git a/definitions/cron/flow_type/cron.proto.json b/definitions/cron/flow_type/cron.proto.json new file mode 100644 index 0000000..460af57 --- /dev/null +++ b/definitions/cron/flow_type/cron.proto.json @@ -0,0 +1,49 @@ +{ + "identifier": "CRON", + "settings": [ + { + "identifier": "CRON_CODE", + "unique": "NONE", + "dataTypeIdentifier": "CRON_CODE", + "defaultValue": null, + "name": [ + { + "code": "en-US", + "content": "Cron Code" + } + ], + "description": [ + { + "code": "en-US", + "content": "Specifies the Cron Code for this flow to be called." + } + ] + } + ], + "name": [ + { + "code": "en-US", + "content": "Cron Job" + } + ], + "description": [ + { + "code": "en-US", + "content": "A Cron Job is a scheduled task that runs automatically at specified intervals, typically defined using cron expressions. It is commonly used to automate repetitive operations such as data processing, system maintenance, and periodic updates without requiring manual execution." + } + ], + "documentation": [], + "displayIcon": "tabler:file-time", + "alias": [ + { + "code": "en-US", + "content": "cron;code;schedule;timer;clock;flow" + } + ], + "displayMessage": [ + { + "code": "en-US", + "content": "Schedule Job ${cron_code}" + } + ] +}