feat: show stacks in asset viewer (#19935)

* feat: show stacks in asset viewer

* fix: global key issue and flash on stack asset change

* feat(mobile): stack and unstack action (#19941)

* feat(mobile): stack and unstack action

* add custom model

* use stackId from ActionSource

* Update mobile/lib/providers/infrastructure/action.provider.dart

Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>

---------

Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com>

* fix: lint

* fix: bad merge

* fix: test

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
Co-authored-by: Alex <alex.tran1502@gmail.com>
Co-authored-by: Daimolean <92239625+wuzihao051119@users.noreply.github.com>
Co-authored-by: wuzihao051119 <wuzihao051119@outlook.com>
This commit is contained in:
shenlong
2025-07-18 10:01:04 +05:30
committed by GitHub
parent 546f841b2c
commit f32cd74232
41 changed files with 1568 additions and 802 deletions
@@ -12,6 +12,7 @@ final class Schema2 extends i0.VersionedSchema {
userEntity,
remoteAssetEntity,
localAssetEntity,
stackEntity,
idxLocalAssetChecksum,
uQRemoteAssetOwnerChecksum,
idxRemoteAssetChecksum,
@@ -25,7 +26,6 @@ final class Schema2 extends i0.VersionedSchema {
remoteAlbumUserEntity,
memoryEntity,
memoryAssetEntity,
stackEntity,
];
late final Shape0 userEntity = Shape0(
source: i0.VersionedTable(
@@ -73,6 +73,7 @@ final class Schema2 extends i0.VersionedSchema {
_column_18,
_column_19,
_column_20,
_column_21,
],
attachedDatabase: database,
),
@@ -94,9 +95,27 @@ final class Schema2 extends i0.VersionedSchema {
_column_11,
_column_12,
_column_0,
_column_21,
_column_14,
_column_22,
_column_14,
_column_23,
],
attachedDatabase: database,
),
alias: null);
late final Shape3 stackEntity = Shape3(
source: i0.VersionedTable(
entityName: 'stack_entity',
withoutRowId: true,
isStrict: true,
tableConstraints: [
'PRIMARY KEY(id)',
],
columns: [
_column_0,
_column_9,
_column_5,
_column_15,
_column_24,
],
attachedDatabase: database,
),
@@ -108,7 +127,7 @@ final class Schema2 extends i0.VersionedSchema {
'CREATE UNIQUE INDEX UQ_remote_asset_owner_checksum ON remote_asset_entity (checksum, owner_id)');
final i1.Index idxRemoteAssetChecksum = i1.Index('idx_remote_asset_checksum',
'CREATE INDEX idx_remote_asset_checksum ON remote_asset_entity (checksum)');
late final Shape3 userMetadataEntity = Shape3(
late final Shape4 userMetadataEntity = Shape4(
source: i0.VersionedTable(
entityName: 'user_metadata_entity',
withoutRowId: true,
@@ -117,14 +136,14 @@ final class Schema2 extends i0.VersionedSchema {
'PRIMARY KEY(user_id, "key")',
],
columns: [
_column_23,
_column_24,
_column_25,
_column_26,
_column_27,
],
attachedDatabase: database,
),
alias: null);
late final Shape4 partnerEntity = Shape4(
late final Shape5 partnerEntity = Shape5(
source: i0.VersionedTable(
entityName: 'partner_entity',
withoutRowId: true,
@@ -133,14 +152,14 @@ final class Schema2 extends i0.VersionedSchema {
'PRIMARY KEY(shared_by_id, shared_with_id)',
],
columns: [
_column_26,
_column_27,
_column_28,
_column_29,
_column_30,
],
attachedDatabase: database,
),
alias: null);
late final Shape5 localAlbumEntity = Shape5(
late final Shape6 localAlbumEntity = Shape6(
source: i0.VersionedTable(
entityName: 'local_album_entity',
withoutRowId: true,
@@ -152,14 +171,14 @@ final class Schema2 extends i0.VersionedSchema {
_column_0,
_column_1,
_column_5,
_column_29,
_column_30,
_column_31,
_column_32,
_column_33,
],
attachedDatabase: database,
),
alias: null);
late final Shape6 localAlbumAssetEntity = Shape6(
late final Shape7 localAlbumAssetEntity = Shape7(
source: i0.VersionedTable(
entityName: 'local_album_asset_entity',
withoutRowId: true,
@@ -168,13 +187,13 @@ final class Schema2 extends i0.VersionedSchema {
'PRIMARY KEY(asset_id, album_id)',
],
columns: [
_column_32,
_column_33,
_column_34,
_column_35,
],
attachedDatabase: database,
),
alias: null);
late final Shape7 remoteExifEntity = Shape7(
late final Shape8 remoteExifEntity = Shape8(
source: i0.VersionedTable(
entityName: 'remote_exif_entity',
withoutRowId: true,
@@ -183,16 +202,14 @@ final class Schema2 extends i0.VersionedSchema {
'PRIMARY KEY(asset_id)',
],
columns: [
_column_34,
_column_35,
_column_36,
_column_37,
_column_38,
_column_39,
_column_11,
_column_10,
_column_40,
_column_41,
_column_11,
_column_10,
_column_42,
_column_43,
_column_44,
@@ -205,11 +222,13 @@ final class Schema2 extends i0.VersionedSchema {
_column_51,
_column_52,
_column_53,
_column_54,
_column_55,
],
attachedDatabase: database,
),
alias: null);
late final Shape8 remoteAlbumEntity = Shape8(
late final Shape9 remoteAlbumEntity = Shape9(
source: i0.VersionedTable(
entityName: 'remote_album_entity',
withoutRowId: true,
@@ -220,18 +239,18 @@ final class Schema2 extends i0.VersionedSchema {
columns: [
_column_0,
_column_1,
_column_54,
_column_56,
_column_9,
_column_5,
_column_15,
_column_55,
_column_56,
_column_57,
_column_58,
_column_59,
],
attachedDatabase: database,
),
alias: null);
late final Shape6 remoteAlbumAssetEntity = Shape6(
late final Shape7 remoteAlbumAssetEntity = Shape7(
source: i0.VersionedTable(
entityName: 'remote_album_asset_entity',
withoutRowId: true,
@@ -240,13 +259,13 @@ final class Schema2 extends i0.VersionedSchema {
'PRIMARY KEY(asset_id, album_id)',
],
columns: [
_column_34,
_column_58,
_column_36,
_column_60,
],
attachedDatabase: database,
),
alias: null);
late final Shape9 remoteAlbumUserEntity = Shape9(
late final Shape10 remoteAlbumUserEntity = Shape10(
source: i0.VersionedTable(
entityName: 'remote_album_user_entity',
withoutRowId: true,
@@ -255,14 +274,14 @@ final class Schema2 extends i0.VersionedSchema {
'PRIMARY KEY(album_id, user_id)',
],
columns: [
_column_58,
_column_23,
_column_59,
_column_60,
_column_25,
_column_61,
],
attachedDatabase: database,
),
alias: null);
late final Shape10 memoryEntity = Shape10(
late final Shape11 memoryEntity = Shape11(
source: i0.VersionedTable(
entityName: 'memory_entity',
withoutRowId: true,
@@ -277,17 +296,17 @@ final class Schema2 extends i0.VersionedSchema {
_column_18,
_column_15,
_column_8,
_column_60,
_column_61,
_column_62,
_column_63,
_column_64,
_column_65,
_column_66,
_column_67,
],
attachedDatabase: database,
),
alias: null);
late final Shape11 memoryAssetEntity = Shape11(
late final Shape12 memoryAssetEntity = Shape12(
source: i0.VersionedTable(
entityName: 'memory_asset_entity',
withoutRowId: true,
@@ -296,26 +315,8 @@ final class Schema2 extends i0.VersionedSchema {
'PRIMARY KEY(asset_id, memory_id)',
],
columns: [
_column_34,
_column_66,
],
attachedDatabase: database,
),
alias: null);
late final Shape12 stackEntity = Shape12(
source: i0.VersionedTable(
entityName: 'stack_entity',
withoutRowId: true,
isStrict: true,
tableConstraints: [
'PRIMARY KEY(id)',
],
columns: [
_column_0,
_column_9,
_column_5,
_column_15,
_column_67,
_column_36,
_column_68,
],
attachedDatabase: database,
),
@@ -405,6 +406,8 @@ class Shape1 extends i0.VersionedTable {
columnsByName['live_photo_video_id']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<int> get visibility =>
columnsByName['visibility']! as i1.GeneratedColumn<int>;
i1.GeneratedColumn<String> get stackId =>
columnsByName['stack_id']! as i1.GeneratedColumn<String>;
}
i1.GeneratedColumn<int> _column_8(String aliasedName) =>
@@ -452,6 +455,9 @@ i1.GeneratedColumn<String> _column_19(String aliasedName) =>
i1.GeneratedColumn<int> _column_20(String aliasedName) =>
i1.GeneratedColumn<int>('visibility', aliasedName, false,
type: i1.DriftSqlType.int);
i1.GeneratedColumn<String> _column_21(String aliasedName) =>
i1.GeneratedColumn<String>('stack_id', aliasedName, true,
type: i1.DriftSqlType.string);
class Shape2 extends i0.VersionedTable {
Shape2({required super.source, required super.alias}) : super.aliased();
@@ -479,15 +485,35 @@ class Shape2 extends i0.VersionedTable {
columnsByName['orientation']! as i1.GeneratedColumn<int>;
}
i1.GeneratedColumn<String> _column_21(String aliasedName) =>
i1.GeneratedColumn<String> _column_22(String aliasedName) =>
i1.GeneratedColumn<String>('checksum', aliasedName, true,
type: i1.DriftSqlType.string);
i1.GeneratedColumn<int> _column_22(String aliasedName) =>
i1.GeneratedColumn<int> _column_23(String aliasedName) =>
i1.GeneratedColumn<int>('orientation', aliasedName, false,
type: i1.DriftSqlType.int, defaultValue: const CustomExpression('0'));
class Shape3 extends i0.VersionedTable {
Shape3({required super.source, required super.alias}) : super.aliased();
i1.GeneratedColumn<String> get id =>
columnsByName['id']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<DateTime> get createdAt =>
columnsByName['created_at']! as i1.GeneratedColumn<DateTime>;
i1.GeneratedColumn<DateTime> get updatedAt =>
columnsByName['updated_at']! as i1.GeneratedColumn<DateTime>;
i1.GeneratedColumn<String> get ownerId =>
columnsByName['owner_id']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get primaryAssetId =>
columnsByName['primary_asset_id']! as i1.GeneratedColumn<String>;
}
i1.GeneratedColumn<String> _column_24(String aliasedName) =>
i1.GeneratedColumn<String>('primary_asset_id', aliasedName, false,
type: i1.DriftSqlType.string,
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
'REFERENCES remote_asset_entity (id)'));
class Shape4 extends i0.VersionedTable {
Shape4({required super.source, required super.alias}) : super.aliased();
i1.GeneratedColumn<String> get userId =>
columnsByName['user_id']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<int> get key =>
@@ -496,20 +522,20 @@ class Shape3 extends i0.VersionedTable {
columnsByName['value']! as i1.GeneratedColumn<i2.Uint8List>;
}
i1.GeneratedColumn<String> _column_23(String aliasedName) =>
i1.GeneratedColumn<String> _column_25(String aliasedName) =>
i1.GeneratedColumn<String>('user_id', aliasedName, false,
type: i1.DriftSqlType.string,
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
'REFERENCES user_entity (id) ON DELETE CASCADE'));
i1.GeneratedColumn<int> _column_24(String aliasedName) =>
i1.GeneratedColumn<int> _column_26(String aliasedName) =>
i1.GeneratedColumn<int>('key', aliasedName, false,
type: i1.DriftSqlType.int);
i1.GeneratedColumn<i2.Uint8List> _column_25(String aliasedName) =>
i1.GeneratedColumn<i2.Uint8List> _column_27(String aliasedName) =>
i1.GeneratedColumn<i2.Uint8List>('value', aliasedName, false,
type: i1.DriftSqlType.blob);
class Shape4 extends i0.VersionedTable {
Shape4({required super.source, required super.alias}) : super.aliased();
class Shape5 extends i0.VersionedTable {
Shape5({required super.source, required super.alias}) : super.aliased();
i1.GeneratedColumn<String> get sharedById =>
columnsByName['shared_by_id']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get sharedWithId =>
@@ -518,25 +544,25 @@ class Shape4 extends i0.VersionedTable {
columnsByName['in_timeline']! as i1.GeneratedColumn<bool>;
}
i1.GeneratedColumn<String> _column_26(String aliasedName) =>
i1.GeneratedColumn<String> _column_28(String aliasedName) =>
i1.GeneratedColumn<String>('shared_by_id', aliasedName, false,
type: i1.DriftSqlType.string,
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
'REFERENCES user_entity (id) ON DELETE CASCADE'));
i1.GeneratedColumn<String> _column_27(String aliasedName) =>
i1.GeneratedColumn<String> _column_29(String aliasedName) =>
i1.GeneratedColumn<String>('shared_with_id', aliasedName, false,
type: i1.DriftSqlType.string,
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
'REFERENCES user_entity (id) ON DELETE CASCADE'));
i1.GeneratedColumn<bool> _column_28(String aliasedName) =>
i1.GeneratedColumn<bool> _column_30(String aliasedName) =>
i1.GeneratedColumn<bool>('in_timeline', aliasedName, false,
type: i1.DriftSqlType.bool,
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
'CHECK ("in_timeline" IN (0, 1))'),
defaultValue: const CustomExpression('0'));
class Shape5 extends i0.VersionedTable {
Shape5({required super.source, required super.alias}) : super.aliased();
class Shape6 extends i0.VersionedTable {
Shape6({required super.source, required super.alias}) : super.aliased();
i1.GeneratedColumn<String> get id =>
columnsByName['id']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get name =>
@@ -551,42 +577,42 @@ class Shape5 extends i0.VersionedTable {
columnsByName['marker']! as i1.GeneratedColumn<bool>;
}
i1.GeneratedColumn<int> _column_29(String aliasedName) =>
i1.GeneratedColumn<int> _column_31(String aliasedName) =>
i1.GeneratedColumn<int>('backup_selection', aliasedName, false,
type: i1.DriftSqlType.int);
i1.GeneratedColumn<bool> _column_30(String aliasedName) =>
i1.GeneratedColumn<bool> _column_32(String aliasedName) =>
i1.GeneratedColumn<bool>('is_ios_shared_album', aliasedName, false,
type: i1.DriftSqlType.bool,
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
'CHECK ("is_ios_shared_album" IN (0, 1))'),
defaultValue: const CustomExpression('0'));
i1.GeneratedColumn<bool> _column_31(String aliasedName) =>
i1.GeneratedColumn<bool> _column_33(String aliasedName) =>
i1.GeneratedColumn<bool>('marker', aliasedName, true,
type: i1.DriftSqlType.bool,
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
'CHECK ("marker" IN (0, 1))'));
class Shape6 extends i0.VersionedTable {
Shape6({required super.source, required super.alias}) : super.aliased();
class Shape7 extends i0.VersionedTable {
Shape7({required super.source, required super.alias}) : super.aliased();
i1.GeneratedColumn<String> get assetId =>
columnsByName['asset_id']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get albumId =>
columnsByName['album_id']! as i1.GeneratedColumn<String>;
}
i1.GeneratedColumn<String> _column_32(String aliasedName) =>
i1.GeneratedColumn<String> _column_34(String aliasedName) =>
i1.GeneratedColumn<String>('asset_id', aliasedName, false,
type: i1.DriftSqlType.string,
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
'REFERENCES local_asset_entity (id) ON DELETE CASCADE'));
i1.GeneratedColumn<String> _column_33(String aliasedName) =>
i1.GeneratedColumn<String> _column_35(String aliasedName) =>
i1.GeneratedColumn<String>('album_id', aliasedName, false,
type: i1.DriftSqlType.string,
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
'REFERENCES local_album_entity (id) ON DELETE CASCADE'));
class Shape7 extends i0.VersionedTable {
Shape7({required super.source, required super.alias}) : super.aliased();
class Shape8 extends i0.VersionedTable {
Shape8({required super.source, required super.alias}) : super.aliased();
i1.GeneratedColumn<String> get assetId =>
columnsByName['asset_id']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get city =>
@@ -633,71 +659,71 @@ class Shape7 extends i0.VersionedTable {
columnsByName['projection_type']! as i1.GeneratedColumn<String>;
}
i1.GeneratedColumn<String> _column_34(String aliasedName) =>
i1.GeneratedColumn<String> _column_36(String aliasedName) =>
i1.GeneratedColumn<String>('asset_id', aliasedName, false,
type: i1.DriftSqlType.string,
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
'REFERENCES remote_asset_entity (id) ON DELETE CASCADE'));
i1.GeneratedColumn<String> _column_35(String aliasedName) =>
i1.GeneratedColumn<String> _column_37(String aliasedName) =>
i1.GeneratedColumn<String>('city', aliasedName, true,
type: i1.DriftSqlType.string);
i1.GeneratedColumn<String> _column_36(String aliasedName) =>
i1.GeneratedColumn<String> _column_38(String aliasedName) =>
i1.GeneratedColumn<String>('state', aliasedName, true,
type: i1.DriftSqlType.string);
i1.GeneratedColumn<String> _column_37(String aliasedName) =>
i1.GeneratedColumn<String> _column_39(String aliasedName) =>
i1.GeneratedColumn<String>('country', aliasedName, true,
type: i1.DriftSqlType.string);
i1.GeneratedColumn<DateTime> _column_38(String aliasedName) =>
i1.GeneratedColumn<DateTime> _column_40(String aliasedName) =>
i1.GeneratedColumn<DateTime>('date_time_original', aliasedName, true,
type: i1.DriftSqlType.dateTime);
i1.GeneratedColumn<String> _column_39(String aliasedName) =>
i1.GeneratedColumn<String> _column_41(String aliasedName) =>
i1.GeneratedColumn<String>('description', aliasedName, true,
type: i1.DriftSqlType.string);
i1.GeneratedColumn<String> _column_40(String aliasedName) =>
i1.GeneratedColumn<String> _column_42(String aliasedName) =>
i1.GeneratedColumn<String>('exposure_time', aliasedName, true,
type: i1.DriftSqlType.string);
i1.GeneratedColumn<double> _column_41(String aliasedName) =>
i1.GeneratedColumn<double> _column_43(String aliasedName) =>
i1.GeneratedColumn<double>('f_number', aliasedName, true,
type: i1.DriftSqlType.double);
i1.GeneratedColumn<int> _column_42(String aliasedName) =>
i1.GeneratedColumn<int> _column_44(String aliasedName) =>
i1.GeneratedColumn<int>('file_size', aliasedName, true,
type: i1.DriftSqlType.int);
i1.GeneratedColumn<double> _column_43(String aliasedName) =>
i1.GeneratedColumn<double> _column_45(String aliasedName) =>
i1.GeneratedColumn<double>('focal_length', aliasedName, true,
type: i1.DriftSqlType.double);
i1.GeneratedColumn<double> _column_44(String aliasedName) =>
i1.GeneratedColumn<double> _column_46(String aliasedName) =>
i1.GeneratedColumn<double>('latitude', aliasedName, true,
type: i1.DriftSqlType.double);
i1.GeneratedColumn<double> _column_45(String aliasedName) =>
i1.GeneratedColumn<double> _column_47(String aliasedName) =>
i1.GeneratedColumn<double>('longitude', aliasedName, true,
type: i1.DriftSqlType.double);
i1.GeneratedColumn<int> _column_46(String aliasedName) =>
i1.GeneratedColumn<int> _column_48(String aliasedName) =>
i1.GeneratedColumn<int>('iso', aliasedName, true,
type: i1.DriftSqlType.int);
i1.GeneratedColumn<String> _column_47(String aliasedName) =>
i1.GeneratedColumn<String> _column_49(String aliasedName) =>
i1.GeneratedColumn<String>('make', aliasedName, true,
type: i1.DriftSqlType.string);
i1.GeneratedColumn<String> _column_48(String aliasedName) =>
i1.GeneratedColumn<String> _column_50(String aliasedName) =>
i1.GeneratedColumn<String>('model', aliasedName, true,
type: i1.DriftSqlType.string);
i1.GeneratedColumn<String> _column_49(String aliasedName) =>
i1.GeneratedColumn<String> _column_51(String aliasedName) =>
i1.GeneratedColumn<String>('lens', aliasedName, true,
type: i1.DriftSqlType.string);
i1.GeneratedColumn<String> _column_50(String aliasedName) =>
i1.GeneratedColumn<String> _column_52(String aliasedName) =>
i1.GeneratedColumn<String>('orientation', aliasedName, true,
type: i1.DriftSqlType.string);
i1.GeneratedColumn<String> _column_51(String aliasedName) =>
i1.GeneratedColumn<String> _column_53(String aliasedName) =>
i1.GeneratedColumn<String>('time_zone', aliasedName, true,
type: i1.DriftSqlType.string);
i1.GeneratedColumn<int> _column_52(String aliasedName) =>
i1.GeneratedColumn<int> _column_54(String aliasedName) =>
i1.GeneratedColumn<int>('rating', aliasedName, true,
type: i1.DriftSqlType.int);
i1.GeneratedColumn<String> _column_53(String aliasedName) =>
i1.GeneratedColumn<String> _column_55(String aliasedName) =>
i1.GeneratedColumn<String>('projection_type', aliasedName, true,
type: i1.DriftSqlType.string);
class Shape8 extends i0.VersionedTable {
Shape8({required super.source, required super.alias}) : super.aliased();
class Shape9 extends i0.VersionedTable {
Shape9({required super.source, required super.alias}) : super.aliased();
i1.GeneratedColumn<String> get id =>
columnsByName['id']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get name =>
@@ -718,32 +744,32 @@ class Shape8 extends i0.VersionedTable {
columnsByName['order']! as i1.GeneratedColumn<int>;
}
i1.GeneratedColumn<String> _column_54(String aliasedName) =>
i1.GeneratedColumn<String> _column_56(String aliasedName) =>
i1.GeneratedColumn<String>('description', aliasedName, false,
type: i1.DriftSqlType.string,
defaultValue: const CustomExpression('\'\''));
i1.GeneratedColumn<String> _column_55(String aliasedName) =>
i1.GeneratedColumn<String> _column_57(String aliasedName) =>
i1.GeneratedColumn<String>('thumbnail_asset_id', aliasedName, true,
type: i1.DriftSqlType.string,
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
'REFERENCES remote_asset_entity (id) ON DELETE SET NULL'));
i1.GeneratedColumn<bool> _column_56(String aliasedName) =>
i1.GeneratedColumn<bool> _column_58(String aliasedName) =>
i1.GeneratedColumn<bool>('is_activity_enabled', aliasedName, false,
type: i1.DriftSqlType.bool,
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
'CHECK ("is_activity_enabled" IN (0, 1))'),
defaultValue: const CustomExpression('1'));
i1.GeneratedColumn<int> _column_57(String aliasedName) =>
i1.GeneratedColumn<int> _column_59(String aliasedName) =>
i1.GeneratedColumn<int>('order', aliasedName, false,
type: i1.DriftSqlType.int);
i1.GeneratedColumn<String> _column_58(String aliasedName) =>
i1.GeneratedColumn<String> _column_60(String aliasedName) =>
i1.GeneratedColumn<String>('album_id', aliasedName, false,
type: i1.DriftSqlType.string,
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
'REFERENCES remote_album_entity (id) ON DELETE CASCADE'));
class Shape9 extends i0.VersionedTable {
Shape9({required super.source, required super.alias}) : super.aliased();
class Shape10 extends i0.VersionedTable {
Shape10({required super.source, required super.alias}) : super.aliased();
i1.GeneratedColumn<String> get albumId =>
columnsByName['album_id']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get userId =>
@@ -752,12 +778,12 @@ class Shape9 extends i0.VersionedTable {
columnsByName['role']! as i1.GeneratedColumn<int>;
}
i1.GeneratedColumn<int> _column_59(String aliasedName) =>
i1.GeneratedColumn<int> _column_61(String aliasedName) =>
i1.GeneratedColumn<int>('role', aliasedName, false,
type: i1.DriftSqlType.int);
class Shape10 extends i0.VersionedTable {
Shape10({required super.source, required super.alias}) : super.aliased();
class Shape11 extends i0.VersionedTable {
Shape11({required super.source, required super.alias}) : super.aliased();
i1.GeneratedColumn<String> get id =>
columnsByName['id']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<DateTime> get createdAt =>
@@ -784,61 +810,41 @@ class Shape10 extends i0.VersionedTable {
columnsByName['hide_at']! as i1.GeneratedColumn<DateTime>;
}
i1.GeneratedColumn<String> _column_60(String aliasedName) =>
i1.GeneratedColumn<String> _column_62(String aliasedName) =>
i1.GeneratedColumn<String>('data', aliasedName, false,
type: i1.DriftSqlType.string);
i1.GeneratedColumn<bool> _column_61(String aliasedName) =>
i1.GeneratedColumn<bool> _column_63(String aliasedName) =>
i1.GeneratedColumn<bool>('is_saved', aliasedName, false,
type: i1.DriftSqlType.bool,
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
'CHECK ("is_saved" IN (0, 1))'),
defaultValue: const CustomExpression('0'));
i1.GeneratedColumn<DateTime> _column_62(String aliasedName) =>
i1.GeneratedColumn<DateTime> _column_64(String aliasedName) =>
i1.GeneratedColumn<DateTime>('memory_at', aliasedName, false,
type: i1.DriftSqlType.dateTime);
i1.GeneratedColumn<DateTime> _column_63(String aliasedName) =>
i1.GeneratedColumn<DateTime> _column_65(String aliasedName) =>
i1.GeneratedColumn<DateTime>('seen_at', aliasedName, true,
type: i1.DriftSqlType.dateTime);
i1.GeneratedColumn<DateTime> _column_64(String aliasedName) =>
i1.GeneratedColumn<DateTime> _column_66(String aliasedName) =>
i1.GeneratedColumn<DateTime>('show_at', aliasedName, true,
type: i1.DriftSqlType.dateTime);
i1.GeneratedColumn<DateTime> _column_65(String aliasedName) =>
i1.GeneratedColumn<DateTime> _column_67(String aliasedName) =>
i1.GeneratedColumn<DateTime>('hide_at', aliasedName, true,
type: i1.DriftSqlType.dateTime);
class Shape11 extends i0.VersionedTable {
Shape11({required super.source, required super.alias}) : super.aliased();
class Shape12 extends i0.VersionedTable {
Shape12({required super.source, required super.alias}) : super.aliased();
i1.GeneratedColumn<String> get assetId =>
columnsByName['asset_id']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get memoryId =>
columnsByName['memory_id']! as i1.GeneratedColumn<String>;
}
i1.GeneratedColumn<String> _column_66(String aliasedName) =>
i1.GeneratedColumn<String> _column_68(String aliasedName) =>
i1.GeneratedColumn<String>('memory_id', aliasedName, false,
type: i1.DriftSqlType.string,
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
'REFERENCES memory_entity (id) ON DELETE CASCADE'));
class Shape12 extends i0.VersionedTable {
Shape12({required super.source, required super.alias}) : super.aliased();
i1.GeneratedColumn<String> get id =>
columnsByName['id']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<DateTime> get createdAt =>
columnsByName['created_at']! as i1.GeneratedColumn<DateTime>;
i1.GeneratedColumn<DateTime> get updatedAt =>
columnsByName['updated_at']! as i1.GeneratedColumn<DateTime>;
i1.GeneratedColumn<String> get ownerId =>
columnsByName['owner_id']! as i1.GeneratedColumn<String>;
i1.GeneratedColumn<String> get primaryAssetId =>
columnsByName['primary_asset_id']! as i1.GeneratedColumn<String>;
}
i1.GeneratedColumn<String> _column_67(String aliasedName) =>
i1.GeneratedColumn<String>('primary_asset_id', aliasedName, false,
type: i1.DriftSqlType.string,
defaultConstraints: i1.GeneratedColumn.constraintIsAlways(
'REFERENCES remote_asset_entity (id)'));
i0.MigrationStepWithVersion migrationSteps({
required Future<void> Function(i1.Migrator m, Schema2 schema) from1To2,
}) {