session and activity delete

This commit is contained in:
Joshua Burman
2024-12-24 22:38:25 -05:00
parent 3c2f2e9bae
commit 029f037f90
15 changed files with 4785 additions and 194 deletions

View File

@ -37,6 +37,15 @@ class $SessionsTable extends Sessions with TableInfo<$SessionsTable, Session> {
GeneratedColumn<String>('status', aliasedName, false,
type: DriftSqlType.string, requiredDuringInsert: true)
.withConverter<SessionStatus>($SessionsTable.$converterstatus);
static const VerificationMeta _addressMeta =
const VerificationMeta('address');
@override
late final GeneratedColumn<String> address = GeneratedColumn<String>(
'address', aliasedName, true,
additionalChecks:
GeneratedColumn.checkTextLength(minTextLength: 3, maxTextLength: 256),
type: DriftSqlType.string,
requiredDuringInsert: false);
static const VerificationMeta _dateMeta = const VerificationMeta('date');
@override
late final GeneratedColumn<DateTime> date = GeneratedColumn<DateTime>(
@ -52,7 +61,7 @@ class $SessionsTable extends Sessions with TableInfo<$SessionsTable, Session> {
defaultValue: Variable(DateTime.now()));
@override
List<GeneratedColumn> get $columns =>
[id, title, content, status, date, createdAt];
[id, title, content, status, address, date, createdAt];
@override
String get aliasedName => _alias ?? actualTableName;
@override
@ -79,6 +88,10 @@ class $SessionsTable extends Sessions with TableInfo<$SessionsTable, Session> {
context.missing(_contentMeta);
}
context.handle(_statusMeta, const VerificationResult.success());
if (data.containsKey('address')) {
context.handle(_addressMeta,
address.isAcceptableOrUnknown(data['address']!, _addressMeta));
}
if (data.containsKey('date')) {
context.handle(
_dateMeta, date.isAcceptableOrUnknown(data['date']!, _dateMeta));
@ -105,6 +118,8 @@ class $SessionsTable extends Sessions with TableInfo<$SessionsTable, Session> {
status: $SessionsTable.$converterstatus.fromSql(attachedDatabase
.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}status'])!),
address: attachedDatabase.typeMapping
.read(DriftSqlType.string, data['${effectivePrefix}address']),
date: attachedDatabase.typeMapping
.read(DriftSqlType.dateTime, data['${effectivePrefix}date']),
createdAt: attachedDatabase.typeMapping
@ -126,6 +141,7 @@ class Session extends DataClass implements Insertable<Session> {
final String title;
final String content;
final SessionStatus status;
final String? address;
final DateTime? date;
final DateTime createdAt;
const Session(
@ -133,6 +149,7 @@ class Session extends DataClass implements Insertable<Session> {
required this.title,
required this.content,
required this.status,
this.address,
this.date,
required this.createdAt});
@override
@ -145,6 +162,9 @@ class Session extends DataClass implements Insertable<Session> {
map['status'] =
Variable<String>($SessionsTable.$converterstatus.toSql(status));
}
if (!nullToAbsent || address != null) {
map['address'] = Variable<String>(address);
}
if (!nullToAbsent || date != null) {
map['date'] = Variable<DateTime>(date);
}
@ -158,6 +178,9 @@ class Session extends DataClass implements Insertable<Session> {
title: Value(title),
content: Value(content),
status: Value(status),
address: address == null && nullToAbsent
? const Value.absent()
: Value(address),
date: date == null && nullToAbsent ? const Value.absent() : Value(date),
createdAt: Value(createdAt),
);
@ -172,6 +195,7 @@ class Session extends DataClass implements Insertable<Session> {
content: serializer.fromJson<String>(json['content']),
status: $SessionsTable.$converterstatus
.fromJson(serializer.fromJson<String>(json['status'])),
address: serializer.fromJson<String?>(json['address']),
date: serializer.fromJson<DateTime?>(json['date']),
createdAt: serializer.fromJson<DateTime>(json['createdAt']),
);
@ -185,6 +209,7 @@ class Session extends DataClass implements Insertable<Session> {
'content': serializer.toJson<String>(content),
'status': serializer
.toJson<String>($SessionsTable.$converterstatus.toJson(status)),
'address': serializer.toJson<String?>(address),
'date': serializer.toJson<DateTime?>(date),
'createdAt': serializer.toJson<DateTime>(createdAt),
};
@ -195,6 +220,7 @@ class Session extends DataClass implements Insertable<Session> {
String? title,
String? content,
SessionStatus? status,
Value<String?> address = const Value.absent(),
Value<DateTime?> date = const Value.absent(),
DateTime? createdAt}) =>
Session(
@ -202,6 +228,7 @@ class Session extends DataClass implements Insertable<Session> {
title: title ?? this.title,
content: content ?? this.content,
status: status ?? this.status,
address: address.present ? address.value : this.address,
date: date.present ? date.value : this.date,
createdAt: createdAt ?? this.createdAt,
);
@ -211,6 +238,7 @@ class Session extends DataClass implements Insertable<Session> {
title: data.title.present ? data.title.value : this.title,
content: data.content.present ? data.content.value : this.content,
status: data.status.present ? data.status.value : this.status,
address: data.address.present ? data.address.value : this.address,
date: data.date.present ? data.date.value : this.date,
createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt,
);
@ -223,6 +251,7 @@ class Session extends DataClass implements Insertable<Session> {
..write('title: $title, ')
..write('content: $content, ')
..write('status: $status, ')
..write('address: $address, ')
..write('date: $date, ')
..write('createdAt: $createdAt')
..write(')'))
@ -230,7 +259,8 @@ class Session extends DataClass implements Insertable<Session> {
}
@override
int get hashCode => Object.hash(id, title, content, status, date, createdAt);
int get hashCode =>
Object.hash(id, title, content, status, address, date, createdAt);
@override
bool operator ==(Object other) =>
identical(this, other) ||
@ -239,6 +269,7 @@ class Session extends DataClass implements Insertable<Session> {
other.title == this.title &&
other.content == this.content &&
other.status == this.status &&
other.address == this.address &&
other.date == this.date &&
other.createdAt == this.createdAt);
}
@ -248,6 +279,7 @@ class SessionsCompanion extends UpdateCompanion<Session> {
final Value<String> title;
final Value<String> content;
final Value<SessionStatus> status;
final Value<String?> address;
final Value<DateTime?> date;
final Value<DateTime> createdAt;
const SessionsCompanion({
@ -255,6 +287,7 @@ class SessionsCompanion extends UpdateCompanion<Session> {
this.title = const Value.absent(),
this.content = const Value.absent(),
this.status = const Value.absent(),
this.address = const Value.absent(),
this.date = const Value.absent(),
this.createdAt = const Value.absent(),
});
@ -263,6 +296,7 @@ class SessionsCompanion extends UpdateCompanion<Session> {
required String title,
required String content,
required SessionStatus status,
this.address = const Value.absent(),
this.date = const Value.absent(),
this.createdAt = const Value.absent(),
}) : title = Value(title),
@ -273,6 +307,7 @@ class SessionsCompanion extends UpdateCompanion<Session> {
Expression<String>? title,
Expression<String>? content,
Expression<String>? status,
Expression<String>? address,
Expression<DateTime>? date,
Expression<DateTime>? createdAt,
}) {
@ -281,6 +316,7 @@ class SessionsCompanion extends UpdateCompanion<Session> {
if (title != null) 'title': title,
if (content != null) 'body': content,
if (status != null) 'status': status,
if (address != null) 'address': address,
if (date != null) 'date': date,
if (createdAt != null) 'created_at': createdAt,
});
@ -291,6 +327,7 @@ class SessionsCompanion extends UpdateCompanion<Session> {
Value<String>? title,
Value<String>? content,
Value<SessionStatus>? status,
Value<String?>? address,
Value<DateTime?>? date,
Value<DateTime>? createdAt}) {
return SessionsCompanion(
@ -298,6 +335,7 @@ class SessionsCompanion extends UpdateCompanion<Session> {
title: title ?? this.title,
content: content ?? this.content,
status: status ?? this.status,
address: address ?? this.address,
date: date ?? this.date,
createdAt: createdAt ?? this.createdAt,
);
@ -319,6 +357,9 @@ class SessionsCompanion extends UpdateCompanion<Session> {
map['status'] =
Variable<String>($SessionsTable.$converterstatus.toSql(status.value));
}
if (address.present) {
map['address'] = Variable<String>(address.value);
}
if (date.present) {
map['date'] = Variable<DateTime>(date.value);
}
@ -335,6 +376,7 @@ class SessionsCompanion extends UpdateCompanion<Session> {
..write('title: $title, ')
..write('content: $content, ')
..write('status: $status, ')
..write('address: $address, ')
..write('date: $date, ')
..write('createdAt: $createdAt')
..write(')'))
@ -714,8 +756,8 @@ class $SessionActivitiesTable extends SessionActivities
'session_id', aliasedName, false,
type: DriftSqlType.int,
requiredDuringInsert: true,
defaultConstraints:
GeneratedColumn.constraintIsAlways('REFERENCES sessions (id)'));
defaultConstraints: GeneratedColumn.constraintIsAlways(
'REFERENCES sessions (id) ON DELETE CASCADE'));
static const VerificationMeta _activityIdMeta =
const VerificationMeta('activityId');
@override
@ -723,8 +765,8 @@ class $SessionActivitiesTable extends SessionActivities
'activity_id', aliasedName, false,
type: DriftSqlType.int,
requiredDuringInsert: true,
defaultConstraints:
GeneratedColumn.constraintIsAlways('REFERENCES activities (id)'));
defaultConstraints: GeneratedColumn.constraintIsAlways(
'REFERENCES activities (id) ON DELETE CASCADE'));
static const VerificationMeta _positionMeta =
const VerificationMeta('position');
@override
@ -1402,8 +1444,8 @@ class $ActivityActionsTable extends ActivityActions
'activity_id', aliasedName, false,
type: DriftSqlType.int,
requiredDuringInsert: true,
defaultConstraints:
GeneratedColumn.constraintIsAlways('REFERENCES activities (id)'));
defaultConstraints: GeneratedColumn.constraintIsAlways(
'REFERENCES activities (id) ON DELETE CASCADE'));
static const VerificationMeta _actionIdMeta =
const VerificationMeta('actionId');
@override
@ -1411,8 +1453,8 @@ class $ActivityActionsTable extends ActivityActions
'action_id', aliasedName, false,
type: DriftSqlType.int,
requiredDuringInsert: true,
defaultConstraints:
GeneratedColumn.constraintIsAlways('REFERENCES actions (id)'));
defaultConstraints: GeneratedColumn.constraintIsAlways(
'REFERENCES actions (id) ON DELETE CASCADE'));
static const VerificationMeta _positionMeta =
const VerificationMeta('position');
@override
@ -2070,8 +2112,8 @@ class $ObjectMediaItemsTable extends ObjectMediaItems
'media_id', aliasedName, false,
type: DriftSqlType.int,
requiredDuringInsert: true,
defaultConstraints:
GeneratedColumn.constraintIsAlways('REFERENCES media_items (id)'));
defaultConstraints: GeneratedColumn.constraintIsAlways(
'REFERENCES media_items (id) ON DELETE CASCADE'));
static const VerificationMeta _createdAtMeta =
const VerificationMeta('createdAt');
@override
@ -2377,6 +2419,46 @@ abstract class _$AppDatabase extends GeneratedDatabase {
mediaItems,
objectMediaItems
];
@override
StreamQueryUpdateRules get streamUpdateRules => const StreamQueryUpdateRules(
[
WritePropagation(
on: TableUpdateQuery.onTableName('sessions',
limitUpdateKind: UpdateKind.delete),
result: [
TableUpdate('session_activities', kind: UpdateKind.delete),
],
),
WritePropagation(
on: TableUpdateQuery.onTableName('activities',
limitUpdateKind: UpdateKind.delete),
result: [
TableUpdate('session_activities', kind: UpdateKind.delete),
],
),
WritePropagation(
on: TableUpdateQuery.onTableName('activities',
limitUpdateKind: UpdateKind.delete),
result: [
TableUpdate('activity_actions', kind: UpdateKind.delete),
],
),
WritePropagation(
on: TableUpdateQuery.onTableName('actions',
limitUpdateKind: UpdateKind.delete),
result: [
TableUpdate('activity_actions', kind: UpdateKind.delete),
],
),
WritePropagation(
on: TableUpdateQuery.onTableName('media_items',
limitUpdateKind: UpdateKind.delete),
result: [
TableUpdate('object_media_items', kind: UpdateKind.delete),
],
),
],
);
}
typedef $$SessionsTableCreateCompanionBuilder = SessionsCompanion Function({
@ -2384,6 +2466,7 @@ typedef $$SessionsTableCreateCompanionBuilder = SessionsCompanion Function({
required String title,
required String content,
required SessionStatus status,
Value<String?> address,
Value<DateTime?> date,
Value<DateTime> createdAt,
});
@ -2392,6 +2475,7 @@ typedef $$SessionsTableUpdateCompanionBuilder = SessionsCompanion Function({
Value<String> title,
Value<String> content,
Value<SessionStatus> status,
Value<String?> address,
Value<DateTime?> date,
Value<DateTime> createdAt,
});
@ -2441,6 +2525,9 @@ class $$SessionsTableFilterComposer
column: $table.status,
builder: (column) => ColumnWithTypeConverterFilters(column));
ColumnFilters<String> get address => $composableBuilder(
column: $table.address, builder: (column) => ColumnFilters(column));
ColumnFilters<DateTime> get date => $composableBuilder(
column: $table.date, builder: (column) => ColumnFilters(column));
@ -2490,6 +2577,9 @@ class $$SessionsTableOrderingComposer
ColumnOrderings<String> get status => $composableBuilder(
column: $table.status, builder: (column) => ColumnOrderings(column));
ColumnOrderings<String> get address => $composableBuilder(
column: $table.address, builder: (column) => ColumnOrderings(column));
ColumnOrderings<DateTime> get date => $composableBuilder(
column: $table.date, builder: (column) => ColumnOrderings(column));
@ -2518,6 +2608,9 @@ class $$SessionsTableAnnotationComposer
GeneratedColumnWithTypeConverter<SessionStatus, String> get status =>
$composableBuilder(column: $table.status, builder: (column) => column);
GeneratedColumn<String> get address =>
$composableBuilder(column: $table.address, builder: (column) => column);
GeneratedColumn<DateTime> get date =>
$composableBuilder(column: $table.date, builder: (column) => column);
@ -2574,6 +2667,7 @@ class $$SessionsTableTableManager extends RootTableManager<
Value<String> title = const Value.absent(),
Value<String> content = const Value.absent(),
Value<SessionStatus> status = const Value.absent(),
Value<String?> address = const Value.absent(),
Value<DateTime?> date = const Value.absent(),
Value<DateTime> createdAt = const Value.absent(),
}) =>
@ -2582,6 +2676,7 @@ class $$SessionsTableTableManager extends RootTableManager<
title: title,
content: content,
status: status,
address: address,
date: date,
createdAt: createdAt,
),
@ -2590,6 +2685,7 @@ class $$SessionsTableTableManager extends RootTableManager<
required String title,
required String content,
required SessionStatus status,
Value<String?> address = const Value.absent(),
Value<DateTime?> date = const Value.absent(),
Value<DateTime> createdAt = const Value.absent(),
}) =>
@ -2598,6 +2694,7 @@ class $$SessionsTableTableManager extends RootTableManager<
title: title,
content: content,
status: status,
address: address,
date: date,
createdAt: createdAt,
),