class SaveWebhookTrigger

Defined in:

operations/save_webhook_trigger.cr

Constant Summary

ATTRIBUTES = [] of Nil
COLUMN_ATTRIBUTES = [{name: id, type: Int64, nilable: false, autogenerated: true, value: nil, serialized: false}, {name: created_at, type: Time, nilable: false, autogenerated: true, value: nil, serialized: false}, {name: updated_at, type: Time, nilable: false, autogenerated: true, value: nil, serialized: false}, {name: slack_team_id, type: SlackTeam::PrimaryKeyType, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: slack_channel_id, type: SlackChannel::PrimaryKeyType, nilable: true, autogenerated: false, value: nil, serialized: false}, {name: event_type, type: WebhookTriggerEvent, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: action, type: WebhookTriggerAction, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: conditions, type: TriggerConditions, nilable: true, autogenerated: false, value: nil, serialized: true}, {name: id, type: Int64, nilable: false, autogenerated: true, value: nil, serialized: false}, {name: created_at, type: Time, nilable: false, autogenerated: true, value: nil, serialized: false}, {name: updated_at, type: Time, nilable: false, autogenerated: true, value: nil, serialized: false}, {name: slack_team_id, type: SlackTeam::PrimaryKeyType, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: slack_channel_id, type: SlackChannel::PrimaryKeyType, nilable: true, autogenerated: false, value: nil, serialized: false}, {name: event_type, type: WebhookTriggerEvent, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: action, type: WebhookTriggerAction, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: conditions, type: TriggerConditions, nilable: true, autogenerated: false, value: nil, serialized: true}] of Nil
FOREIGN_KEY = "webhook_trigger_id"
OPERATION_NEEDS = [] of Nil

Constructors

Class Method Summary

Instance Method Summary

Macro Summary

Instance methods inherited from class WebhookTrigger::SaveOperation

action action, action=(_value) action=, attributes attributes, conditions conditions, conditions=(_value) conditions=, created_at created_at, created_at=(_value) created_at=, event_type event_type, event_type=(_value) event_type=, id id, id=(_value) id=, permitted_params : Hash(String, Array(String) | String) permitted_params, required_attributes required_attributes, set_action_from_param(_value) set_action_from_param, set_attributes(id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new) set_attributes, set_conditions_from_param(_value) set_conditions_from_param, set_created_at_from_param(_value) set_created_at_from_param, set_event_type_from_param(_value) set_event_type_from_param, set_id_from_param(_value) set_id_from_param, set_slack_channel_id_from_param(_value) set_slack_channel_id_from_param, set_slack_team_id_from_param(_value) set_slack_team_id_from_param, set_updated_at_from_param(_value) set_updated_at_from_param, slack_channel_id slack_channel_id, slack_channel_id=(_value) slack_channel_id=, slack_team_id slack_team_id, slack_team_id=(_value) slack_team_id=, updated_at updated_at, updated_at=(_value) updated_at=

Constructor methods inherited from class WebhookTrigger::SaveOperation

new(record : T, params : Avram::Paramable, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new)
new(params : Avram::Paramable, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new)
new(record : T, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new)
new(id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new)
new

Class methods inherited from class WebhookTrigger::SaveOperation

create(params, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new, &)
create(id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new, &)
create(params : Hash, **named_args, &)
create
, create!(params, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new)
create!(id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new)
create!(params : Hash, **named_args)
create!
, update(record : T, with params, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new, &)
update(record : T, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new, &)
update(record : T, params : Hash, **named_args, &)
update
, update!(record : T, with params, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new)
update!(record : T, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new)
update!(record : T, params : Hash, **named_args)
update!

Constructor Detail

def self.new(record : T, params : Avram::Paramable, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


def self.new(params : Avram::Paramable, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


def self.new(record : T, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


def self.new(id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


Class Method Detail

def self.create(params, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new, &) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


def self.create(id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new, &) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


def self.create(params : Hash, **named_args, &) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


def self.create!(params, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


def self.create!(id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


def self.create!(params : Hash, **named_args) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


def self.find_existing_unique_record(operation) : T | Nil #

[View source]
def self.update(record : T, with params, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new, &) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


def self.update(record : T, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new, &) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


def self.update(record : T, params : Hash, **named_args, &) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


def self.update!(record : T, with params, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


def self.update!(record : T, id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


def self.update!(record : T, params : Hash, **named_args) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


def self.upsert(*args, **named_args, &) #

[View source]
def self.upsert!(*args, **named_args) : T #

[View source]

Instance Method Detail

def set_attributes(id : Int64 | Avram::Nothing = Avram::Nothing.new, created_at : Time | Avram::Nothing = Avram::Nothing.new, updated_at : Time | Avram::Nothing = Avram::Nothing.new, slack_team_id : SlackTeam::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, slack_channel_id : SlackChannel::PrimaryKeyType | Avram::Nothing | Nil = Avram::Nothing.new, event_type : WebhookTriggerEvent | Avram::Nothing = Avram::Nothing.new, action : WebhookTriggerAction | Avram::Nothing = Avram::Nothing.new, conditions : TriggerConditions | Avram::Nothing | Nil = Avram::Nothing.new) #

@type is not correct in this method, but is in the macro we call below That is why this extrac macro was extracted. We need @type to get the attributes for this SaveOperation


Macro Detail

macro param_key(key) #