class

Chat::DeleteOperation

Inherits Avram::DeleteOperation / Avram::AddColumnAttributes / Avram::InheritColumnAttributes / Avram::Callbacks / Avram::ParamKeyOverride / Avram::OperationErrors / Avram::Validations / Avram::DefineAttribute / Avram::NeedyInitializerAndDeleteMethods / Reference / Object

Constants

ATTRIBUTES = [] of Nil
COLUMN_ATTRIBUTES = [{name: id, type: UUID, nilable: false, autogenerated: true, value: nil, serialized: false}, {name: creator_id, type: User::PrimaryKeyType, nilable: false, autogenerated: false, value: nil, serialized: false}, {name: name, type: String, nilable: true, autogenerated: false, value: nil, serialized: false}] of Nil
OPERATION_NEEDS = [] of Nil

Constructors

new(record : T, params : Avram::Paramable, id : UUID | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing | Nil = Avram::Nothing.new)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

new(record : T, id : UUID | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing | Nil = Avram::Nothing.new)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

Class methods

delete(record : T, params, id : UUID | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing | Nil = Avram::Nothing.new, &)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

delete(record : T, id : UUID | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing | Nil = Avram::Nothing.new, &)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

delete(record : T, params : Hash, **named_args, &)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

delete!(record : T, params, id : UUID | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing | Nil = Avram::Nothing.new)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

delete!(record : T, id : UUID | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing | Nil = Avram::Nothing.new)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

delete!(record : T, params : Hash, **named_args)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

Instance methods

attributes
creator_id
creator_id=(_value)
delete_status
delete_status=(delete_status : OperationStatus)
id
id=(_value)
name
name=(_value)
params
permitted_params
record
required_attributes
set_attributes(id : UUID | Avram::Nothing = Avram::Nothing.new, creator_id : User::PrimaryKeyType | Avram::Nothing = Avram::Nothing.new, name : String | Avram::Nothing | Nil = Avram::Nothing.new)

This is called at the end so @type will be of the subclass, and not the parent abstract class.

set_creator_id_from_param(_value)
set_id_from_param(_value)
set_name_from_param(_value)

Macros

param_key(key)