mirror of
https://github.com/immich-app/immich.git
synced 2026-04-28 20:18:48 -07:00
Compare commits
16 Commits
fix/deep-l
...
bugfix/ass
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
28b19220cb | ||
|
|
312bb91a4f | ||
|
|
c1934b904c | ||
|
|
47752d158a | ||
|
|
6267322b9c | ||
|
|
93c3cd49f3 | ||
|
|
f52825ab08 | ||
|
|
d74dc74f92 | ||
|
|
539a39ae49 | ||
|
|
f68cd424a7 | ||
|
|
20c0cc7e73 | ||
|
|
be1b9a5f67 | ||
|
|
d9011c0829 | ||
|
|
f909648bce | ||
|
|
c78b1d8ab4 | ||
|
|
94a34436a3 |
2
.github/.nvmrc
vendored
2
.github/.nvmrc
vendored
@@ -1 +1 @@
|
||||
24.14.1
|
||||
24.15.0
|
||||
|
||||
6
.github/workflows/build-mobile.yml
vendored
6
.github/workflows/build-mobile.yml
vendored
@@ -103,7 +103,7 @@ jobs:
|
||||
|
||||
- name: Restore Gradle Cache
|
||||
id: cache-gradle-restore
|
||||
uses: actions/cache/restore@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
|
||||
uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
||||
with:
|
||||
path: |
|
||||
~/.gradle/caches
|
||||
@@ -160,7 +160,7 @@ jobs:
|
||||
|
||||
- name: Save Gradle Cache
|
||||
id: cache-gradle-save
|
||||
uses: actions/cache/save@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
|
||||
uses: actions/cache/save@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
||||
if: github.ref == 'refs/heads/main'
|
||||
with:
|
||||
path: |
|
||||
@@ -210,7 +210,7 @@ jobs:
|
||||
working-directory: ./mobile
|
||||
|
||||
- name: Setup Ruby
|
||||
uses: ruby/setup-ruby@e65c17d16e57e481586a6a5a0282698790062f92 # v1.300.0
|
||||
uses: ruby/setup-ruby@7372622e62b60b3cb750dcd2b9e32c247ffec26a # v1.302.0
|
||||
with:
|
||||
ruby-version: '3.3'
|
||||
bundler-cache: true
|
||||
|
||||
2
.github/workflows/check-openapi.yml
vendored
2
.github/workflows/check-openapi.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Check for breaking API changes
|
||||
uses: oasdiff/oasdiff-action/breaking@e6faebce24cf20ac38653d0d2c7f4aa80aaafc79 # v0.0.38
|
||||
uses: oasdiff/oasdiff-action/breaking@f8cb9308b42121e793f835bd14c0b8090420430c # v0.0.39
|
||||
with:
|
||||
base: https://raw.githubusercontent.com/${{ github.repository }}/main/open-api/immich-openapi-specs.json
|
||||
revision: open-api/immich-openapi-specs.json
|
||||
|
||||
6
.github/workflows/codeql-analysis.yml
vendored
6
.github/workflows/codeql-analysis.yml
vendored
@@ -57,7 +57,7 @@ jobs:
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1
|
||||
uses: github/codeql-action/init@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
@@ -70,7 +70,7 @@ jobs:
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1
|
||||
uses: github/codeql-action/autobuild@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
||||
@@ -83,6 +83,6 @@ jobs:
|
||||
# ./location_of_script_within_repo/buildscript.sh
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@c10b8064de6f491fea524254123dbe5e09572f13 # v4.35.1
|
||||
uses: github/codeql-action/analyze@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4.35.2
|
||||
with:
|
||||
category: '/language:${{matrix.language}}'
|
||||
|
||||
2
.github/workflows/docs-deploy.yml
vendored
2
.github/workflows/docs-deploy.yml
vendored
@@ -211,7 +211,7 @@ jobs:
|
||||
run: 'mise run //deployment:tf apply'
|
||||
|
||||
- name: Comment
|
||||
uses: actions-cool/maintain-one-comment@4b2dbf086015f892dcb5e8c1106f5fccd6c1476b # v3.2.0
|
||||
uses: actions-cool/maintain-one-comment@909842216bc8e8658364c572ec52100f4c2cc50a # v3.3.0
|
||||
if: ${{ steps.parameters.outputs.event == 'pr' }}
|
||||
with:
|
||||
token: ${{ steps.token.outputs.token }}
|
||||
|
||||
2
.github/workflows/docs-destroy.yml
vendored
2
.github/workflows/docs-destroy.yml
vendored
@@ -42,7 +42,7 @@ jobs:
|
||||
run: 'mise run //deployment:tf destroy -- -refresh=false'
|
||||
|
||||
- name: Comment
|
||||
uses: actions-cool/maintain-one-comment@4b2dbf086015f892dcb5e8c1106f5fccd6c1476b # v3.2.0
|
||||
uses: actions-cool/maintain-one-comment@909842216bc8e8658364c572ec52100f4c2cc50a # v3.3.0
|
||||
with:
|
||||
token: ${{ steps.token.outputs.token }}
|
||||
number: ${{ github.event.number }}
|
||||
|
||||
2
.github/workflows/prepare-release.yml
vendored
2
.github/workflows/prepare-release.yml
vendored
@@ -142,7 +142,7 @@ jobs:
|
||||
github-token: ${{ steps.generate-token.outputs.token }}
|
||||
|
||||
- name: Create draft release
|
||||
uses: softprops/action-gh-release@153bb8e04406b158c6c84fc1615b65b24149a1fe # v2.6.1
|
||||
uses: softprops/action-gh-release@3bb12739c298aeb8a4eeaf626c5b8d85266b0e65 # v2.6.2
|
||||
with:
|
||||
draft: true
|
||||
tag_name: ${{ needs.bump_version.outputs.version }}
|
||||
|
||||
@@ -1 +1 @@
|
||||
24.14.1
|
||||
24.15.0
|
||||
|
||||
@@ -68,6 +68,6 @@
|
||||
"micromatch": "^4.0.8"
|
||||
},
|
||||
"volta": {
|
||||
"node": "24.14.1"
|
||||
"node": "24.15.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[tools]
|
||||
terragrunt = "1.0.0"
|
||||
opentofu = "1.11.5"
|
||||
terragrunt = "1.0.1"
|
||||
opentofu = "1.11.6"
|
||||
|
||||
[tasks."tg:fmt"]
|
||||
run = "terragrunt hclfmt"
|
||||
|
||||
@@ -85,7 +85,7 @@ services:
|
||||
container_name: immich_prometheus
|
||||
ports:
|
||||
- 9090:9090
|
||||
image: prom/prometheus@sha256:dda13e28bf95a5e5ca5b8ed56852006094c1c8e8871d9c9dbeed30aa6e55271f
|
||||
image: prom/prometheus@sha256:5550dc63da361dc30f6fe02ac0e4dfc736ededfef3c8d12a634db04a67824d78
|
||||
volumes:
|
||||
- ./prometheus.yml:/etc/prometheus/prometheus.yml
|
||||
- prometheus-data:/prometheus
|
||||
|
||||
@@ -1 +1 @@
|
||||
24.14.1
|
||||
24.15.0
|
||||
|
||||
@@ -18,6 +18,7 @@ For the full list, refer to the [Immich source code](https://github.com/immich-a
|
||||
| `JPEG 2000` | `.jp2` | :white_check_mark: | |
|
||||
| `JPEG` | `.jpeg` `.jpg` `.jpe` `.insp` | :white_check_mark: | |
|
||||
| `JPEG XL` | `.jxl` | :white_check_mark: | |
|
||||
| `MPO` | `.mpo` | :white_check_mark: | Multi-Picture |
|
||||
| `PNG` | `.png` | :white_check_mark: | |
|
||||
| `PSD` | `.psd` | :white_check_mark: | Adobe Photoshop |
|
||||
| `RAW` | `.raw` | :white_check_mark: | |
|
||||
|
||||
@@ -58,6 +58,6 @@
|
||||
"node": ">=20"
|
||||
},
|
||||
"volta": {
|
||||
"node": "24.14.1"
|
||||
"node": "24.15.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
24.14.1
|
||||
24.15.0
|
||||
|
||||
@@ -58,6 +58,6 @@
|
||||
"vitest": "^4.0.0"
|
||||
},
|
||||
"volta": {
|
||||
"node": "24.14.1"
|
||||
"node": "24.15.0"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -223,6 +223,7 @@ export const setupBaseMockApiRoutes = async (context: BrowserContext, adminUserI
|
||||
'.jp2',
|
||||
'.jpe',
|
||||
'.jxl',
|
||||
'.mpo',
|
||||
'.svg',
|
||||
'.tif',
|
||||
'.tiff',
|
||||
|
||||
@@ -14,11 +14,11 @@ config_roots = [
|
||||
]
|
||||
|
||||
[tools]
|
||||
node = "24.14.1"
|
||||
node = "24.15.0"
|
||||
flutter = "3.41.6"
|
||||
pnpm = "10.33.0"
|
||||
terragrunt = "1.0.0"
|
||||
opentofu = "1.11.5"
|
||||
terragrunt = "1.0.1"
|
||||
opentofu = "1.11.6"
|
||||
java = "21.0.2"
|
||||
|
||||
[tools."github:CQLabs/homebrew-dcm"]
|
||||
|
||||
2
mobile/.vscode/settings.json
vendored
2
mobile/.vscode/settings.json
vendored
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"dart.flutterSdkPath": ".fvm/versions/3.41.6",
|
||||
"dart.flutterSdkPath": ".fvm/versions/3.41.7",
|
||||
"dart.lineLength": 120,
|
||||
"[dart]": {
|
||||
"editor.rulers": [
|
||||
|
||||
@@ -216,7 +216,7 @@ data class PlatformAsset (
|
||||
val updatedAt: Long? = null,
|
||||
val width: Long? = null,
|
||||
val height: Long? = null,
|
||||
val durationInSeconds: Long,
|
||||
val durationMs: Long,
|
||||
val orientation: Long,
|
||||
val isFavorite: Boolean,
|
||||
val adjustmentTime: Long? = null,
|
||||
@@ -234,14 +234,14 @@ data class PlatformAsset (
|
||||
val updatedAt = pigeonVar_list[4] as Long?
|
||||
val width = pigeonVar_list[5] as Long?
|
||||
val height = pigeonVar_list[6] as Long?
|
||||
val durationInSeconds = pigeonVar_list[7] as Long
|
||||
val durationMs = pigeonVar_list[7] as Long
|
||||
val orientation = pigeonVar_list[8] as Long
|
||||
val isFavorite = pigeonVar_list[9] as Boolean
|
||||
val adjustmentTime = pigeonVar_list[10] as Long?
|
||||
val latitude = pigeonVar_list[11] as Double?
|
||||
val longitude = pigeonVar_list[12] as Double?
|
||||
val playbackStyle = pigeonVar_list[13] as PlatformAssetPlaybackStyle
|
||||
return PlatformAsset(id, name, type, createdAt, updatedAt, width, height, durationInSeconds, orientation, isFavorite, adjustmentTime, latitude, longitude, playbackStyle)
|
||||
return PlatformAsset(id, name, type, createdAt, updatedAt, width, height, durationMs, orientation, isFavorite, adjustmentTime, latitude, longitude, playbackStyle)
|
||||
}
|
||||
}
|
||||
fun toList(): List<Any?> {
|
||||
@@ -253,7 +253,7 @@ data class PlatformAsset (
|
||||
updatedAt,
|
||||
width,
|
||||
height,
|
||||
durationInSeconds,
|
||||
durationMs,
|
||||
orientation,
|
||||
isFavorite,
|
||||
adjustmentTime,
|
||||
@@ -270,7 +270,7 @@ data class PlatformAsset (
|
||||
return true
|
||||
}
|
||||
val other = other as PlatformAsset
|
||||
return MessagesPigeonUtils.deepEquals(this.id, other.id) && MessagesPigeonUtils.deepEquals(this.name, other.name) && MessagesPigeonUtils.deepEquals(this.type, other.type) && MessagesPigeonUtils.deepEquals(this.createdAt, other.createdAt) && MessagesPigeonUtils.deepEquals(this.updatedAt, other.updatedAt) && MessagesPigeonUtils.deepEquals(this.width, other.width) && MessagesPigeonUtils.deepEquals(this.height, other.height) && MessagesPigeonUtils.deepEquals(this.durationInSeconds, other.durationInSeconds) && MessagesPigeonUtils.deepEquals(this.orientation, other.orientation) && MessagesPigeonUtils.deepEquals(this.isFavorite, other.isFavorite) && MessagesPigeonUtils.deepEquals(this.adjustmentTime, other.adjustmentTime) && MessagesPigeonUtils.deepEquals(this.latitude, other.latitude) && MessagesPigeonUtils.deepEquals(this.longitude, other.longitude) && MessagesPigeonUtils.deepEquals(this.playbackStyle, other.playbackStyle)
|
||||
return MessagesPigeonUtils.deepEquals(this.id, other.id) && MessagesPigeonUtils.deepEquals(this.name, other.name) && MessagesPigeonUtils.deepEquals(this.type, other.type) && MessagesPigeonUtils.deepEquals(this.createdAt, other.createdAt) && MessagesPigeonUtils.deepEquals(this.updatedAt, other.updatedAt) && MessagesPigeonUtils.deepEquals(this.width, other.width) && MessagesPigeonUtils.deepEquals(this.height, other.height) && MessagesPigeonUtils.deepEquals(this.durationMs, other.durationMs) && MessagesPigeonUtils.deepEquals(this.orientation, other.orientation) && MessagesPigeonUtils.deepEquals(this.isFavorite, other.isFavorite) && MessagesPigeonUtils.deepEquals(this.adjustmentTime, other.adjustmentTime) && MessagesPigeonUtils.deepEquals(this.latitude, other.latitude) && MessagesPigeonUtils.deepEquals(this.longitude, other.longitude) && MessagesPigeonUtils.deepEquals(this.playbackStyle, other.playbackStyle)
|
||||
}
|
||||
|
||||
override fun hashCode(): Int {
|
||||
@@ -282,7 +282,7 @@ data class PlatformAsset (
|
||||
result = 31 * result + MessagesPigeonUtils.deepHash(this.updatedAt)
|
||||
result = 31 * result + MessagesPigeonUtils.deepHash(this.width)
|
||||
result = 31 * result + MessagesPigeonUtils.deepHash(this.height)
|
||||
result = 31 * result + MessagesPigeonUtils.deepHash(this.durationInSeconds)
|
||||
result = 31 * result + MessagesPigeonUtils.deepHash(this.durationMs)
|
||||
result = 31 * result + MessagesPigeonUtils.deepHash(this.orientation)
|
||||
result = 31 * result + MessagesPigeonUtils.deepHash(this.isFavorite)
|
||||
result = 31 * result + MessagesPigeonUtils.deepHash(this.adjustmentTime)
|
||||
|
||||
@@ -178,7 +178,7 @@ open class NativeSyncApiImplBase(context: Context) : ImmichPlugin() {
|
||||
val height = c.getInt(heightColumn).toLong()
|
||||
// Duration is milliseconds
|
||||
val duration = if (rawMediaType == MediaStore.Files.FileColumns.MEDIA_TYPE_IMAGE) 0L
|
||||
else c.getLong(durationColumn) / 1000
|
||||
else c.getLong(durationColumn)
|
||||
val orientation = c.getInt(orientationColumn)
|
||||
val isFavorite = if (favoriteColumn == -1) false else c.getInt(favoriteColumn) != 0
|
||||
|
||||
|
||||
3351
mobile/drift_schemas/main/drift_schema_v23.json
generated
Normal file
3351
mobile/drift_schemas/main/drift_schema_v23.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 77;
|
||||
objectVersion = 54;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
|
||||
12
mobile/ios/Runner/Sync/Messages.g.swift
generated
12
mobile/ios/Runner/Sync/Messages.g.swift
generated
@@ -192,7 +192,7 @@ struct PlatformAsset: Hashable {
|
||||
var updatedAt: Int64? = nil
|
||||
var width: Int64? = nil
|
||||
var height: Int64? = nil
|
||||
var durationInSeconds: Int64
|
||||
var durationMs: Int64
|
||||
var orientation: Int64
|
||||
var isFavorite: Bool
|
||||
var adjustmentTime: Int64? = nil
|
||||
@@ -210,7 +210,7 @@ struct PlatformAsset: Hashable {
|
||||
let updatedAt: Int64? = nilOrValue(pigeonVar_list[4])
|
||||
let width: Int64? = nilOrValue(pigeonVar_list[5])
|
||||
let height: Int64? = nilOrValue(pigeonVar_list[6])
|
||||
let durationInSeconds = pigeonVar_list[7] as! Int64
|
||||
let durationMs = pigeonVar_list[7] as! Int64
|
||||
let orientation = pigeonVar_list[8] as! Int64
|
||||
let isFavorite = pigeonVar_list[9] as! Bool
|
||||
let adjustmentTime: Int64? = nilOrValue(pigeonVar_list[10])
|
||||
@@ -226,7 +226,7 @@ struct PlatformAsset: Hashable {
|
||||
updatedAt: updatedAt,
|
||||
width: width,
|
||||
height: height,
|
||||
durationInSeconds: durationInSeconds,
|
||||
durationMs: durationMs,
|
||||
orientation: orientation,
|
||||
isFavorite: isFavorite,
|
||||
adjustmentTime: adjustmentTime,
|
||||
@@ -244,7 +244,7 @@ struct PlatformAsset: Hashable {
|
||||
updatedAt,
|
||||
width,
|
||||
height,
|
||||
durationInSeconds,
|
||||
durationMs,
|
||||
orientation,
|
||||
isFavorite,
|
||||
adjustmentTime,
|
||||
@@ -257,7 +257,7 @@ struct PlatformAsset: Hashable {
|
||||
if Swift.type(of: lhs) != Swift.type(of: rhs) {
|
||||
return false
|
||||
}
|
||||
return deepEqualsMessages(lhs.id, rhs.id) && deepEqualsMessages(lhs.name, rhs.name) && deepEqualsMessages(lhs.type, rhs.type) && deepEqualsMessages(lhs.createdAt, rhs.createdAt) && deepEqualsMessages(lhs.updatedAt, rhs.updatedAt) && deepEqualsMessages(lhs.width, rhs.width) && deepEqualsMessages(lhs.height, rhs.height) && deepEqualsMessages(lhs.durationInSeconds, rhs.durationInSeconds) && deepEqualsMessages(lhs.orientation, rhs.orientation) && deepEqualsMessages(lhs.isFavorite, rhs.isFavorite) && deepEqualsMessages(lhs.adjustmentTime, rhs.adjustmentTime) && deepEqualsMessages(lhs.latitude, rhs.latitude) && deepEqualsMessages(lhs.longitude, rhs.longitude) && deepEqualsMessages(lhs.playbackStyle, rhs.playbackStyle)
|
||||
return deepEqualsMessages(lhs.id, rhs.id) && deepEqualsMessages(lhs.name, rhs.name) && deepEqualsMessages(lhs.type, rhs.type) && deepEqualsMessages(lhs.createdAt, rhs.createdAt) && deepEqualsMessages(lhs.updatedAt, rhs.updatedAt) && deepEqualsMessages(lhs.width, rhs.width) && deepEqualsMessages(lhs.height, rhs.height) && deepEqualsMessages(lhs.durationMs, rhs.durationMs) && deepEqualsMessages(lhs.orientation, rhs.orientation) && deepEqualsMessages(lhs.isFavorite, rhs.isFavorite) && deepEqualsMessages(lhs.adjustmentTime, rhs.adjustmentTime) && deepEqualsMessages(lhs.latitude, rhs.latitude) && deepEqualsMessages(lhs.longitude, rhs.longitude) && deepEqualsMessages(lhs.playbackStyle, rhs.playbackStyle)
|
||||
}
|
||||
|
||||
func hash(into hasher: inout Hasher) {
|
||||
@@ -269,7 +269,7 @@ struct PlatformAsset: Hashable {
|
||||
deepHashMessages(value: updatedAt, hasher: &hasher)
|
||||
deepHashMessages(value: width, hasher: &hasher)
|
||||
deepHashMessages(value: height, hasher: &hasher)
|
||||
deepHashMessages(value: durationInSeconds, hasher: &hasher)
|
||||
deepHashMessages(value: durationMs, hasher: &hasher)
|
||||
deepHashMessages(value: orientation, hasher: &hasher)
|
||||
deepHashMessages(value: isFavorite, hasher: &hasher)
|
||||
deepHashMessages(value: adjustmentTime, hasher: &hasher)
|
||||
|
||||
@@ -171,7 +171,7 @@ class NativeSyncApiImpl: ImmichPlugin, NativeSyncApi, FlutterPlugin {
|
||||
id: asset.localIdentifier,
|
||||
name: "",
|
||||
type: 0,
|
||||
durationInSeconds: 0,
|
||||
durationMs: 0,
|
||||
orientation: 0,
|
||||
isFavorite: false,
|
||||
playbackStyle: .unknown
|
||||
|
||||
@@ -21,7 +21,7 @@ extension PHAsset {
|
||||
updatedAt: modificationDate.map { Int64($0.timeIntervalSince1970) },
|
||||
width: Int64(pixelWidth),
|
||||
height: Int64(pixelHeight),
|
||||
durationInSeconds: Int64(duration),
|
||||
durationMs: Int64(duration * 1000),
|
||||
orientation: 0,
|
||||
isFavorite: isFavorite,
|
||||
adjustmentTime: adjustmentTimestamp,
|
||||
|
||||
@@ -25,7 +25,7 @@ sealed class BaseAsset {
|
||||
final DateTime updatedAt;
|
||||
final int? width;
|
||||
final int? height;
|
||||
final int? durationInSeconds;
|
||||
final int? durationMs;
|
||||
final bool isFavorite;
|
||||
final String? livePhotoVideoId;
|
||||
final bool isEdited;
|
||||
@@ -38,7 +38,7 @@ sealed class BaseAsset {
|
||||
required this.updatedAt,
|
||||
this.width,
|
||||
this.height,
|
||||
this.durationInSeconds,
|
||||
this.durationMs,
|
||||
this.isFavorite = false,
|
||||
this.livePhotoVideoId,
|
||||
required this.isEdited,
|
||||
@@ -53,15 +53,17 @@ sealed class BaseAsset {
|
||||
AssetPlaybackStyle get playbackStyle {
|
||||
if (isVideo) return AssetPlaybackStyle.video;
|
||||
if (isMotionPhoto) return AssetPlaybackStyle.livePhoto;
|
||||
if (isImage && durationInSeconds != null && durationInSeconds! > 0) return AssetPlaybackStyle.imageAnimated;
|
||||
if (isImage && durationMs != null && durationMs! > 0) {
|
||||
return AssetPlaybackStyle.imageAnimated;
|
||||
}
|
||||
if (isImage) return AssetPlaybackStyle.image;
|
||||
return AssetPlaybackStyle.unknown;
|
||||
}
|
||||
|
||||
Duration get duration {
|
||||
final durationInSeconds = this.durationInSeconds;
|
||||
if (durationInSeconds != null) {
|
||||
return Duration(seconds: durationInSeconds);
|
||||
final durationMs = this.durationMs;
|
||||
if (durationMs != null) {
|
||||
return Duration(milliseconds: durationMs);
|
||||
}
|
||||
return const Duration();
|
||||
}
|
||||
@@ -88,7 +90,7 @@ sealed class BaseAsset {
|
||||
updatedAt: $updatedAt,
|
||||
width: ${width ?? "<NA>"},
|
||||
height: ${height ?? "<NA>"},
|
||||
durationInSeconds: ${durationInSeconds ?? "<NA>"},
|
||||
durationMs: ${durationMs ?? "<NA>"},
|
||||
isFavorite: $isFavorite,
|
||||
isEdited: $isEdited,
|
||||
}''';
|
||||
@@ -104,7 +106,7 @@ sealed class BaseAsset {
|
||||
updatedAt == other.updatedAt &&
|
||||
width == other.width &&
|
||||
height == other.height &&
|
||||
durationInSeconds == other.durationInSeconds &&
|
||||
durationMs == other.durationMs &&
|
||||
isFavorite == other.isFavorite &&
|
||||
isEdited == other.isEdited;
|
||||
}
|
||||
@@ -119,7 +121,7 @@ sealed class BaseAsset {
|
||||
updatedAt.hashCode ^
|
||||
width.hashCode ^
|
||||
height.hashCode ^
|
||||
durationInSeconds.hashCode ^
|
||||
durationMs.hashCode ^
|
||||
isFavorite.hashCode ^
|
||||
isEdited.hashCode;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ class LocalAsset extends BaseAsset {
|
||||
required super.updatedAt,
|
||||
super.width,
|
||||
super.height,
|
||||
super.durationInSeconds,
|
||||
super.durationMs,
|
||||
super.isFavorite = false,
|
||||
super.livePhotoVideoId,
|
||||
this.orientation = 0,
|
||||
@@ -58,7 +58,7 @@ class LocalAsset extends BaseAsset {
|
||||
updatedAt: $updatedAt,
|
||||
width: ${width ?? "<NA>"},
|
||||
height: ${height ?? "<NA>"},
|
||||
durationInSeconds: ${durationInSeconds ?? "<NA>"},
|
||||
durationMs: ${durationMs ?? "<NA>"},
|
||||
playbackStyle: $playbackStyle,
|
||||
remoteId: ${remoteId ?? "<NA>"},
|
||||
cloudId: ${cloudId ?? "<NA>"},
|
||||
@@ -108,7 +108,7 @@ class LocalAsset extends BaseAsset {
|
||||
DateTime? updatedAt,
|
||||
int? width,
|
||||
int? height,
|
||||
int? durationInSeconds,
|
||||
int? durationMs,
|
||||
bool? isFavorite,
|
||||
int? orientation,
|
||||
AssetPlaybackStyle? playbackStyle,
|
||||
@@ -128,7 +128,7 @@ class LocalAsset extends BaseAsset {
|
||||
updatedAt: updatedAt ?? this.updatedAt,
|
||||
width: width ?? this.width,
|
||||
height: height ?? this.height,
|
||||
durationInSeconds: durationInSeconds ?? this.durationInSeconds,
|
||||
durationMs: durationMs ?? this.durationMs,
|
||||
isFavorite: isFavorite ?? this.isFavorite,
|
||||
orientation: orientation ?? this.orientation,
|
||||
playbackStyle: playbackStyle ?? this.playbackStyle,
|
||||
|
||||
@@ -22,7 +22,7 @@ class RemoteAsset extends BaseAsset {
|
||||
required super.updatedAt,
|
||||
super.width,
|
||||
super.height,
|
||||
super.durationInSeconds,
|
||||
super.durationMs,
|
||||
super.isFavorite = false,
|
||||
this.thumbHash,
|
||||
this.visibility = AssetVisibility.timeline,
|
||||
@@ -57,7 +57,7 @@ class RemoteAsset extends BaseAsset {
|
||||
updatedAt: $updatedAt,
|
||||
width: ${width ?? "<NA>"},
|
||||
height: ${height ?? "<NA>"},
|
||||
durationInSeconds: ${durationInSeconds ?? "<NA>"},
|
||||
durationMs: ${durationMs ?? "<NA>"},
|
||||
localId: ${localId ?? "<NA>"},
|
||||
isFavorite: $isFavorite,
|
||||
thumbHash: ${thumbHash ?? "<NA>"},
|
||||
@@ -102,7 +102,7 @@ class RemoteAsset extends BaseAsset {
|
||||
DateTime? updatedAt,
|
||||
int? width,
|
||||
int? height,
|
||||
int? durationInSeconds,
|
||||
int? durationMs,
|
||||
bool? isFavorite,
|
||||
String? thumbHash,
|
||||
AssetVisibility? visibility,
|
||||
@@ -121,7 +121,7 @@ class RemoteAsset extends BaseAsset {
|
||||
updatedAt: updatedAt ?? this.updatedAt,
|
||||
width: width ?? this.width,
|
||||
height: height ?? this.height,
|
||||
durationInSeconds: durationInSeconds ?? this.durationInSeconds,
|
||||
durationMs: durationMs ?? this.durationMs,
|
||||
isFavorite: isFavorite ?? this.isFavorite,
|
||||
thumbHash: thumbHash ?? this.thumbHash,
|
||||
visibility: visibility ?? this.visibility,
|
||||
@@ -146,7 +146,7 @@ class RemoteAssetExif extends RemoteAsset {
|
||||
required super.updatedAt,
|
||||
super.width,
|
||||
super.height,
|
||||
super.durationInSeconds,
|
||||
super.durationMs,
|
||||
super.isFavorite = false,
|
||||
super.thumbHash,
|
||||
super.visibility = AssetVisibility.timeline,
|
||||
@@ -178,7 +178,7 @@ class RemoteAssetExif extends RemoteAsset {
|
||||
DateTime? updatedAt,
|
||||
int? width,
|
||||
int? height,
|
||||
int? durationInSeconds,
|
||||
int? durationMs,
|
||||
bool? isFavorite,
|
||||
String? thumbHash,
|
||||
AssetVisibility? visibility,
|
||||
@@ -198,7 +198,7 @@ class RemoteAssetExif extends RemoteAsset {
|
||||
updatedAt: updatedAt ?? this.updatedAt,
|
||||
width: width ?? this.width,
|
||||
height: height ?? this.height,
|
||||
durationInSeconds: durationInSeconds ?? this.durationInSeconds,
|
||||
durationMs: durationMs ?? this.durationMs,
|
||||
isFavorite: isFavorite ?? this.isFavorite,
|
||||
thumbHash: thumbHash ?? this.thumbHash,
|
||||
visibility: visibility ?? this.visibility,
|
||||
|
||||
@@ -337,7 +337,7 @@ class LocalSyncService {
|
||||
a.createdAt.isAtSameMomentAs(b.createdAt) &&
|
||||
a.width == b.width &&
|
||||
a.height == b.height &&
|
||||
a.durationInSeconds == b.durationInSeconds;
|
||||
a.durationMs == b.durationMs;
|
||||
}
|
||||
|
||||
final firstAdjustment = a.adjustmentTime?.millisecondsSinceEpoch ?? 0;
|
||||
@@ -346,7 +346,7 @@ class LocalSyncService {
|
||||
a.createdAt.isAtSameMomentAs(b.createdAt) &&
|
||||
a.width == b.width &&
|
||||
a.height == b.height &&
|
||||
a.durationInSeconds == b.durationInSeconds &&
|
||||
a.durationMs == b.durationMs &&
|
||||
a.latitude == b.latitude &&
|
||||
a.longitude == b.longitude;
|
||||
}
|
||||
@@ -432,7 +432,7 @@ extension PlatformToLocalAsset on PlatformAsset {
|
||||
updatedAt: tryFromSecondsSinceEpoch(updatedAt, isUtc: true) ?? DateTime.timestamp(),
|
||||
width: width,
|
||||
height: height,
|
||||
durationInSeconds: durationInSeconds,
|
||||
durationMs: durationMs,
|
||||
isFavorite: isFavorite,
|
||||
orientation: orientation,
|
||||
playbackStyle: _toPlaybackStyle(playbackStyle),
|
||||
|
||||
@@ -14,7 +14,7 @@ extension DTOToAsset on api.AssetResponseDto {
|
||||
updatedAt: updatedAt,
|
||||
ownerId: ownerId,
|
||||
visibility: visibility.toAssetVisibility(),
|
||||
durationInSeconds: duration?.toDuration()?.inSeconds ?? 0,
|
||||
durationMs: duration?.toDuration()?.inMilliseconds ?? 0,
|
||||
height: height?.toInt(),
|
||||
width: width?.toInt(),
|
||||
isFavorite: isFavorite,
|
||||
@@ -36,7 +36,7 @@ extension DTOToAsset on api.AssetResponseDto {
|
||||
updatedAt: updatedAt,
|
||||
ownerId: ownerId,
|
||||
visibility: visibility.toAssetVisibility(),
|
||||
durationInSeconds: duration?.toDuration()?.inSeconds ?? 0,
|
||||
durationMs: duration?.toDuration()?.inMilliseconds ?? 0,
|
||||
height: height?.toInt(),
|
||||
width: width?.toInt(),
|
||||
isFavorite: isFavorite,
|
||||
|
||||
@@ -7,11 +7,16 @@ extension StringExtension on String {
|
||||
}
|
||||
|
||||
extension DurationExtension on String {
|
||||
/// Parses and returns the string of format HH:MM:SS as a duration object else null
|
||||
/// Parses and returns the string of format HH:MM:SS.ffffff as a duration object else null
|
||||
Duration? toDuration() {
|
||||
try {
|
||||
final parts = split(':').map((e) => double.parse(e).toInt()).toList(growable: false);
|
||||
return Duration(hours: parts[0], minutes: parts[1], seconds: parts[2]);
|
||||
final parts = split(':');
|
||||
final hours = double.parse(parts[0]).toInt();
|
||||
final minutes = double.parse(parts[1]).toInt();
|
||||
final secondsParts = parts[2].split('.');
|
||||
final seconds = int.parse(secondsParts[0]);
|
||||
final milliseconds = secondsParts.length > 1 ? (double.parse('0.${secondsParts[1]}') * 1000).round() : 0;
|
||||
return Duration(hours: hours, minutes: minutes, seconds: seconds, milliseconds: milliseconds);
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ extension LocalAssetEntityDataDomainExtension on LocalAssetEntityData {
|
||||
type: type,
|
||||
createdAt: createdAt,
|
||||
updatedAt: updatedAt,
|
||||
durationInSeconds: durationInSeconds,
|
||||
durationMs: durationMs,
|
||||
isFavorite: isFavorite,
|
||||
height: height,
|
||||
width: width,
|
||||
|
||||
@@ -16,7 +16,7 @@ typedef $$LocalAssetEntityTableCreateCompanionBuilder =
|
||||
i0.Value<DateTime> updatedAt,
|
||||
i0.Value<int?> width,
|
||||
i0.Value<int?> height,
|
||||
i0.Value<int?> durationInSeconds,
|
||||
i0.Value<int?> durationMs,
|
||||
required String id,
|
||||
i0.Value<String?> checksum,
|
||||
i0.Value<bool> isFavorite,
|
||||
@@ -35,7 +35,7 @@ typedef $$LocalAssetEntityTableUpdateCompanionBuilder =
|
||||
i0.Value<DateTime> updatedAt,
|
||||
i0.Value<int?> width,
|
||||
i0.Value<int?> height,
|
||||
i0.Value<int?> durationInSeconds,
|
||||
i0.Value<int?> durationMs,
|
||||
i0.Value<String> id,
|
||||
i0.Value<String?> checksum,
|
||||
i0.Value<bool> isFavorite,
|
||||
@@ -87,8 +87,8 @@ class $$LocalAssetEntityTableFilterComposer
|
||||
builder: (column) => i0.ColumnFilters(column),
|
||||
);
|
||||
|
||||
i0.ColumnFilters<int> get durationInSeconds => $composableBuilder(
|
||||
column: $table.durationInSeconds,
|
||||
i0.ColumnFilters<int> get durationMs => $composableBuilder(
|
||||
column: $table.durationMs,
|
||||
builder: (column) => i0.ColumnFilters(column),
|
||||
);
|
||||
|
||||
@@ -182,8 +182,8 @@ class $$LocalAssetEntityTableOrderingComposer
|
||||
builder: (column) => i0.ColumnOrderings(column),
|
||||
);
|
||||
|
||||
i0.ColumnOrderings<int> get durationInSeconds => $composableBuilder(
|
||||
column: $table.durationInSeconds,
|
||||
i0.ColumnOrderings<int> get durationMs => $composableBuilder(
|
||||
column: $table.durationMs,
|
||||
builder: (column) => i0.ColumnOrderings(column),
|
||||
);
|
||||
|
||||
@@ -260,8 +260,8 @@ class $$LocalAssetEntityTableAnnotationComposer
|
||||
i0.GeneratedColumn<int> get height =>
|
||||
$composableBuilder(column: $table.height, builder: (column) => column);
|
||||
|
||||
i0.GeneratedColumn<int> get durationInSeconds => $composableBuilder(
|
||||
column: $table.durationInSeconds,
|
||||
i0.GeneratedColumn<int> get durationMs => $composableBuilder(
|
||||
column: $table.durationMs,
|
||||
builder: (column) => column,
|
||||
);
|
||||
|
||||
@@ -348,7 +348,7 @@ class $$LocalAssetEntityTableTableManager
|
||||
i0.Value<DateTime> updatedAt = const i0.Value.absent(),
|
||||
i0.Value<int?> width = const i0.Value.absent(),
|
||||
i0.Value<int?> height = const i0.Value.absent(),
|
||||
i0.Value<int?> durationInSeconds = const i0.Value.absent(),
|
||||
i0.Value<int?> durationMs = const i0.Value.absent(),
|
||||
i0.Value<String> id = const i0.Value.absent(),
|
||||
i0.Value<String?> checksum = const i0.Value.absent(),
|
||||
i0.Value<bool> isFavorite = const i0.Value.absent(),
|
||||
@@ -366,7 +366,7 @@ class $$LocalAssetEntityTableTableManager
|
||||
updatedAt: updatedAt,
|
||||
width: width,
|
||||
height: height,
|
||||
durationInSeconds: durationInSeconds,
|
||||
durationMs: durationMs,
|
||||
id: id,
|
||||
checksum: checksum,
|
||||
isFavorite: isFavorite,
|
||||
@@ -385,7 +385,7 @@ class $$LocalAssetEntityTableTableManager
|
||||
i0.Value<DateTime> updatedAt = const i0.Value.absent(),
|
||||
i0.Value<int?> width = const i0.Value.absent(),
|
||||
i0.Value<int?> height = const i0.Value.absent(),
|
||||
i0.Value<int?> durationInSeconds = const i0.Value.absent(),
|
||||
i0.Value<int?> durationMs = const i0.Value.absent(),
|
||||
required String id,
|
||||
i0.Value<String?> checksum = const i0.Value.absent(),
|
||||
i0.Value<bool> isFavorite = const i0.Value.absent(),
|
||||
@@ -403,7 +403,7 @@ class $$LocalAssetEntityTableTableManager
|
||||
updatedAt: updatedAt,
|
||||
width: width,
|
||||
height: height,
|
||||
durationInSeconds: durationInSeconds,
|
||||
durationMs: durationMs,
|
||||
id: id,
|
||||
checksum: checksum,
|
||||
isFavorite: isFavorite,
|
||||
@@ -522,17 +522,17 @@ class $LocalAssetEntityTable extends i3.LocalAssetEntity
|
||||
type: i0.DriftSqlType.int,
|
||||
requiredDuringInsert: false,
|
||||
);
|
||||
static const i0.VerificationMeta _durationInSecondsMeta =
|
||||
const i0.VerificationMeta('durationInSeconds');
|
||||
static const i0.VerificationMeta _durationMsMeta = const i0.VerificationMeta(
|
||||
'durationMs',
|
||||
);
|
||||
@override
|
||||
late final i0.GeneratedColumn<int> durationInSeconds =
|
||||
i0.GeneratedColumn<int>(
|
||||
'duration_in_seconds',
|
||||
aliasedName,
|
||||
true,
|
||||
type: i0.DriftSqlType.int,
|
||||
requiredDuringInsert: false,
|
||||
);
|
||||
late final i0.GeneratedColumn<int> durationMs = i0.GeneratedColumn<int>(
|
||||
'duration_ms',
|
||||
aliasedName,
|
||||
true,
|
||||
type: i0.DriftSqlType.int,
|
||||
requiredDuringInsert: false,
|
||||
);
|
||||
static const i0.VerificationMeta _idMeta = const i0.VerificationMeta('id');
|
||||
@override
|
||||
late final i0.GeneratedColumn<String> id = i0.GeneratedColumn<String>(
|
||||
@@ -645,7 +645,7 @@ class $LocalAssetEntityTable extends i3.LocalAssetEntity
|
||||
updatedAt,
|
||||
width,
|
||||
height,
|
||||
durationInSeconds,
|
||||
durationMs,
|
||||
id,
|
||||
checksum,
|
||||
isFavorite,
|
||||
@@ -700,13 +700,10 @@ class $LocalAssetEntityTable extends i3.LocalAssetEntity
|
||||
height.isAcceptableOrUnknown(data['height']!, _heightMeta),
|
||||
);
|
||||
}
|
||||
if (data.containsKey('duration_in_seconds')) {
|
||||
if (data.containsKey('duration_ms')) {
|
||||
context.handle(
|
||||
_durationInSecondsMeta,
|
||||
durationInSeconds.isAcceptableOrUnknown(
|
||||
data['duration_in_seconds']!,
|
||||
_durationInSecondsMeta,
|
||||
),
|
||||
_durationMsMeta,
|
||||
durationMs.isAcceptableOrUnknown(data['duration_ms']!, _durationMsMeta),
|
||||
);
|
||||
}
|
||||
if (data.containsKey('id')) {
|
||||
@@ -800,9 +797,9 @@ class $LocalAssetEntityTable extends i3.LocalAssetEntity
|
||||
i0.DriftSqlType.int,
|
||||
data['${effectivePrefix}height'],
|
||||
),
|
||||
durationInSeconds: attachedDatabase.typeMapping.read(
|
||||
durationMs: attachedDatabase.typeMapping.read(
|
||||
i0.DriftSqlType.int,
|
||||
data['${effectivePrefix}duration_in_seconds'],
|
||||
data['${effectivePrefix}duration_ms'],
|
||||
),
|
||||
id: attachedDatabase.typeMapping.read(
|
||||
i0.DriftSqlType.string,
|
||||
@@ -870,7 +867,7 @@ class LocalAssetEntityData extends i0.DataClass
|
||||
final DateTime updatedAt;
|
||||
final int? width;
|
||||
final int? height;
|
||||
final int? durationInSeconds;
|
||||
final int? durationMs;
|
||||
final String id;
|
||||
final String? checksum;
|
||||
final bool isFavorite;
|
||||
@@ -887,7 +884,7 @@ class LocalAssetEntityData extends i0.DataClass
|
||||
required this.updatedAt,
|
||||
this.width,
|
||||
this.height,
|
||||
this.durationInSeconds,
|
||||
this.durationMs,
|
||||
required this.id,
|
||||
this.checksum,
|
||||
required this.isFavorite,
|
||||
@@ -915,8 +912,8 @@ class LocalAssetEntityData extends i0.DataClass
|
||||
if (!nullToAbsent || height != null) {
|
||||
map['height'] = i0.Variable<int>(height);
|
||||
}
|
||||
if (!nullToAbsent || durationInSeconds != null) {
|
||||
map['duration_in_seconds'] = i0.Variable<int>(durationInSeconds);
|
||||
if (!nullToAbsent || durationMs != null) {
|
||||
map['duration_ms'] = i0.Variable<int>(durationMs);
|
||||
}
|
||||
map['id'] = i0.Variable<String>(id);
|
||||
if (!nullToAbsent || checksum != null) {
|
||||
@@ -958,7 +955,7 @@ class LocalAssetEntityData extends i0.DataClass
|
||||
updatedAt: serializer.fromJson<DateTime>(json['updatedAt']),
|
||||
width: serializer.fromJson<int?>(json['width']),
|
||||
height: serializer.fromJson<int?>(json['height']),
|
||||
durationInSeconds: serializer.fromJson<int?>(json['durationInSeconds']),
|
||||
durationMs: serializer.fromJson<int?>(json['durationMs']),
|
||||
id: serializer.fromJson<String>(json['id']),
|
||||
checksum: serializer.fromJson<String?>(json['checksum']),
|
||||
isFavorite: serializer.fromJson<bool>(json['isFavorite']),
|
||||
@@ -984,7 +981,7 @@ class LocalAssetEntityData extends i0.DataClass
|
||||
'updatedAt': serializer.toJson<DateTime>(updatedAt),
|
||||
'width': serializer.toJson<int?>(width),
|
||||
'height': serializer.toJson<int?>(height),
|
||||
'durationInSeconds': serializer.toJson<int?>(durationInSeconds),
|
||||
'durationMs': serializer.toJson<int?>(durationMs),
|
||||
'id': serializer.toJson<String>(id),
|
||||
'checksum': serializer.toJson<String?>(checksum),
|
||||
'isFavorite': serializer.toJson<bool>(isFavorite),
|
||||
@@ -1006,7 +1003,7 @@ class LocalAssetEntityData extends i0.DataClass
|
||||
DateTime? updatedAt,
|
||||
i0.Value<int?> width = const i0.Value.absent(),
|
||||
i0.Value<int?> height = const i0.Value.absent(),
|
||||
i0.Value<int?> durationInSeconds = const i0.Value.absent(),
|
||||
i0.Value<int?> durationMs = const i0.Value.absent(),
|
||||
String? id,
|
||||
i0.Value<String?> checksum = const i0.Value.absent(),
|
||||
bool? isFavorite,
|
||||
@@ -1023,9 +1020,7 @@ class LocalAssetEntityData extends i0.DataClass
|
||||
updatedAt: updatedAt ?? this.updatedAt,
|
||||
width: width.present ? width.value : this.width,
|
||||
height: height.present ? height.value : this.height,
|
||||
durationInSeconds: durationInSeconds.present
|
||||
? durationInSeconds.value
|
||||
: this.durationInSeconds,
|
||||
durationMs: durationMs.present ? durationMs.value : this.durationMs,
|
||||
id: id ?? this.id,
|
||||
checksum: checksum.present ? checksum.value : this.checksum,
|
||||
isFavorite: isFavorite ?? this.isFavorite,
|
||||
@@ -1046,9 +1041,9 @@ class LocalAssetEntityData extends i0.DataClass
|
||||
updatedAt: data.updatedAt.present ? data.updatedAt.value : this.updatedAt,
|
||||
width: data.width.present ? data.width.value : this.width,
|
||||
height: data.height.present ? data.height.value : this.height,
|
||||
durationInSeconds: data.durationInSeconds.present
|
||||
? data.durationInSeconds.value
|
||||
: this.durationInSeconds,
|
||||
durationMs: data.durationMs.present
|
||||
? data.durationMs.value
|
||||
: this.durationMs,
|
||||
id: data.id.present ? data.id.value : this.id,
|
||||
checksum: data.checksum.present ? data.checksum.value : this.checksum,
|
||||
isFavorite: data.isFavorite.present
|
||||
@@ -1078,7 +1073,7 @@ class LocalAssetEntityData extends i0.DataClass
|
||||
..write('updatedAt: $updatedAt, ')
|
||||
..write('width: $width, ')
|
||||
..write('height: $height, ')
|
||||
..write('durationInSeconds: $durationInSeconds, ')
|
||||
..write('durationMs: $durationMs, ')
|
||||
..write('id: $id, ')
|
||||
..write('checksum: $checksum, ')
|
||||
..write('isFavorite: $isFavorite, ')
|
||||
@@ -1100,7 +1095,7 @@ class LocalAssetEntityData extends i0.DataClass
|
||||
updatedAt,
|
||||
width,
|
||||
height,
|
||||
durationInSeconds,
|
||||
durationMs,
|
||||
id,
|
||||
checksum,
|
||||
isFavorite,
|
||||
@@ -1121,7 +1116,7 @@ class LocalAssetEntityData extends i0.DataClass
|
||||
other.updatedAt == this.updatedAt &&
|
||||
other.width == this.width &&
|
||||
other.height == this.height &&
|
||||
other.durationInSeconds == this.durationInSeconds &&
|
||||
other.durationMs == this.durationMs &&
|
||||
other.id == this.id &&
|
||||
other.checksum == this.checksum &&
|
||||
other.isFavorite == this.isFavorite &&
|
||||
@@ -1141,7 +1136,7 @@ class LocalAssetEntityCompanion
|
||||
final i0.Value<DateTime> updatedAt;
|
||||
final i0.Value<int?> width;
|
||||
final i0.Value<int?> height;
|
||||
final i0.Value<int?> durationInSeconds;
|
||||
final i0.Value<int?> durationMs;
|
||||
final i0.Value<String> id;
|
||||
final i0.Value<String?> checksum;
|
||||
final i0.Value<bool> isFavorite;
|
||||
@@ -1158,7 +1153,7 @@ class LocalAssetEntityCompanion
|
||||
this.updatedAt = const i0.Value.absent(),
|
||||
this.width = const i0.Value.absent(),
|
||||
this.height = const i0.Value.absent(),
|
||||
this.durationInSeconds = const i0.Value.absent(),
|
||||
this.durationMs = const i0.Value.absent(),
|
||||
this.id = const i0.Value.absent(),
|
||||
this.checksum = const i0.Value.absent(),
|
||||
this.isFavorite = const i0.Value.absent(),
|
||||
@@ -1176,7 +1171,7 @@ class LocalAssetEntityCompanion
|
||||
this.updatedAt = const i0.Value.absent(),
|
||||
this.width = const i0.Value.absent(),
|
||||
this.height = const i0.Value.absent(),
|
||||
this.durationInSeconds = const i0.Value.absent(),
|
||||
this.durationMs = const i0.Value.absent(),
|
||||
required String id,
|
||||
this.checksum = const i0.Value.absent(),
|
||||
this.isFavorite = const i0.Value.absent(),
|
||||
@@ -1196,7 +1191,7 @@ class LocalAssetEntityCompanion
|
||||
i0.Expression<DateTime>? updatedAt,
|
||||
i0.Expression<int>? width,
|
||||
i0.Expression<int>? height,
|
||||
i0.Expression<int>? durationInSeconds,
|
||||
i0.Expression<int>? durationMs,
|
||||
i0.Expression<String>? id,
|
||||
i0.Expression<String>? checksum,
|
||||
i0.Expression<bool>? isFavorite,
|
||||
@@ -1214,7 +1209,7 @@ class LocalAssetEntityCompanion
|
||||
if (updatedAt != null) 'updated_at': updatedAt,
|
||||
if (width != null) 'width': width,
|
||||
if (height != null) 'height': height,
|
||||
if (durationInSeconds != null) 'duration_in_seconds': durationInSeconds,
|
||||
if (durationMs != null) 'duration_ms': durationMs,
|
||||
if (id != null) 'id': id,
|
||||
if (checksum != null) 'checksum': checksum,
|
||||
if (isFavorite != null) 'is_favorite': isFavorite,
|
||||
@@ -1234,7 +1229,7 @@ class LocalAssetEntityCompanion
|
||||
i0.Value<DateTime>? updatedAt,
|
||||
i0.Value<int?>? width,
|
||||
i0.Value<int?>? height,
|
||||
i0.Value<int?>? durationInSeconds,
|
||||
i0.Value<int?>? durationMs,
|
||||
i0.Value<String>? id,
|
||||
i0.Value<String?>? checksum,
|
||||
i0.Value<bool>? isFavorite,
|
||||
@@ -1252,7 +1247,7 @@ class LocalAssetEntityCompanion
|
||||
updatedAt: updatedAt ?? this.updatedAt,
|
||||
width: width ?? this.width,
|
||||
height: height ?? this.height,
|
||||
durationInSeconds: durationInSeconds ?? this.durationInSeconds,
|
||||
durationMs: durationMs ?? this.durationMs,
|
||||
id: id ?? this.id,
|
||||
checksum: checksum ?? this.checksum,
|
||||
isFavorite: isFavorite ?? this.isFavorite,
|
||||
@@ -1288,8 +1283,8 @@ class LocalAssetEntityCompanion
|
||||
if (height.present) {
|
||||
map['height'] = i0.Variable<int>(height.value);
|
||||
}
|
||||
if (durationInSeconds.present) {
|
||||
map['duration_in_seconds'] = i0.Variable<int>(durationInSeconds.value);
|
||||
if (durationMs.present) {
|
||||
map['duration_ms'] = i0.Variable<int>(durationMs.value);
|
||||
}
|
||||
if (id.present) {
|
||||
map['id'] = i0.Variable<String>(id.value);
|
||||
@@ -1334,7 +1329,7 @@ class LocalAssetEntityCompanion
|
||||
..write('updatedAt: $updatedAt, ')
|
||||
..write('width: $width, ')
|
||||
..write('height: $height, ')
|
||||
..write('durationInSeconds: $durationInSeconds, ')
|
||||
..write('durationMs: $durationMs, ')
|
||||
..write('id: $id, ')
|
||||
..write('checksum: $checksum, ')
|
||||
..write('isFavorite: $isFavorite, ')
|
||||
|
||||
@@ -14,7 +14,7 @@ SELECT
|
||||
rae.updated_at,
|
||||
rae.width,
|
||||
rae.height,
|
||||
rae.duration_in_seconds,
|
||||
rae.duration_ms,
|
||||
rae.is_favorite,
|
||||
rae.thumb_hash,
|
||||
rae.checksum,
|
||||
@@ -52,7 +52,7 @@ SELECT
|
||||
lae.updated_at,
|
||||
lae.width,
|
||||
lae.height,
|
||||
lae.duration_in_seconds,
|
||||
lae.duration_ms,
|
||||
lae.is_favorite,
|
||||
NULL as thumb_hash,
|
||||
lae.checksum,
|
||||
|
||||
@@ -29,7 +29,7 @@ class MergedAssetDrift extends i1.ModularAccessor {
|
||||
);
|
||||
$arrayStartIndex += generatedlimit.amountOfVariables;
|
||||
return customSelect(
|
||||
'SELECT rae.id AS remote_id, (SELECT lae.id FROM local_asset_entity AS lae WHERE lae.checksum = rae.checksum LIMIT 1) AS local_id, rae.name, rae.type, rae.created_at AS created_at, rae.updated_at, rae.width, rae.height, rae.duration_in_seconds, rae.is_favorite, rae.thumb_hash, rae.checksum, rae.owner_id, rae.live_photo_video_id, 0 AS orientation, rae.stack_id, NULL AS i_cloud_id, NULL AS latitude, NULL AS longitude, NULL AS adjustmentTime, rae.is_edited, 0 AS playback_style FROM remote_asset_entity AS rae LEFT JOIN stack_entity AS se ON rae.stack_id = se.id WHERE rae.deleted_at IS NULL AND rae.visibility = 0 AND rae.owner_id IN ($expandeduserIds) AND(rae.stack_id IS NULL OR rae.id = se.primary_asset_id)UNION ALL SELECT NULL AS remote_id, lae.id AS local_id, lae.name, lae.type, lae.created_at AS created_at, lae.updated_at, lae.width, lae.height, lae.duration_in_seconds, lae.is_favorite, NULL AS thumb_hash, lae.checksum, NULL AS owner_id, NULL AS live_photo_video_id, lae.orientation, NULL AS stack_id, lae.i_cloud_id, lae.latitude, lae.longitude, lae.adjustment_time, 0 AS is_edited, lae.playback_style FROM local_asset_entity AS lae WHERE NOT EXISTS (SELECT 1 FROM remote_asset_entity AS rae WHERE rae.checksum = lae.checksum AND rae.owner_id IN ($expandeduserIds)) AND EXISTS (SELECT 1 FROM local_album_asset_entity AS laa INNER JOIN local_album_entity AS la ON laa.album_id = la.id WHERE laa.asset_id = lae.id AND la.backup_selection = 0) AND NOT EXISTS (SELECT 1 FROM local_album_asset_entity AS laa INNER JOIN local_album_entity AS la ON laa.album_id = la.id WHERE laa.asset_id = lae.id AND la.backup_selection = 2) ORDER BY created_at DESC ${generatedlimit.sql}',
|
||||
'SELECT rae.id AS remote_id, (SELECT lae.id FROM local_asset_entity AS lae WHERE lae.checksum = rae.checksum LIMIT 1) AS local_id, rae.name, rae.type, rae.created_at AS created_at, rae.updated_at, rae.width, rae.height, rae.duration_ms, rae.is_favorite, rae.thumb_hash, rae.checksum, rae.owner_id, rae.live_photo_video_id, 0 AS orientation, rae.stack_id, NULL AS i_cloud_id, NULL AS latitude, NULL AS longitude, NULL AS adjustmentTime, rae.is_edited, 0 AS playback_style FROM remote_asset_entity AS rae LEFT JOIN stack_entity AS se ON rae.stack_id = se.id WHERE rae.deleted_at IS NULL AND rae.visibility = 0 AND rae.owner_id IN ($expandeduserIds) AND(rae.stack_id IS NULL OR rae.id = se.primary_asset_id)UNION ALL SELECT NULL AS remote_id, lae.id AS local_id, lae.name, lae.type, lae.created_at AS created_at, lae.updated_at, lae.width, lae.height, lae.duration_ms, lae.is_favorite, NULL AS thumb_hash, lae.checksum, NULL AS owner_id, NULL AS live_photo_video_id, lae.orientation, NULL AS stack_id, lae.i_cloud_id, lae.latitude, lae.longitude, lae.adjustment_time, 0 AS is_edited, lae.playback_style FROM local_asset_entity AS lae WHERE NOT EXISTS (SELECT 1 FROM remote_asset_entity AS rae WHERE rae.checksum = lae.checksum AND rae.owner_id IN ($expandeduserIds)) AND EXISTS (SELECT 1 FROM local_album_asset_entity AS laa INNER JOIN local_album_entity AS la ON laa.album_id = la.id WHERE laa.asset_id = lae.id AND la.backup_selection = 0) AND NOT EXISTS (SELECT 1 FROM local_album_asset_entity AS laa INNER JOIN local_album_entity AS la ON laa.album_id = la.id WHERE laa.asset_id = lae.id AND la.backup_selection = 2) ORDER BY created_at DESC ${generatedlimit.sql}',
|
||||
variables: [
|
||||
for (var $ in userIds) i0.Variable<String>($),
|
||||
...generatedlimit.introducedVariables,
|
||||
@@ -54,7 +54,7 @@ class MergedAssetDrift extends i1.ModularAccessor {
|
||||
updatedAt: row.read<DateTime>('updated_at'),
|
||||
width: row.readNullable<int>('width'),
|
||||
height: row.readNullable<int>('height'),
|
||||
durationInSeconds: row.readNullable<int>('duration_in_seconds'),
|
||||
durationMs: row.readNullable<int>('duration_ms'),
|
||||
isFavorite: row.read<bool>('is_favorite'),
|
||||
thumbHash: row.readNullable<String>('thumb_hash'),
|
||||
checksum: row.readNullable<String>('checksum'),
|
||||
@@ -127,7 +127,7 @@ class MergedAssetResult {
|
||||
final DateTime updatedAt;
|
||||
final int? width;
|
||||
final int? height;
|
||||
final int? durationInSeconds;
|
||||
final int? durationMs;
|
||||
final bool isFavorite;
|
||||
final String? thumbHash;
|
||||
final String? checksum;
|
||||
@@ -150,7 +150,7 @@ class MergedAssetResult {
|
||||
required this.updatedAt,
|
||||
this.width,
|
||||
this.height,
|
||||
this.durationInSeconds,
|
||||
this.durationMs,
|
||||
required this.isFavorite,
|
||||
this.thumbHash,
|
||||
this.checksum,
|
||||
|
||||
@@ -66,7 +66,7 @@ extension RemoteAssetEntityDataDomainEx on RemoteAssetEntityData {
|
||||
type: type,
|
||||
createdAt: createdAt,
|
||||
updatedAt: updatedAt,
|
||||
durationInSeconds: durationInSeconds,
|
||||
durationMs: durationMs,
|
||||
isFavorite: isFavorite,
|
||||
height: height,
|
||||
width: width,
|
||||
|
||||
@@ -19,7 +19,7 @@ typedef $$RemoteAssetEntityTableCreateCompanionBuilder =
|
||||
i0.Value<DateTime> updatedAt,
|
||||
i0.Value<int?> width,
|
||||
i0.Value<int?> height,
|
||||
i0.Value<int?> durationInSeconds,
|
||||
i0.Value<int?> durationMs,
|
||||
required String id,
|
||||
required String checksum,
|
||||
i0.Value<bool> isFavorite,
|
||||
@@ -41,7 +41,7 @@ typedef $$RemoteAssetEntityTableUpdateCompanionBuilder =
|
||||
i0.Value<DateTime> updatedAt,
|
||||
i0.Value<int?> width,
|
||||
i0.Value<int?> height,
|
||||
i0.Value<int?> durationInSeconds,
|
||||
i0.Value<int?> durationMs,
|
||||
i0.Value<String> id,
|
||||
i0.Value<String> checksum,
|
||||
i0.Value<bool> isFavorite,
|
||||
@@ -142,8 +142,8 @@ class $$RemoteAssetEntityTableFilterComposer
|
||||
builder: (column) => i0.ColumnFilters(column),
|
||||
);
|
||||
|
||||
i0.ColumnFilters<int> get durationInSeconds => $composableBuilder(
|
||||
column: $table.durationInSeconds,
|
||||
i0.ColumnFilters<int> get durationMs => $composableBuilder(
|
||||
column: $table.durationMs,
|
||||
builder: (column) => i0.ColumnFilters(column),
|
||||
);
|
||||
|
||||
@@ -270,8 +270,8 @@ class $$RemoteAssetEntityTableOrderingComposer
|
||||
builder: (column) => i0.ColumnOrderings(column),
|
||||
);
|
||||
|
||||
i0.ColumnOrderings<int> get durationInSeconds => $composableBuilder(
|
||||
column: $table.durationInSeconds,
|
||||
i0.ColumnOrderings<int> get durationMs => $composableBuilder(
|
||||
column: $table.durationMs,
|
||||
builder: (column) => i0.ColumnOrderings(column),
|
||||
);
|
||||
|
||||
@@ -385,8 +385,8 @@ class $$RemoteAssetEntityTableAnnotationComposer
|
||||
i0.GeneratedColumn<int> get height =>
|
||||
$composableBuilder(column: $table.height, builder: (column) => column);
|
||||
|
||||
i0.GeneratedColumn<int> get durationInSeconds => $composableBuilder(
|
||||
column: $table.durationInSeconds,
|
||||
i0.GeneratedColumn<int> get durationMs => $composableBuilder(
|
||||
column: $table.durationMs,
|
||||
builder: (column) => column,
|
||||
);
|
||||
|
||||
@@ -499,7 +499,7 @@ class $$RemoteAssetEntityTableTableManager
|
||||
i0.Value<DateTime> updatedAt = const i0.Value.absent(),
|
||||
i0.Value<int?> width = const i0.Value.absent(),
|
||||
i0.Value<int?> height = const i0.Value.absent(),
|
||||
i0.Value<int?> durationInSeconds = const i0.Value.absent(),
|
||||
i0.Value<int?> durationMs = const i0.Value.absent(),
|
||||
i0.Value<String> id = const i0.Value.absent(),
|
||||
i0.Value<String> checksum = const i0.Value.absent(),
|
||||
i0.Value<bool> isFavorite = const i0.Value.absent(),
|
||||
@@ -520,7 +520,7 @@ class $$RemoteAssetEntityTableTableManager
|
||||
updatedAt: updatedAt,
|
||||
width: width,
|
||||
height: height,
|
||||
durationInSeconds: durationInSeconds,
|
||||
durationMs: durationMs,
|
||||
id: id,
|
||||
checksum: checksum,
|
||||
isFavorite: isFavorite,
|
||||
@@ -542,7 +542,7 @@ class $$RemoteAssetEntityTableTableManager
|
||||
i0.Value<DateTime> updatedAt = const i0.Value.absent(),
|
||||
i0.Value<int?> width = const i0.Value.absent(),
|
||||
i0.Value<int?> height = const i0.Value.absent(),
|
||||
i0.Value<int?> durationInSeconds = const i0.Value.absent(),
|
||||
i0.Value<int?> durationMs = const i0.Value.absent(),
|
||||
required String id,
|
||||
required String checksum,
|
||||
i0.Value<bool> isFavorite = const i0.Value.absent(),
|
||||
@@ -562,7 +562,7 @@ class $$RemoteAssetEntityTableTableManager
|
||||
updatedAt: updatedAt,
|
||||
width: width,
|
||||
height: height,
|
||||
durationInSeconds: durationInSeconds,
|
||||
durationMs: durationMs,
|
||||
id: id,
|
||||
checksum: checksum,
|
||||
isFavorite: isFavorite,
|
||||
@@ -724,17 +724,17 @@ class $RemoteAssetEntityTable extends i3.RemoteAssetEntity
|
||||
type: i0.DriftSqlType.int,
|
||||
requiredDuringInsert: false,
|
||||
);
|
||||
static const i0.VerificationMeta _durationInSecondsMeta =
|
||||
const i0.VerificationMeta('durationInSeconds');
|
||||
static const i0.VerificationMeta _durationMsMeta = const i0.VerificationMeta(
|
||||
'durationMs',
|
||||
);
|
||||
@override
|
||||
late final i0.GeneratedColumn<int> durationInSeconds =
|
||||
i0.GeneratedColumn<int>(
|
||||
'duration_in_seconds',
|
||||
aliasedName,
|
||||
true,
|
||||
type: i0.DriftSqlType.int,
|
||||
requiredDuringInsert: false,
|
||||
);
|
||||
late final i0.GeneratedColumn<int> durationMs = i0.GeneratedColumn<int>(
|
||||
'duration_ms',
|
||||
aliasedName,
|
||||
true,
|
||||
type: i0.DriftSqlType.int,
|
||||
requiredDuringInsert: false,
|
||||
);
|
||||
static const i0.VerificationMeta _idMeta = const i0.VerificationMeta('id');
|
||||
@override
|
||||
late final i0.GeneratedColumn<String> id = i0.GeneratedColumn<String>(
|
||||
@@ -886,7 +886,7 @@ class $RemoteAssetEntityTable extends i3.RemoteAssetEntity
|
||||
updatedAt,
|
||||
width,
|
||||
height,
|
||||
durationInSeconds,
|
||||
durationMs,
|
||||
id,
|
||||
checksum,
|
||||
isFavorite,
|
||||
@@ -944,13 +944,10 @@ class $RemoteAssetEntityTable extends i3.RemoteAssetEntity
|
||||
height.isAcceptableOrUnknown(data['height']!, _heightMeta),
|
||||
);
|
||||
}
|
||||
if (data.containsKey('duration_in_seconds')) {
|
||||
if (data.containsKey('duration_ms')) {
|
||||
context.handle(
|
||||
_durationInSecondsMeta,
|
||||
durationInSeconds.isAcceptableOrUnknown(
|
||||
data['duration_in_seconds']!,
|
||||
_durationInSecondsMeta,
|
||||
),
|
||||
_durationMsMeta,
|
||||
durationMs.isAcceptableOrUnknown(data['duration_ms']!, _durationMsMeta),
|
||||
);
|
||||
}
|
||||
if (data.containsKey('id')) {
|
||||
@@ -1066,9 +1063,9 @@ class $RemoteAssetEntityTable extends i3.RemoteAssetEntity
|
||||
i0.DriftSqlType.int,
|
||||
data['${effectivePrefix}height'],
|
||||
),
|
||||
durationInSeconds: attachedDatabase.typeMapping.read(
|
||||
durationMs: attachedDatabase.typeMapping.read(
|
||||
i0.DriftSqlType.int,
|
||||
data['${effectivePrefix}duration_in_seconds'],
|
||||
data['${effectivePrefix}duration_ms'],
|
||||
),
|
||||
id: attachedDatabase.typeMapping.read(
|
||||
i0.DriftSqlType.string,
|
||||
@@ -1148,7 +1145,7 @@ class RemoteAssetEntityData extends i0.DataClass
|
||||
final DateTime updatedAt;
|
||||
final int? width;
|
||||
final int? height;
|
||||
final int? durationInSeconds;
|
||||
final int? durationMs;
|
||||
final String id;
|
||||
final String checksum;
|
||||
final bool isFavorite;
|
||||
@@ -1168,7 +1165,7 @@ class RemoteAssetEntityData extends i0.DataClass
|
||||
required this.updatedAt,
|
||||
this.width,
|
||||
this.height,
|
||||
this.durationInSeconds,
|
||||
this.durationMs,
|
||||
required this.id,
|
||||
required this.checksum,
|
||||
required this.isFavorite,
|
||||
@@ -1199,8 +1196,8 @@ class RemoteAssetEntityData extends i0.DataClass
|
||||
if (!nullToAbsent || height != null) {
|
||||
map['height'] = i0.Variable<int>(height);
|
||||
}
|
||||
if (!nullToAbsent || durationInSeconds != null) {
|
||||
map['duration_in_seconds'] = i0.Variable<int>(durationInSeconds);
|
||||
if (!nullToAbsent || durationMs != null) {
|
||||
map['duration_ms'] = i0.Variable<int>(durationMs);
|
||||
}
|
||||
map['id'] = i0.Variable<String>(id);
|
||||
map['checksum'] = i0.Variable<String>(checksum);
|
||||
@@ -1247,7 +1244,7 @@ class RemoteAssetEntityData extends i0.DataClass
|
||||
updatedAt: serializer.fromJson<DateTime>(json['updatedAt']),
|
||||
width: serializer.fromJson<int?>(json['width']),
|
||||
height: serializer.fromJson<int?>(json['height']),
|
||||
durationInSeconds: serializer.fromJson<int?>(json['durationInSeconds']),
|
||||
durationMs: serializer.fromJson<int?>(json['durationMs']),
|
||||
id: serializer.fromJson<String>(json['id']),
|
||||
checksum: serializer.fromJson<String>(json['checksum']),
|
||||
isFavorite: serializer.fromJson<bool>(json['isFavorite']),
|
||||
@@ -1276,7 +1273,7 @@ class RemoteAssetEntityData extends i0.DataClass
|
||||
'updatedAt': serializer.toJson<DateTime>(updatedAt),
|
||||
'width': serializer.toJson<int?>(width),
|
||||
'height': serializer.toJson<int?>(height),
|
||||
'durationInSeconds': serializer.toJson<int?>(durationInSeconds),
|
||||
'durationMs': serializer.toJson<int?>(durationMs),
|
||||
'id': serializer.toJson<String>(id),
|
||||
'checksum': serializer.toJson<String>(checksum),
|
||||
'isFavorite': serializer.toJson<bool>(isFavorite),
|
||||
@@ -1301,7 +1298,7 @@ class RemoteAssetEntityData extends i0.DataClass
|
||||
DateTime? updatedAt,
|
||||
i0.Value<int?> width = const i0.Value.absent(),
|
||||
i0.Value<int?> height = const i0.Value.absent(),
|
||||
i0.Value<int?> durationInSeconds = const i0.Value.absent(),
|
||||
i0.Value<int?> durationMs = const i0.Value.absent(),
|
||||
String? id,
|
||||
String? checksum,
|
||||
bool? isFavorite,
|
||||
@@ -1321,9 +1318,7 @@ class RemoteAssetEntityData extends i0.DataClass
|
||||
updatedAt: updatedAt ?? this.updatedAt,
|
||||
width: width.present ? width.value : this.width,
|
||||
height: height.present ? height.value : this.height,
|
||||
durationInSeconds: durationInSeconds.present
|
||||
? durationInSeconds.value
|
||||
: this.durationInSeconds,
|
||||
durationMs: durationMs.present ? durationMs.value : this.durationMs,
|
||||
id: id ?? this.id,
|
||||
checksum: checksum ?? this.checksum,
|
||||
isFavorite: isFavorite ?? this.isFavorite,
|
||||
@@ -1349,9 +1344,9 @@ class RemoteAssetEntityData extends i0.DataClass
|
||||
updatedAt: data.updatedAt.present ? data.updatedAt.value : this.updatedAt,
|
||||
width: data.width.present ? data.width.value : this.width,
|
||||
height: data.height.present ? data.height.value : this.height,
|
||||
durationInSeconds: data.durationInSeconds.present
|
||||
? data.durationInSeconds.value
|
||||
: this.durationInSeconds,
|
||||
durationMs: data.durationMs.present
|
||||
? data.durationMs.value
|
||||
: this.durationMs,
|
||||
id: data.id.present ? data.id.value : this.id,
|
||||
checksum: data.checksum.present ? data.checksum.value : this.checksum,
|
||||
isFavorite: data.isFavorite.present
|
||||
@@ -1384,7 +1379,7 @@ class RemoteAssetEntityData extends i0.DataClass
|
||||
..write('updatedAt: $updatedAt, ')
|
||||
..write('width: $width, ')
|
||||
..write('height: $height, ')
|
||||
..write('durationInSeconds: $durationInSeconds, ')
|
||||
..write('durationMs: $durationMs, ')
|
||||
..write('id: $id, ')
|
||||
..write('checksum: $checksum, ')
|
||||
..write('isFavorite: $isFavorite, ')
|
||||
@@ -1409,7 +1404,7 @@ class RemoteAssetEntityData extends i0.DataClass
|
||||
updatedAt,
|
||||
width,
|
||||
height,
|
||||
durationInSeconds,
|
||||
durationMs,
|
||||
id,
|
||||
checksum,
|
||||
isFavorite,
|
||||
@@ -1433,7 +1428,7 @@ class RemoteAssetEntityData extends i0.DataClass
|
||||
other.updatedAt == this.updatedAt &&
|
||||
other.width == this.width &&
|
||||
other.height == this.height &&
|
||||
other.durationInSeconds == this.durationInSeconds &&
|
||||
other.durationMs == this.durationMs &&
|
||||
other.id == this.id &&
|
||||
other.checksum == this.checksum &&
|
||||
other.isFavorite == this.isFavorite &&
|
||||
@@ -1456,7 +1451,7 @@ class RemoteAssetEntityCompanion
|
||||
final i0.Value<DateTime> updatedAt;
|
||||
final i0.Value<int?> width;
|
||||
final i0.Value<int?> height;
|
||||
final i0.Value<int?> durationInSeconds;
|
||||
final i0.Value<int?> durationMs;
|
||||
final i0.Value<String> id;
|
||||
final i0.Value<String> checksum;
|
||||
final i0.Value<bool> isFavorite;
|
||||
@@ -1476,7 +1471,7 @@ class RemoteAssetEntityCompanion
|
||||
this.updatedAt = const i0.Value.absent(),
|
||||
this.width = const i0.Value.absent(),
|
||||
this.height = const i0.Value.absent(),
|
||||
this.durationInSeconds = const i0.Value.absent(),
|
||||
this.durationMs = const i0.Value.absent(),
|
||||
this.id = const i0.Value.absent(),
|
||||
this.checksum = const i0.Value.absent(),
|
||||
this.isFavorite = const i0.Value.absent(),
|
||||
@@ -1497,7 +1492,7 @@ class RemoteAssetEntityCompanion
|
||||
this.updatedAt = const i0.Value.absent(),
|
||||
this.width = const i0.Value.absent(),
|
||||
this.height = const i0.Value.absent(),
|
||||
this.durationInSeconds = const i0.Value.absent(),
|
||||
this.durationMs = const i0.Value.absent(),
|
||||
required String id,
|
||||
required String checksum,
|
||||
this.isFavorite = const i0.Value.absent(),
|
||||
@@ -1523,7 +1518,7 @@ class RemoteAssetEntityCompanion
|
||||
i0.Expression<DateTime>? updatedAt,
|
||||
i0.Expression<int>? width,
|
||||
i0.Expression<int>? height,
|
||||
i0.Expression<int>? durationInSeconds,
|
||||
i0.Expression<int>? durationMs,
|
||||
i0.Expression<String>? id,
|
||||
i0.Expression<String>? checksum,
|
||||
i0.Expression<bool>? isFavorite,
|
||||
@@ -1544,7 +1539,7 @@ class RemoteAssetEntityCompanion
|
||||
if (updatedAt != null) 'updated_at': updatedAt,
|
||||
if (width != null) 'width': width,
|
||||
if (height != null) 'height': height,
|
||||
if (durationInSeconds != null) 'duration_in_seconds': durationInSeconds,
|
||||
if (durationMs != null) 'duration_ms': durationMs,
|
||||
if (id != null) 'id': id,
|
||||
if (checksum != null) 'checksum': checksum,
|
||||
if (isFavorite != null) 'is_favorite': isFavorite,
|
||||
@@ -1567,7 +1562,7 @@ class RemoteAssetEntityCompanion
|
||||
i0.Value<DateTime>? updatedAt,
|
||||
i0.Value<int?>? width,
|
||||
i0.Value<int?>? height,
|
||||
i0.Value<int?>? durationInSeconds,
|
||||
i0.Value<int?>? durationMs,
|
||||
i0.Value<String>? id,
|
||||
i0.Value<String>? checksum,
|
||||
i0.Value<bool>? isFavorite,
|
||||
@@ -1588,7 +1583,7 @@ class RemoteAssetEntityCompanion
|
||||
updatedAt: updatedAt ?? this.updatedAt,
|
||||
width: width ?? this.width,
|
||||
height: height ?? this.height,
|
||||
durationInSeconds: durationInSeconds ?? this.durationInSeconds,
|
||||
durationMs: durationMs ?? this.durationMs,
|
||||
id: id ?? this.id,
|
||||
checksum: checksum ?? this.checksum,
|
||||
isFavorite: isFavorite ?? this.isFavorite,
|
||||
@@ -1627,8 +1622,8 @@ class RemoteAssetEntityCompanion
|
||||
if (height.present) {
|
||||
map['height'] = i0.Variable<int>(height.value);
|
||||
}
|
||||
if (durationInSeconds.present) {
|
||||
map['duration_in_seconds'] = i0.Variable<int>(durationInSeconds.value);
|
||||
if (durationMs.present) {
|
||||
map['duration_ms'] = i0.Variable<int>(durationMs.value);
|
||||
}
|
||||
if (id.present) {
|
||||
map['id'] = i0.Variable<String>(id.value);
|
||||
@@ -1680,7 +1675,7 @@ class RemoteAssetEntityCompanion
|
||||
..write('updatedAt: $updatedAt, ')
|
||||
..write('width: $width, ')
|
||||
..write('height: $height, ')
|
||||
..write('durationInSeconds: $durationInSeconds, ')
|
||||
..write('durationMs: $durationMs, ')
|
||||
..write('id: $id, ')
|
||||
..write('checksum: $checksum, ')
|
||||
..write('isFavorite: $isFavorite, ')
|
||||
|
||||
@@ -42,7 +42,7 @@ extension TrashedLocalAssetEntityDataDomainExtension on TrashedLocalAssetEntityD
|
||||
type: type,
|
||||
createdAt: createdAt,
|
||||
updatedAt: updatedAt,
|
||||
durationInSeconds: durationInSeconds,
|
||||
durationMs: durationMs,
|
||||
isFavorite: isFavorite,
|
||||
height: height,
|
||||
width: width,
|
||||
|
||||
@@ -16,7 +16,7 @@ typedef $$TrashedLocalAssetEntityTableCreateCompanionBuilder =
|
||||
i0.Value<DateTime> updatedAt,
|
||||
i0.Value<int?> width,
|
||||
i0.Value<int?> height,
|
||||
i0.Value<int?> durationInSeconds,
|
||||
i0.Value<int?> durationMs,
|
||||
required String id,
|
||||
required String albumId,
|
||||
i0.Value<String?> checksum,
|
||||
@@ -33,7 +33,7 @@ typedef $$TrashedLocalAssetEntityTableUpdateCompanionBuilder =
|
||||
i0.Value<DateTime> updatedAt,
|
||||
i0.Value<int?> width,
|
||||
i0.Value<int?> height,
|
||||
i0.Value<int?> durationInSeconds,
|
||||
i0.Value<int?> durationMs,
|
||||
i0.Value<String> id,
|
||||
i0.Value<String> albumId,
|
||||
i0.Value<String?> checksum,
|
||||
@@ -84,8 +84,8 @@ class $$TrashedLocalAssetEntityTableFilterComposer
|
||||
builder: (column) => i0.ColumnFilters(column),
|
||||
);
|
||||
|
||||
i0.ColumnFilters<int> get durationInSeconds => $composableBuilder(
|
||||
column: $table.durationInSeconds,
|
||||
i0.ColumnFilters<int> get durationMs => $composableBuilder(
|
||||
column: $table.durationMs,
|
||||
builder: (column) => i0.ColumnFilters(column),
|
||||
);
|
||||
|
||||
@@ -171,8 +171,8 @@ class $$TrashedLocalAssetEntityTableOrderingComposer
|
||||
builder: (column) => i0.ColumnOrderings(column),
|
||||
);
|
||||
|
||||
i0.ColumnOrderings<int> get durationInSeconds => $composableBuilder(
|
||||
column: $table.durationInSeconds,
|
||||
i0.ColumnOrderings<int> get durationMs => $composableBuilder(
|
||||
column: $table.durationMs,
|
||||
builder: (column) => i0.ColumnOrderings(column),
|
||||
);
|
||||
|
||||
@@ -240,8 +240,8 @@ class $$TrashedLocalAssetEntityTableAnnotationComposer
|
||||
i0.GeneratedColumn<int> get height =>
|
||||
$composableBuilder(column: $table.height, builder: (column) => column);
|
||||
|
||||
i0.GeneratedColumn<int> get durationInSeconds => $composableBuilder(
|
||||
column: $table.durationInSeconds,
|
||||
i0.GeneratedColumn<int> get durationMs => $composableBuilder(
|
||||
column: $table.durationMs,
|
||||
builder: (column) => column,
|
||||
);
|
||||
|
||||
@@ -326,7 +326,7 @@ class $$TrashedLocalAssetEntityTableTableManager
|
||||
i0.Value<DateTime> updatedAt = const i0.Value.absent(),
|
||||
i0.Value<int?> width = const i0.Value.absent(),
|
||||
i0.Value<int?> height = const i0.Value.absent(),
|
||||
i0.Value<int?> durationInSeconds = const i0.Value.absent(),
|
||||
i0.Value<int?> durationMs = const i0.Value.absent(),
|
||||
i0.Value<String> id = const i0.Value.absent(),
|
||||
i0.Value<String> albumId = const i0.Value.absent(),
|
||||
i0.Value<String?> checksum = const i0.Value.absent(),
|
||||
@@ -342,7 +342,7 @@ class $$TrashedLocalAssetEntityTableTableManager
|
||||
updatedAt: updatedAt,
|
||||
width: width,
|
||||
height: height,
|
||||
durationInSeconds: durationInSeconds,
|
||||
durationMs: durationMs,
|
||||
id: id,
|
||||
albumId: albumId,
|
||||
checksum: checksum,
|
||||
@@ -359,7 +359,7 @@ class $$TrashedLocalAssetEntityTableTableManager
|
||||
i0.Value<DateTime> updatedAt = const i0.Value.absent(),
|
||||
i0.Value<int?> width = const i0.Value.absent(),
|
||||
i0.Value<int?> height = const i0.Value.absent(),
|
||||
i0.Value<int?> durationInSeconds = const i0.Value.absent(),
|
||||
i0.Value<int?> durationMs = const i0.Value.absent(),
|
||||
required String id,
|
||||
required String albumId,
|
||||
i0.Value<String?> checksum = const i0.Value.absent(),
|
||||
@@ -375,7 +375,7 @@ class $$TrashedLocalAssetEntityTableTableManager
|
||||
updatedAt: updatedAt,
|
||||
width: width,
|
||||
height: height,
|
||||
durationInSeconds: durationInSeconds,
|
||||
durationMs: durationMs,
|
||||
id: id,
|
||||
albumId: albumId,
|
||||
checksum: checksum,
|
||||
@@ -498,17 +498,17 @@ class $TrashedLocalAssetEntityTable extends i3.TrashedLocalAssetEntity
|
||||
type: i0.DriftSqlType.int,
|
||||
requiredDuringInsert: false,
|
||||
);
|
||||
static const i0.VerificationMeta _durationInSecondsMeta =
|
||||
const i0.VerificationMeta('durationInSeconds');
|
||||
static const i0.VerificationMeta _durationMsMeta = const i0.VerificationMeta(
|
||||
'durationMs',
|
||||
);
|
||||
@override
|
||||
late final i0.GeneratedColumn<int> durationInSeconds =
|
||||
i0.GeneratedColumn<int>(
|
||||
'duration_in_seconds',
|
||||
aliasedName,
|
||||
true,
|
||||
type: i0.DriftSqlType.int,
|
||||
requiredDuringInsert: false,
|
||||
);
|
||||
late final i0.GeneratedColumn<int> durationMs = i0.GeneratedColumn<int>(
|
||||
'duration_ms',
|
||||
aliasedName,
|
||||
true,
|
||||
type: i0.DriftSqlType.int,
|
||||
requiredDuringInsert: false,
|
||||
);
|
||||
static const i0.VerificationMeta _idMeta = const i0.VerificationMeta('id');
|
||||
@override
|
||||
late final i0.GeneratedColumn<String> id = i0.GeneratedColumn<String>(
|
||||
@@ -599,7 +599,7 @@ class $TrashedLocalAssetEntityTable extends i3.TrashedLocalAssetEntity
|
||||
updatedAt,
|
||||
width,
|
||||
height,
|
||||
durationInSeconds,
|
||||
durationMs,
|
||||
id,
|
||||
albumId,
|
||||
checksum,
|
||||
@@ -652,13 +652,10 @@ class $TrashedLocalAssetEntityTable extends i3.TrashedLocalAssetEntity
|
||||
height.isAcceptableOrUnknown(data['height']!, _heightMeta),
|
||||
);
|
||||
}
|
||||
if (data.containsKey('duration_in_seconds')) {
|
||||
if (data.containsKey('duration_ms')) {
|
||||
context.handle(
|
||||
_durationInSecondsMeta,
|
||||
durationInSeconds.isAcceptableOrUnknown(
|
||||
data['duration_in_seconds']!,
|
||||
_durationInSecondsMeta,
|
||||
),
|
||||
_durationMsMeta,
|
||||
durationMs.isAcceptableOrUnknown(data['duration_ms']!, _durationMsMeta),
|
||||
);
|
||||
}
|
||||
if (data.containsKey('id')) {
|
||||
@@ -733,9 +730,9 @@ class $TrashedLocalAssetEntityTable extends i3.TrashedLocalAssetEntity
|
||||
i0.DriftSqlType.int,
|
||||
data['${effectivePrefix}height'],
|
||||
),
|
||||
durationInSeconds: attachedDatabase.typeMapping.read(
|
||||
durationMs: attachedDatabase.typeMapping.read(
|
||||
i0.DriftSqlType.int,
|
||||
data['${effectivePrefix}duration_in_seconds'],
|
||||
data['${effectivePrefix}duration_ms'],
|
||||
),
|
||||
id: attachedDatabase.typeMapping.read(
|
||||
i0.DriftSqlType.string,
|
||||
@@ -800,7 +797,7 @@ class TrashedLocalAssetEntityData extends i0.DataClass
|
||||
final DateTime updatedAt;
|
||||
final int? width;
|
||||
final int? height;
|
||||
final int? durationInSeconds;
|
||||
final int? durationMs;
|
||||
final String id;
|
||||
final String albumId;
|
||||
final String? checksum;
|
||||
@@ -815,7 +812,7 @@ class TrashedLocalAssetEntityData extends i0.DataClass
|
||||
required this.updatedAt,
|
||||
this.width,
|
||||
this.height,
|
||||
this.durationInSeconds,
|
||||
this.durationMs,
|
||||
required this.id,
|
||||
required this.albumId,
|
||||
this.checksum,
|
||||
@@ -841,8 +838,8 @@ class TrashedLocalAssetEntityData extends i0.DataClass
|
||||
if (!nullToAbsent || height != null) {
|
||||
map['height'] = i0.Variable<int>(height);
|
||||
}
|
||||
if (!nullToAbsent || durationInSeconds != null) {
|
||||
map['duration_in_seconds'] = i0.Variable<int>(durationInSeconds);
|
||||
if (!nullToAbsent || durationMs != null) {
|
||||
map['duration_ms'] = i0.Variable<int>(durationMs);
|
||||
}
|
||||
map['id'] = i0.Variable<String>(id);
|
||||
map['album_id'] = i0.Variable<String>(albumId);
|
||||
@@ -880,7 +877,7 @@ class TrashedLocalAssetEntityData extends i0.DataClass
|
||||
updatedAt: serializer.fromJson<DateTime>(json['updatedAt']),
|
||||
width: serializer.fromJson<int?>(json['width']),
|
||||
height: serializer.fromJson<int?>(json['height']),
|
||||
durationInSeconds: serializer.fromJson<int?>(json['durationInSeconds']),
|
||||
durationMs: serializer.fromJson<int?>(json['durationMs']),
|
||||
id: serializer.fromJson<String>(json['id']),
|
||||
albumId: serializer.fromJson<String>(json['albumId']),
|
||||
checksum: serializer.fromJson<String?>(json['checksum']),
|
||||
@@ -905,7 +902,7 @@ class TrashedLocalAssetEntityData extends i0.DataClass
|
||||
'updatedAt': serializer.toJson<DateTime>(updatedAt),
|
||||
'width': serializer.toJson<int?>(width),
|
||||
'height': serializer.toJson<int?>(height),
|
||||
'durationInSeconds': serializer.toJson<int?>(durationInSeconds),
|
||||
'durationMs': serializer.toJson<int?>(durationMs),
|
||||
'id': serializer.toJson<String>(id),
|
||||
'albumId': serializer.toJson<String>(albumId),
|
||||
'checksum': serializer.toJson<String?>(checksum),
|
||||
@@ -929,7 +926,7 @@ class TrashedLocalAssetEntityData extends i0.DataClass
|
||||
DateTime? updatedAt,
|
||||
i0.Value<int?> width = const i0.Value.absent(),
|
||||
i0.Value<int?> height = const i0.Value.absent(),
|
||||
i0.Value<int?> durationInSeconds = const i0.Value.absent(),
|
||||
i0.Value<int?> durationMs = const i0.Value.absent(),
|
||||
String? id,
|
||||
String? albumId,
|
||||
i0.Value<String?> checksum = const i0.Value.absent(),
|
||||
@@ -944,9 +941,7 @@ class TrashedLocalAssetEntityData extends i0.DataClass
|
||||
updatedAt: updatedAt ?? this.updatedAt,
|
||||
width: width.present ? width.value : this.width,
|
||||
height: height.present ? height.value : this.height,
|
||||
durationInSeconds: durationInSeconds.present
|
||||
? durationInSeconds.value
|
||||
: this.durationInSeconds,
|
||||
durationMs: durationMs.present ? durationMs.value : this.durationMs,
|
||||
id: id ?? this.id,
|
||||
albumId: albumId ?? this.albumId,
|
||||
checksum: checksum.present ? checksum.value : this.checksum,
|
||||
@@ -965,9 +960,9 @@ class TrashedLocalAssetEntityData extends i0.DataClass
|
||||
updatedAt: data.updatedAt.present ? data.updatedAt.value : this.updatedAt,
|
||||
width: data.width.present ? data.width.value : this.width,
|
||||
height: data.height.present ? data.height.value : this.height,
|
||||
durationInSeconds: data.durationInSeconds.present
|
||||
? data.durationInSeconds.value
|
||||
: this.durationInSeconds,
|
||||
durationMs: data.durationMs.present
|
||||
? data.durationMs.value
|
||||
: this.durationMs,
|
||||
id: data.id.present ? data.id.value : this.id,
|
||||
albumId: data.albumId.present ? data.albumId.value : this.albumId,
|
||||
checksum: data.checksum.present ? data.checksum.value : this.checksum,
|
||||
@@ -993,7 +988,7 @@ class TrashedLocalAssetEntityData extends i0.DataClass
|
||||
..write('updatedAt: $updatedAt, ')
|
||||
..write('width: $width, ')
|
||||
..write('height: $height, ')
|
||||
..write('durationInSeconds: $durationInSeconds, ')
|
||||
..write('durationMs: $durationMs, ')
|
||||
..write('id: $id, ')
|
||||
..write('albumId: $albumId, ')
|
||||
..write('checksum: $checksum, ')
|
||||
@@ -1013,7 +1008,7 @@ class TrashedLocalAssetEntityData extends i0.DataClass
|
||||
updatedAt,
|
||||
width,
|
||||
height,
|
||||
durationInSeconds,
|
||||
durationMs,
|
||||
id,
|
||||
albumId,
|
||||
checksum,
|
||||
@@ -1032,7 +1027,7 @@ class TrashedLocalAssetEntityData extends i0.DataClass
|
||||
other.updatedAt == this.updatedAt &&
|
||||
other.width == this.width &&
|
||||
other.height == this.height &&
|
||||
other.durationInSeconds == this.durationInSeconds &&
|
||||
other.durationMs == this.durationMs &&
|
||||
other.id == this.id &&
|
||||
other.albumId == this.albumId &&
|
||||
other.checksum == this.checksum &&
|
||||
@@ -1050,7 +1045,7 @@ class TrashedLocalAssetEntityCompanion
|
||||
final i0.Value<DateTime> updatedAt;
|
||||
final i0.Value<int?> width;
|
||||
final i0.Value<int?> height;
|
||||
final i0.Value<int?> durationInSeconds;
|
||||
final i0.Value<int?> durationMs;
|
||||
final i0.Value<String> id;
|
||||
final i0.Value<String> albumId;
|
||||
final i0.Value<String?> checksum;
|
||||
@@ -1065,7 +1060,7 @@ class TrashedLocalAssetEntityCompanion
|
||||
this.updatedAt = const i0.Value.absent(),
|
||||
this.width = const i0.Value.absent(),
|
||||
this.height = const i0.Value.absent(),
|
||||
this.durationInSeconds = const i0.Value.absent(),
|
||||
this.durationMs = const i0.Value.absent(),
|
||||
this.id = const i0.Value.absent(),
|
||||
this.albumId = const i0.Value.absent(),
|
||||
this.checksum = const i0.Value.absent(),
|
||||
@@ -1081,7 +1076,7 @@ class TrashedLocalAssetEntityCompanion
|
||||
this.updatedAt = const i0.Value.absent(),
|
||||
this.width = const i0.Value.absent(),
|
||||
this.height = const i0.Value.absent(),
|
||||
this.durationInSeconds = const i0.Value.absent(),
|
||||
this.durationMs = const i0.Value.absent(),
|
||||
required String id,
|
||||
required String albumId,
|
||||
this.checksum = const i0.Value.absent(),
|
||||
@@ -1101,7 +1096,7 @@ class TrashedLocalAssetEntityCompanion
|
||||
i0.Expression<DateTime>? updatedAt,
|
||||
i0.Expression<int>? width,
|
||||
i0.Expression<int>? height,
|
||||
i0.Expression<int>? durationInSeconds,
|
||||
i0.Expression<int>? durationMs,
|
||||
i0.Expression<String>? id,
|
||||
i0.Expression<String>? albumId,
|
||||
i0.Expression<String>? checksum,
|
||||
@@ -1117,7 +1112,7 @@ class TrashedLocalAssetEntityCompanion
|
||||
if (updatedAt != null) 'updated_at': updatedAt,
|
||||
if (width != null) 'width': width,
|
||||
if (height != null) 'height': height,
|
||||
if (durationInSeconds != null) 'duration_in_seconds': durationInSeconds,
|
||||
if (durationMs != null) 'duration_ms': durationMs,
|
||||
if (id != null) 'id': id,
|
||||
if (albumId != null) 'album_id': albumId,
|
||||
if (checksum != null) 'checksum': checksum,
|
||||
@@ -1135,7 +1130,7 @@ class TrashedLocalAssetEntityCompanion
|
||||
i0.Value<DateTime>? updatedAt,
|
||||
i0.Value<int?>? width,
|
||||
i0.Value<int?>? height,
|
||||
i0.Value<int?>? durationInSeconds,
|
||||
i0.Value<int?>? durationMs,
|
||||
i0.Value<String>? id,
|
||||
i0.Value<String>? albumId,
|
||||
i0.Value<String?>? checksum,
|
||||
@@ -1151,7 +1146,7 @@ class TrashedLocalAssetEntityCompanion
|
||||
updatedAt: updatedAt ?? this.updatedAt,
|
||||
width: width ?? this.width,
|
||||
height: height ?? this.height,
|
||||
durationInSeconds: durationInSeconds ?? this.durationInSeconds,
|
||||
durationMs: durationMs ?? this.durationMs,
|
||||
id: id ?? this.id,
|
||||
albumId: albumId ?? this.albumId,
|
||||
checksum: checksum ?? this.checksum,
|
||||
@@ -1185,8 +1180,8 @@ class TrashedLocalAssetEntityCompanion
|
||||
if (height.present) {
|
||||
map['height'] = i0.Variable<int>(height.value);
|
||||
}
|
||||
if (durationInSeconds.present) {
|
||||
map['duration_in_seconds'] = i0.Variable<int>(durationInSeconds.value);
|
||||
if (durationMs.present) {
|
||||
map['duration_ms'] = i0.Variable<int>(durationMs.value);
|
||||
}
|
||||
if (id.present) {
|
||||
map['id'] = i0.Variable<String>(id.value);
|
||||
@@ -1227,7 +1222,7 @@ class TrashedLocalAssetEntityCompanion
|
||||
..write('updatedAt: $updatedAt, ')
|
||||
..write('width: $width, ')
|
||||
..write('height: $height, ')
|
||||
..write('durationInSeconds: $durationInSeconds, ')
|
||||
..write('durationMs: $durationMs, ')
|
||||
..write('id: $id, ')
|
||||
..write('albumId: $albumId, ')
|
||||
..write('checksum: $checksum, ')
|
||||
|
||||
@@ -10,6 +10,7 @@ import 'package:immich_mobile/infrastructure/entities/exif.entity.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/local_album.entity.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/local_album_asset.entity.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/local_asset.entity.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/local_asset.entity.drift.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/memory.entity.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/memory_asset.entity.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/partner.entity.dart';
|
||||
@@ -18,10 +19,12 @@ import 'package:immich_mobile/infrastructure/entities/remote_album.entity.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/remote_album_asset.entity.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/remote_album_user.entity.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/remote_asset.entity.drift.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/remote_asset_cloud_id.entity.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/stack.entity.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/store.entity.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/trashed_local_asset.entity.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/trashed_local_asset.entity.drift.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/user.entity.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/user_metadata.entity.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/db.repository.drift.dart';
|
||||
@@ -81,7 +84,7 @@ class Drift extends $Drift {
|
||||
}
|
||||
|
||||
@override
|
||||
int get schemaVersion => 22;
|
||||
int get schemaVersion => 23;
|
||||
|
||||
@override
|
||||
MigrationStrategy get migration => MigrationStrategy(
|
||||
@@ -222,6 +225,27 @@ class Drift extends $Drift {
|
||||
await m.createTable(v22.assetEditEntity);
|
||||
await m.createIndex(v22.idxAssetEditAssetId);
|
||||
},
|
||||
from22To23: (m, v23) async {
|
||||
await m.renameColumn(v23.localAssetEntity, 'duration_in_seconds', v23.localAssetEntity.durationMs);
|
||||
await m.renameColumn(v23.remoteAssetEntity, 'duration_in_seconds', v23.remoteAssetEntity.durationMs);
|
||||
await m.renameColumn(
|
||||
v23.trashedLocalAssetEntity,
|
||||
'duration_in_seconds',
|
||||
v23.trashedLocalAssetEntity.durationMs,
|
||||
);
|
||||
|
||||
await localAssetEntity.update().write(
|
||||
LocalAssetEntityCompanion.custom(durationMs: v23.localAssetEntity.durationMs * const Constant(1000)),
|
||||
);
|
||||
await remoteAssetEntity.update().write(
|
||||
RemoteAssetEntityCompanion.custom(durationMs: v23.remoteAssetEntity.durationMs * const Constant(1000)),
|
||||
);
|
||||
await trashedLocalAssetEntity.update().write(
|
||||
TrashedLocalAssetEntityCompanion.custom(
|
||||
durationMs: v23.trashedLocalAssetEntity.durationMs * const Constant(1000),
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -297,7 +297,7 @@ class DriftLocalAlbumRepository extends DriftDatabaseRepository {
|
||||
updatedAt: Value(asset.updatedAt),
|
||||
width: Value(asset.width),
|
||||
height: Value(asset.height),
|
||||
durationInSeconds: Value(asset.durationInSeconds),
|
||||
durationMs: Value(asset.durationMs),
|
||||
id: asset.id,
|
||||
orientation: Value(asset.orientation),
|
||||
isFavorite: Value(asset.isFavorite),
|
||||
@@ -329,7 +329,7 @@ class DriftLocalAlbumRepository extends DriftDatabaseRepository {
|
||||
updatedAt: Value(asset.updatedAt),
|
||||
width: Value(asset.width),
|
||||
height: Value(asset.height),
|
||||
durationInSeconds: Value(asset.durationInSeconds),
|
||||
durationMs: Value(asset.durationMs),
|
||||
id: asset.id,
|
||||
checksum: const Value(null),
|
||||
orientation: Value(asset.orientation),
|
||||
|
||||
@@ -9,6 +9,7 @@ import 'package:immich_mobile/domain/models/asset_edit.model.dart';
|
||||
import 'package:immich_mobile/domain/models/memory.model.dart';
|
||||
import 'package:immich_mobile/domain/models/user.model.dart';
|
||||
import 'package:immich_mobile/domain/models/user_metadata.model.dart';
|
||||
import 'package:immich_mobile/extensions/string_extensions.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/asset_edit.entity.drift.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/asset_face.entity.drift.dart';
|
||||
import 'package:immich_mobile/infrastructure/entities/auth_user.entity.drift.dart';
|
||||
@@ -190,7 +191,7 @@ class SyncStreamRepository extends DriftDatabaseRepository {
|
||||
type: Value(asset.type.toAssetType()),
|
||||
createdAt: Value.absentIfNull(asset.fileCreatedAt),
|
||||
updatedAt: Value.absentIfNull(asset.fileModifiedAt),
|
||||
durationInSeconds: Value(asset.duration?.toDuration()?.inSeconds ?? 0),
|
||||
durationMs: Value(asset.duration?.toDuration()?.inMilliseconds ?? 0),
|
||||
checksum: Value(asset.checksum),
|
||||
isFavorite: Value(asset.isFavorite),
|
||||
ownerId: Value(asset.ownerId),
|
||||
@@ -843,18 +844,6 @@ extension on api.UserMetadataKey {
|
||||
};
|
||||
}
|
||||
|
||||
extension on String {
|
||||
Duration? toDuration() {
|
||||
try {
|
||||
final parts = split(':').map((e) => double.parse(e).toInt()).toList(growable: false);
|
||||
|
||||
return Duration(hours: parts[0], minutes: parts[1], seconds: parts[2]);
|
||||
} catch (_) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension on UserAvatarColor {
|
||||
AvatarColor? toAvatarColor() => AvatarColor.values.firstWhereOrNull((c) => c.name == value);
|
||||
}
|
||||
|
||||
@@ -83,7 +83,7 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||
width: row.width,
|
||||
height: row.height,
|
||||
isFavorite: row.isFavorite,
|
||||
durationInSeconds: row.durationInSeconds,
|
||||
durationMs: row.durationMs,
|
||||
livePhotoVideoId: row.livePhotoVideoId,
|
||||
stackId: row.stackId,
|
||||
isEdited: row.isEdited,
|
||||
@@ -99,7 +99,7 @@ class DriftTimelineRepository extends DriftDatabaseRepository {
|
||||
width: row.width,
|
||||
height: row.height,
|
||||
isFavorite: row.isFavorite,
|
||||
durationInSeconds: row.durationInSeconds,
|
||||
durationMs: row.durationMs,
|
||||
orientation: row.orientation,
|
||||
playbackStyle: AssetPlaybackStyle.values[row.playbackStyle],
|
||||
cloudId: row.iCloudId,
|
||||
|
||||
@@ -82,7 +82,7 @@ class DriftTrashedLocalAssetRepository extends DriftDatabaseRepository {
|
||||
updatedAt: Value(item.asset.updatedAt),
|
||||
width: Value(item.asset.width),
|
||||
height: Value(item.asset.height),
|
||||
durationInSeconds: Value(item.asset.durationInSeconds),
|
||||
durationMs: Value(item.asset.durationMs),
|
||||
isFavorite: Value(item.asset.isFavorite),
|
||||
orientation: Value(item.asset.orientation),
|
||||
playbackStyle: Value(item.asset.playbackStyle),
|
||||
@@ -145,7 +145,7 @@ class DriftTrashedLocalAssetRepository extends DriftDatabaseRepository {
|
||||
type: Value(asset.type),
|
||||
width: Value(asset.width),
|
||||
height: Value(asset.height),
|
||||
durationInSeconds: Value(asset.durationInSeconds),
|
||||
durationMs: Value(asset.durationMs),
|
||||
isFavorite: Value(asset.isFavorite),
|
||||
orientation: Value(asset.orientation),
|
||||
playbackStyle: Value(asset.playbackStyle),
|
||||
@@ -193,7 +193,7 @@ class DriftTrashedLocalAssetRepository extends DriftDatabaseRepository {
|
||||
updatedAt: Value(e.updatedAt),
|
||||
width: Value(e.width),
|
||||
height: Value(e.height),
|
||||
durationInSeconds: Value(e.durationInSeconds),
|
||||
durationMs: Value(e.durationMs),
|
||||
checksum: Value(e.checksum),
|
||||
isFavorite: Value(e.isFavorite),
|
||||
orientation: Value(e.orientation),
|
||||
@@ -244,7 +244,7 @@ class DriftTrashedLocalAssetRepository extends DriftDatabaseRepository {
|
||||
updatedAt: Value(e.asset.updatedAt),
|
||||
width: Value(e.asset.width),
|
||||
height: Value(e.asset.height),
|
||||
durationInSeconds: Value(e.asset.durationInSeconds),
|
||||
durationMs: Value(e.asset.durationMs),
|
||||
checksum: Value(e.asset.checksum),
|
||||
isFavorite: Value(e.asset.isFavorite),
|
||||
orientation: Value(e.asset.orientation),
|
||||
|
||||
@@ -8,5 +8,5 @@ mixin AssetEntityMixin on Table {
|
||||
DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)();
|
||||
IntColumn get width => integer().nullable()();
|
||||
IntColumn get height => integer().nullable()();
|
||||
IntColumn get durationInSeconds => integer().nullable()();
|
||||
IntColumn get durationMs => integer().nullable()();
|
||||
}
|
||||
|
||||
10
mobile/lib/platform/native_sync_api.g.dart
generated
10
mobile/lib/platform/native_sync_api.g.dart
generated
@@ -97,7 +97,7 @@ class PlatformAsset {
|
||||
this.updatedAt,
|
||||
this.width,
|
||||
this.height,
|
||||
required this.durationInSeconds,
|
||||
required this.durationMs,
|
||||
required this.orientation,
|
||||
required this.isFavorite,
|
||||
this.adjustmentTime,
|
||||
@@ -120,7 +120,7 @@ class PlatformAsset {
|
||||
|
||||
int? height;
|
||||
|
||||
int durationInSeconds;
|
||||
int durationMs;
|
||||
|
||||
int orientation;
|
||||
|
||||
@@ -143,7 +143,7 @@ class PlatformAsset {
|
||||
updatedAt,
|
||||
width,
|
||||
height,
|
||||
durationInSeconds,
|
||||
durationMs,
|
||||
orientation,
|
||||
isFavorite,
|
||||
adjustmentTime,
|
||||
@@ -167,7 +167,7 @@ class PlatformAsset {
|
||||
updatedAt: result[4] as int?,
|
||||
width: result[5] as int?,
|
||||
height: result[6] as int?,
|
||||
durationInSeconds: result[7]! as int,
|
||||
durationMs: result[7]! as int,
|
||||
orientation: result[8]! as int,
|
||||
isFavorite: result[9]! as bool,
|
||||
adjustmentTime: result[10] as int?,
|
||||
@@ -193,7 +193,7 @@ class PlatformAsset {
|
||||
_deepEquals(updatedAt, other.updatedAt) &&
|
||||
_deepEquals(width, other.width) &&
|
||||
_deepEquals(height, other.height) &&
|
||||
_deepEquals(durationInSeconds, other.durationInSeconds) &&
|
||||
_deepEquals(durationMs, other.durationMs) &&
|
||||
_deepEquals(orientation, other.orientation) &&
|
||||
_deepEquals(isFavorite, other.isFavorite) &&
|
||||
_deepEquals(adjustmentTime, other.adjustmentTime) &&
|
||||
|
||||
@@ -112,10 +112,7 @@ class _AssetPropertiesSectionState extends ConsumerState<_AssetPropertiesSection
|
||||
_PropertyItem(label: 'Updated At', value: asset.updatedAt.toString()),
|
||||
_PropertyItem(label: 'Width', value: asset.width?.toString()),
|
||||
_PropertyItem(label: 'Height', value: asset.height?.toString()),
|
||||
_PropertyItem(
|
||||
label: 'Duration',
|
||||
value: asset.durationInSeconds != null ? '${asset.durationInSeconds} seconds' : null,
|
||||
),
|
||||
_PropertyItem(label: 'Duration', value: asset.durationMs != null ? '${asset.durationMs} ms' : null),
|
||||
_PropertyItem(label: 'Is Favorite', value: asset.isFavorite.toString()),
|
||||
_PropertyItem(label: 'Live Photo Video ID', value: asset.livePhotoVideoId),
|
||||
_PropertyItem(label: 'Is Edited', value: asset.isEdited.toString()),
|
||||
|
||||
@@ -56,10 +56,13 @@ class _AssetPageState extends ConsumerState<AssetPage> {
|
||||
_DragIntent _dragIntent = _DragIntent.none;
|
||||
Drag? _drag;
|
||||
|
||||
BaseAsset? _asset;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_eventSubscription = EventStream.shared.listen(_onEvent);
|
||||
_asset = ref.read(timelineServiceProvider).getAssetSafe(widget.index);
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
if (!mounted || !_scrollController.hasClients) return;
|
||||
_scrollController.snapPosition.snapOffset = _snapOffset;
|
||||
@@ -69,6 +72,14 @@ class _AssetPageState extends ConsumerState<AssetPage> {
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
void didUpdateWidget(AssetPage oldWidget) {
|
||||
super.didUpdateWidget(oldWidget);
|
||||
if (oldWidget.index != widget.index) {
|
||||
_asset = ref.read(timelineServiceProvider).getAssetSafe(widget.index);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_scrollController.dispose();
|
||||
@@ -357,7 +368,7 @@ class _AssetPageState extends ConsumerState<AssetPage> {
|
||||
final stackIndex = ref.watch(assetViewerProvider.select((s) => s.stackIndex));
|
||||
final isPlayingMotionVideo = ref.watch(isPlayingMotionVideoProvider);
|
||||
|
||||
final asset = ref.read(timelineServiceProvider).getAssetSafe(widget.index);
|
||||
final asset = _asset;
|
||||
if (asset == null) {
|
||||
return const Center(child: ImmichLoadingIndicator());
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
[tools]
|
||||
flutter = "3.41.6"
|
||||
flutter = "3.41.7"
|
||||
|
||||
[tools."github:CQLabs/homebrew-dcm"]
|
||||
version = "1.30.0"
|
||||
|
||||
3
mobile/openapi/lib/model/asset_media_status.dart
generated
3
mobile/openapi/lib/model/asset_media_status.dart
generated
@@ -24,13 +24,11 @@ class AssetMediaStatus {
|
||||
String toJson() => value;
|
||||
|
||||
static const created = AssetMediaStatus._(r'created');
|
||||
static const replaced = AssetMediaStatus._(r'replaced');
|
||||
static const duplicate = AssetMediaStatus._(r'duplicate');
|
||||
|
||||
/// List of all possible values in this [enum][AssetMediaStatus].
|
||||
static const values = <AssetMediaStatus>[
|
||||
created,
|
||||
replaced,
|
||||
duplicate,
|
||||
];
|
||||
|
||||
@@ -71,7 +69,6 @@ class AssetMediaStatusTypeTransformer {
|
||||
if (data != null) {
|
||||
switch (data) {
|
||||
case r'created': return AssetMediaStatus.created;
|
||||
case r'replaced': return AssetMediaStatus.replaced;
|
||||
case r'duplicate': return AssetMediaStatus.duplicate;
|
||||
default:
|
||||
if (!allowNull) {
|
||||
|
||||
@@ -32,7 +32,7 @@ class PlatformAsset {
|
||||
final int? updatedAt;
|
||||
final int? width;
|
||||
final int? height;
|
||||
final int durationInSeconds;
|
||||
final int durationMs;
|
||||
final int orientation;
|
||||
final bool isFavorite;
|
||||
|
||||
@@ -50,7 +50,7 @@ class PlatformAsset {
|
||||
this.updatedAt,
|
||||
this.width,
|
||||
this.height,
|
||||
this.durationInSeconds = 0,
|
||||
this.durationMs = 0,
|
||||
this.orientation = 0,
|
||||
this.isFavorite = false,
|
||||
this.adjustmentTime,
|
||||
|
||||
@@ -1989,4 +1989,4 @@ packages:
|
||||
version: "3.1.3"
|
||||
sdks:
|
||||
dart: ">=3.11.0 <4.0.0"
|
||||
flutter: "3.41.6"
|
||||
flutter: "3.41.7"
|
||||
|
||||
@@ -6,7 +6,7 @@ version: 2.7.5+3046
|
||||
|
||||
environment:
|
||||
sdk: '>=3.11.0 <4.0.0'
|
||||
flutter: 3.41.6
|
||||
flutter: 3.41.7
|
||||
|
||||
dependencies:
|
||||
async: ^2.13.1
|
||||
|
||||
@@ -1,194 +0,0 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:immich_mobile/domain/models/album/local_album.model.dart';
|
||||
import 'package:immich_mobile/domain/services/hash.service.dart';
|
||||
import 'package:immich_mobile/platform/native_sync_api.g.dart';
|
||||
import 'package:mocktail/mocktail.dart';
|
||||
|
||||
import '../../fixtures/album.stub.dart';
|
||||
import '../../fixtures/asset.stub.dart';
|
||||
import '../../infrastructure/repository.mock.dart';
|
||||
import '../service.mock.dart';
|
||||
|
||||
void main() {
|
||||
late HashService sut;
|
||||
late MockLocalAlbumRepository mockAlbumRepo;
|
||||
late MockLocalAssetRepository mockAssetRepo;
|
||||
late MockNativeSyncApi mockNativeApi;
|
||||
late MockTrashedLocalAssetRepository mockTrashedAssetRepo;
|
||||
|
||||
setUp(() {
|
||||
mockAlbumRepo = MockLocalAlbumRepository();
|
||||
mockAssetRepo = MockLocalAssetRepository();
|
||||
mockNativeApi = MockNativeSyncApi();
|
||||
mockTrashedAssetRepo = MockTrashedLocalAssetRepository();
|
||||
|
||||
sut = HashService(
|
||||
localAlbumRepository: mockAlbumRepo,
|
||||
localAssetRepository: mockAssetRepo,
|
||||
nativeSyncApi: mockNativeApi,
|
||||
trashedLocalAssetRepository: mockTrashedAssetRepo,
|
||||
);
|
||||
|
||||
registerFallbackValue(LocalAlbumStub.recent);
|
||||
registerFallbackValue(LocalAssetStub.image1);
|
||||
registerFallbackValue(<String, String>{});
|
||||
|
||||
when(() => mockAssetRepo.reconcileHashesFromCloudId()).thenAnswer((_) async => {});
|
||||
when(() => mockAssetRepo.updateHashes(any())).thenAnswer((_) async => {});
|
||||
});
|
||||
|
||||
group('HashService hashAssets', () {
|
||||
test('skips albums with no assets to hash', () async {
|
||||
when(
|
||||
() => mockAlbumRepo.getBackupAlbums(),
|
||||
).thenAnswer((_) async => [LocalAlbumStub.recent.copyWith(assetCount: 0)]);
|
||||
when(() => mockAlbumRepo.getAssetsToHash(LocalAlbumStub.recent.id)).thenAnswer((_) async => []);
|
||||
|
||||
await sut.hashAssets();
|
||||
|
||||
verifyNever(() => mockNativeApi.hashAssets(any(), allowNetworkAccess: any(named: 'allowNetworkAccess')));
|
||||
});
|
||||
});
|
||||
|
||||
group('HashService _hashAssets', () {
|
||||
test('skips empty batches', () async {
|
||||
final album = LocalAlbumStub.recent;
|
||||
when(() => mockAlbumRepo.getBackupAlbums()).thenAnswer((_) async => [album]);
|
||||
when(() => mockAlbumRepo.getAssetsToHash(album.id)).thenAnswer((_) async => []);
|
||||
|
||||
await sut.hashAssets();
|
||||
|
||||
verifyNever(() => mockNativeApi.hashAssets(any(), allowNetworkAccess: any(named: 'allowNetworkAccess')));
|
||||
});
|
||||
|
||||
test('processes assets when available', () async {
|
||||
final album = LocalAlbumStub.recent;
|
||||
final asset = LocalAssetStub.image1;
|
||||
|
||||
when(() => mockAlbumRepo.getBackupAlbums()).thenAnswer((_) async => [album]);
|
||||
when(() => mockAlbumRepo.getAssetsToHash(album.id)).thenAnswer((_) async => [asset]);
|
||||
when(
|
||||
() => mockNativeApi.hashAssets([asset.id], allowNetworkAccess: false),
|
||||
).thenAnswer((_) async => [HashResult(assetId: asset.id, hash: 'test-hash')]);
|
||||
|
||||
await sut.hashAssets();
|
||||
|
||||
verify(() => mockNativeApi.hashAssets([asset.id], allowNetworkAccess: false)).called(1);
|
||||
final captured = verify(() => mockAssetRepo.updateHashes(captureAny())).captured.first as Map<String, String>;
|
||||
expect(captured.length, 1);
|
||||
expect(captured[asset.id], 'test-hash');
|
||||
});
|
||||
|
||||
test('handles failed hashes', () async {
|
||||
final album = LocalAlbumStub.recent;
|
||||
final asset = LocalAssetStub.image1;
|
||||
|
||||
when(() => mockAlbumRepo.getBackupAlbums()).thenAnswer((_) async => [album]);
|
||||
when(() => mockAlbumRepo.getAssetsToHash(album.id)).thenAnswer((_) async => [asset]);
|
||||
when(
|
||||
() => mockNativeApi.hashAssets([asset.id], allowNetworkAccess: false),
|
||||
).thenAnswer((_) async => [HashResult(assetId: asset.id, error: 'Failed to hash')]);
|
||||
|
||||
await sut.hashAssets();
|
||||
|
||||
final captured = verify(() => mockAssetRepo.updateHashes(captureAny())).captured.first as Map<String, String>;
|
||||
expect(captured.length, 0);
|
||||
});
|
||||
|
||||
test('handles null hash results', () async {
|
||||
final album = LocalAlbumStub.recent;
|
||||
final asset = LocalAssetStub.image1;
|
||||
|
||||
when(() => mockAlbumRepo.getBackupAlbums()).thenAnswer((_) async => [album]);
|
||||
when(() => mockAlbumRepo.getAssetsToHash(album.id)).thenAnswer((_) async => [asset]);
|
||||
when(
|
||||
() => mockNativeApi.hashAssets([asset.id], allowNetworkAccess: false),
|
||||
).thenAnswer((_) async => [HashResult(assetId: asset.id, hash: null)]);
|
||||
|
||||
await sut.hashAssets();
|
||||
|
||||
final captured = verify(() => mockAssetRepo.updateHashes(captureAny())).captured.first as Map<String, String>;
|
||||
expect(captured.length, 0);
|
||||
});
|
||||
|
||||
test('batches by size limit', () async {
|
||||
const batchSize = 2;
|
||||
final sut = HashService(
|
||||
localAlbumRepository: mockAlbumRepo,
|
||||
localAssetRepository: mockAssetRepo,
|
||||
nativeSyncApi: mockNativeApi,
|
||||
batchSize: batchSize,
|
||||
trashedLocalAssetRepository: mockTrashedAssetRepo,
|
||||
);
|
||||
|
||||
final album = LocalAlbumStub.recent;
|
||||
final asset1 = LocalAssetStub.image1;
|
||||
final asset2 = LocalAssetStub.image2;
|
||||
final asset3 = LocalAssetStub.image1.copyWith(id: 'image3', name: 'image3.jpg');
|
||||
|
||||
final capturedCalls = <List<String>>[];
|
||||
|
||||
when(() => mockAssetRepo.updateHashes(any())).thenAnswer((_) async => {});
|
||||
when(() => mockAlbumRepo.getBackupAlbums()).thenAnswer((_) async => [album]);
|
||||
when(() => mockAlbumRepo.getAssetsToHash(album.id)).thenAnswer((_) async => [asset1, asset2, asset3]);
|
||||
when(() => mockNativeApi.hashAssets(any(), allowNetworkAccess: any(named: 'allowNetworkAccess'))).thenAnswer((
|
||||
invocation,
|
||||
) async {
|
||||
final assetIds = invocation.positionalArguments[0] as List<String>;
|
||||
capturedCalls.add(List<String>.from(assetIds));
|
||||
return assetIds.map((id) => HashResult(assetId: id, hash: '$id-hash')).toList();
|
||||
});
|
||||
|
||||
await sut.hashAssets();
|
||||
|
||||
expect(capturedCalls.length, 2, reason: 'Should make exactly 2 calls to hashAssets');
|
||||
expect(capturedCalls[0], [asset1.id, asset2.id], reason: 'First call should batch the first two assets');
|
||||
expect(capturedCalls[1], [asset3.id], reason: 'Second call should have the remaining asset');
|
||||
|
||||
verify(() => mockAssetRepo.updateHashes(any())).called(2);
|
||||
});
|
||||
|
||||
test('handles mixed success and failure in batch', () async {
|
||||
final album = LocalAlbumStub.recent;
|
||||
final asset1 = LocalAssetStub.image1;
|
||||
final asset2 = LocalAssetStub.image2;
|
||||
|
||||
when(() => mockAlbumRepo.getBackupAlbums()).thenAnswer((_) async => [album]);
|
||||
when(() => mockAlbumRepo.getAssetsToHash(album.id)).thenAnswer((_) async => [asset1, asset2]);
|
||||
when(() => mockNativeApi.hashAssets([asset1.id, asset2.id], allowNetworkAccess: false)).thenAnswer(
|
||||
(_) async => [
|
||||
HashResult(assetId: asset1.id, hash: 'asset1-hash'),
|
||||
HashResult(assetId: asset2.id, error: 'Failed to hash asset2'),
|
||||
],
|
||||
);
|
||||
|
||||
await sut.hashAssets();
|
||||
|
||||
final captured = verify(() => mockAssetRepo.updateHashes(captureAny())).captured.first as Map<String, String>;
|
||||
expect(captured.length, 1);
|
||||
expect(captured[asset1.id], 'asset1-hash');
|
||||
});
|
||||
|
||||
test('uses allowNetworkAccess based on album backup selection', () async {
|
||||
final selectedAlbum = LocalAlbumStub.recent.copyWith(backupSelection: BackupSelection.selected);
|
||||
final nonSelectedAlbum = LocalAlbumStub.recent.copyWith(id: 'album2', backupSelection: BackupSelection.excluded);
|
||||
final asset1 = LocalAssetStub.image1;
|
||||
final asset2 = LocalAssetStub.image2;
|
||||
|
||||
when(() => mockAlbumRepo.getBackupAlbums()).thenAnswer((_) async => [selectedAlbum, nonSelectedAlbum]);
|
||||
when(() => mockAlbumRepo.getAssetsToHash(selectedAlbum.id)).thenAnswer((_) async => [asset1]);
|
||||
when(() => mockAlbumRepo.getAssetsToHash(nonSelectedAlbum.id)).thenAnswer((_) async => [asset2]);
|
||||
when(() => mockNativeApi.hashAssets(any(), allowNetworkAccess: any(named: 'allowNetworkAccess'))).thenAnswer((
|
||||
invocation,
|
||||
) async {
|
||||
final assetIds = invocation.positionalArguments[0] as List<String>;
|
||||
return assetIds.map((id) => HashResult(assetId: id, hash: '$id-hash')).toList();
|
||||
});
|
||||
|
||||
await sut.hashAssets();
|
||||
|
||||
verify(() => mockNativeApi.hashAssets([asset1.id], allowNetworkAccess: true)).called(1);
|
||||
verify(() => mockNativeApi.hashAssets([asset2.id], allowNetworkAccess: false)).called(1);
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -128,7 +128,7 @@ void main() {
|
||||
id: 'remote-id',
|
||||
name: 'remote.jpg',
|
||||
type: AssetType.image.index,
|
||||
durationInSeconds: 0,
|
||||
durationMs: 0,
|
||||
orientation: 0,
|
||||
isFavorite: false,
|
||||
playbackStyle: PlatformAssetPlaybackStyle.image
|
||||
@@ -210,7 +210,7 @@ void main() {
|
||||
id: 'test-id',
|
||||
name: 'test.jpg',
|
||||
type: AssetType.image.index,
|
||||
durationInSeconds: 0,
|
||||
durationMs: 0,
|
||||
orientation: 0,
|
||||
isFavorite: false,
|
||||
createdAt: 1700000000,
|
||||
|
||||
9
mobile/test/drift/main/generated/schema.dart
generated
9
mobile/test/drift/main/generated/schema.dart
generated
@@ -1,6 +1,7 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
import 'package:drift/internal/migrations.dart';
|
||||
import 'schema_v1.dart' as v1;
|
||||
@@ -25,6 +26,7 @@ import 'schema_v19.dart' as v19;
|
||||
import 'schema_v20.dart' as v20;
|
||||
import 'schema_v21.dart' as v21;
|
||||
import 'schema_v22.dart' as v22;
|
||||
import 'schema_v23.dart' as v23;
|
||||
|
||||
class GeneratedHelper implements SchemaInstantiationHelper {
|
||||
@override
|
||||
@@ -74,6 +76,8 @@ class GeneratedHelper implements SchemaInstantiationHelper {
|
||||
return v21.DatabaseAtV21(db);
|
||||
case 22:
|
||||
return v22.DatabaseAtV22(db);
|
||||
case 23:
|
||||
return v23.DatabaseAtV23(db);
|
||||
default:
|
||||
throw MissingSchemaException(version, versions);
|
||||
}
|
||||
@@ -102,5 +106,6 @@ class GeneratedHelper implements SchemaInstantiationHelper {
|
||||
20,
|
||||
21,
|
||||
22,
|
||||
23,
|
||||
];
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v1.dart
generated
41
mobile/test/drift/main/generated/schema_v1.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -1974,13 +1976,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -2024,7 +2027,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -2035,7 +2038,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -2047,7 +2050,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -2056,14 +2059,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -2102,7 +2105,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -2111,14 +2114,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -2130,7 +2133,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -2149,7 +2152,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v10.dart
generated
41
mobile/test/drift/main/generated/schema_v10.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -3430,13 +3432,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -3480,7 +3483,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -3491,7 +3494,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -3503,7 +3506,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -3512,14 +3515,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -3558,7 +3561,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -3567,14 +3570,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -3586,7 +3589,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -3605,7 +3608,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v11.dart
generated
41
mobile/test/drift/main/generated/schema_v11.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -3469,13 +3471,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -3519,7 +3522,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -3530,7 +3533,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -3542,7 +3545,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -3551,14 +3554,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -3597,7 +3600,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -3606,14 +3609,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -3625,7 +3628,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -3644,7 +3647,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v12.dart
generated
41
mobile/test/drift/main/generated/schema_v12.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -3469,13 +3471,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -3519,7 +3522,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -3530,7 +3533,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -3542,7 +3545,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -3551,14 +3554,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -3597,7 +3600,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -3606,14 +3609,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -3625,7 +3628,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -3644,7 +3647,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v13.dart
generated
41
mobile/test/drift/main/generated/schema_v13.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -3469,13 +3471,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -3519,7 +3522,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -3530,7 +3533,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -3542,7 +3545,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -3551,14 +3554,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -3597,7 +3600,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -3606,14 +3609,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -3625,7 +3628,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -3644,7 +3647,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v14.dart
generated
41
mobile/test/drift/main/generated/schema_v14.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -3582,13 +3584,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -3632,7 +3635,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -3643,7 +3646,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -3655,7 +3658,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -3664,14 +3667,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -3710,7 +3713,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -3719,14 +3722,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -3738,7 +3741,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -3757,7 +3760,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v15.dart
generated
41
mobile/test/drift/main/generated/schema_v15.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -3582,13 +3584,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -3632,7 +3635,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -3643,7 +3646,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -3655,7 +3658,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -3664,14 +3667,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -3710,7 +3713,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -3719,14 +3722,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -3738,7 +3741,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -3757,7 +3760,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v16.dart
generated
41
mobile/test/drift/main/generated/schema_v16.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -3618,13 +3620,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -3668,7 +3671,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -3679,7 +3682,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -3691,7 +3694,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -3700,14 +3703,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -3746,7 +3749,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -3755,14 +3758,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -3774,7 +3777,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -3793,7 +3796,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v17.dart
generated
41
mobile/test/drift/main/generated/schema_v17.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -3656,13 +3658,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -3706,7 +3709,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -3717,7 +3720,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -3729,7 +3732,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -3738,14 +3741,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -3784,7 +3787,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -3793,14 +3796,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -3812,7 +3815,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -3831,7 +3834,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v18.dart
generated
41
mobile/test/drift/main/generated/schema_v18.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -3656,13 +3658,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -3706,7 +3709,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -3717,7 +3720,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -3729,7 +3732,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -3738,14 +3741,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -3784,7 +3787,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -3793,14 +3796,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -3812,7 +3815,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -3831,7 +3834,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v19.dart
generated
41
mobile/test/drift/main/generated/schema_v19.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -3656,13 +3658,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -3706,7 +3709,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -3717,7 +3720,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -3729,7 +3732,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -3738,14 +3741,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -3784,7 +3787,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -3793,14 +3796,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -3812,7 +3815,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -3831,7 +3834,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v2.dart
generated
41
mobile/test/drift/main/generated/schema_v2.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -1974,13 +1976,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -2024,7 +2027,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -2035,7 +2038,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -2047,7 +2050,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -2056,14 +2059,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -2102,7 +2105,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -2111,14 +2114,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -2130,7 +2133,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -2149,7 +2152,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v20.dart
generated
41
mobile/test/drift/main/generated/schema_v20.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -3656,13 +3658,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -3706,7 +3709,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -3717,7 +3720,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -3729,7 +3732,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -3738,14 +3741,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -3784,7 +3787,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -3793,14 +3796,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -3812,7 +3815,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -3831,7 +3834,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v21.dart
generated
41
mobile/test/drift/main/generated/schema_v21.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -3693,13 +3695,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -3743,7 +3746,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -3754,7 +3757,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -3766,7 +3769,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -3775,14 +3778,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -3821,7 +3824,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -3830,14 +3833,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -3849,7 +3852,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -3868,7 +3871,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
76
mobile/test/drift/main/generated/schema_v22.dart
generated
76
mobile/test/drift/main/generated/schema_v22.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -3693,13 +3695,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -3743,7 +3746,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -3754,7 +3757,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -3766,7 +3769,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -3775,14 +3778,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -3821,7 +3824,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -3830,14 +3833,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -3849,7 +3852,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -3868,7 +3871,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
@@ -8409,13 +8412,14 @@ class AssetEditEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> parameters = GeneratedColumn<Uint8List>(
|
||||
'parameters',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> parameters =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'parameters',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<int> sequence = GeneratedColumn<int>(
|
||||
'sequence',
|
||||
aliasedName,
|
||||
@@ -8481,7 +8485,7 @@ class AssetEditEntityData extends DataClass
|
||||
final String id;
|
||||
final String assetId;
|
||||
final int action;
|
||||
final Uint8List parameters;
|
||||
final i2.Uint8List parameters;
|
||||
final int sequence;
|
||||
const AssetEditEntityData({
|
||||
required this.id,
|
||||
@@ -8496,7 +8500,7 @@ class AssetEditEntityData extends DataClass
|
||||
map['id'] = Variable<String>(id);
|
||||
map['asset_id'] = Variable<String>(assetId);
|
||||
map['action'] = Variable<int>(action);
|
||||
map['parameters'] = Variable<Uint8List>(parameters);
|
||||
map['parameters'] = Variable<i2.Uint8List>(parameters);
|
||||
map['sequence'] = Variable<int>(sequence);
|
||||
return map;
|
||||
}
|
||||
@@ -8510,7 +8514,7 @@ class AssetEditEntityData extends DataClass
|
||||
id: serializer.fromJson<String>(json['id']),
|
||||
assetId: serializer.fromJson<String>(json['assetId']),
|
||||
action: serializer.fromJson<int>(json['action']),
|
||||
parameters: serializer.fromJson<Uint8List>(json['parameters']),
|
||||
parameters: serializer.fromJson<i2.Uint8List>(json['parameters']),
|
||||
sequence: serializer.fromJson<int>(json['sequence']),
|
||||
);
|
||||
}
|
||||
@@ -8521,7 +8525,7 @@ class AssetEditEntityData extends DataClass
|
||||
'id': serializer.toJson<String>(id),
|
||||
'assetId': serializer.toJson<String>(assetId),
|
||||
'action': serializer.toJson<int>(action),
|
||||
'parameters': serializer.toJson<Uint8List>(parameters),
|
||||
'parameters': serializer.toJson<i2.Uint8List>(parameters),
|
||||
'sequence': serializer.toJson<int>(sequence),
|
||||
};
|
||||
}
|
||||
@@ -8530,7 +8534,7 @@ class AssetEditEntityData extends DataClass
|
||||
String? id,
|
||||
String? assetId,
|
||||
int? action,
|
||||
Uint8List? parameters,
|
||||
i2.Uint8List? parameters,
|
||||
int? sequence,
|
||||
}) => AssetEditEntityData(
|
||||
id: id ?? this.id,
|
||||
@@ -8586,7 +8590,7 @@ class AssetEditEntityCompanion extends UpdateCompanion<AssetEditEntityData> {
|
||||
final Value<String> id;
|
||||
final Value<String> assetId;
|
||||
final Value<int> action;
|
||||
final Value<Uint8List> parameters;
|
||||
final Value<i2.Uint8List> parameters;
|
||||
final Value<int> sequence;
|
||||
const AssetEditEntityCompanion({
|
||||
this.id = const Value.absent(),
|
||||
@@ -8599,7 +8603,7 @@ class AssetEditEntityCompanion extends UpdateCompanion<AssetEditEntityData> {
|
||||
required String id,
|
||||
required String assetId,
|
||||
required int action,
|
||||
required Uint8List parameters,
|
||||
required i2.Uint8List parameters,
|
||||
required int sequence,
|
||||
}) : id = Value(id),
|
||||
assetId = Value(assetId),
|
||||
@@ -8610,7 +8614,7 @@ class AssetEditEntityCompanion extends UpdateCompanion<AssetEditEntityData> {
|
||||
Expression<String>? id,
|
||||
Expression<String>? assetId,
|
||||
Expression<int>? action,
|
||||
Expression<Uint8List>? parameters,
|
||||
Expression<i2.Uint8List>? parameters,
|
||||
Expression<int>? sequence,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
@@ -8626,7 +8630,7 @@ class AssetEditEntityCompanion extends UpdateCompanion<AssetEditEntityData> {
|
||||
Value<String>? id,
|
||||
Value<String>? assetId,
|
||||
Value<int>? action,
|
||||
Value<Uint8List>? parameters,
|
||||
Value<i2.Uint8List>? parameters,
|
||||
Value<int>? sequence,
|
||||
}) {
|
||||
return AssetEditEntityCompanion(
|
||||
@@ -8651,7 +8655,7 @@ class AssetEditEntityCompanion extends UpdateCompanion<AssetEditEntityData> {
|
||||
map['action'] = Variable<int>(action.value);
|
||||
}
|
||||
if (parameters.present) {
|
||||
map['parameters'] = Variable<Uint8List>(parameters.value);
|
||||
map['parameters'] = Variable<i2.Uint8List>(parameters.value);
|
||||
}
|
||||
if (sequence.present) {
|
||||
map['sequence'] = Variable<int>(sequence.value);
|
||||
|
||||
9179
mobile/test/drift/main/generated/schema_v23.dart
generated
Normal file
9179
mobile/test/drift/main/generated/schema_v23.dart
generated
Normal file
File diff suppressed because it is too large
Load Diff
41
mobile/test/drift/main/generated/schema_v3.dart
generated
41
mobile/test/drift/main/generated/schema_v3.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -1971,13 +1973,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -2021,7 +2024,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -2032,7 +2035,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -2044,7 +2047,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -2053,14 +2056,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -2099,7 +2102,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -2108,14 +2111,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -2127,7 +2130,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -2146,7 +2149,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v4.dart
generated
41
mobile/test/drift/main/generated/schema_v4.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -2492,13 +2494,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -2542,7 +2545,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -2553,7 +2556,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -2565,7 +2568,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -2574,14 +2577,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -2620,7 +2623,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -2629,14 +2632,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -2648,7 +2651,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -2667,7 +2670,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v5.dart
generated
41
mobile/test/drift/main/generated/schema_v5.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -2453,13 +2455,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -2503,7 +2506,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -2514,7 +2517,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -2526,7 +2529,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -2535,14 +2538,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -2581,7 +2584,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -2590,14 +2593,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -2609,7 +2612,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -2628,7 +2631,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v6.dart
generated
41
mobile/test/drift/main/generated/schema_v6.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -2489,13 +2491,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -2539,7 +2542,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -2550,7 +2553,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -2562,7 +2565,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -2571,14 +2574,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -2617,7 +2620,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -2626,14 +2629,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -2645,7 +2648,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -2664,7 +2667,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v7.dart
generated
41
mobile/test/drift/main/generated/schema_v7.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -2489,13 +2491,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -2539,7 +2542,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -2550,7 +2553,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -2562,7 +2565,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -2571,14 +2574,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -2617,7 +2620,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -2626,14 +2629,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -2645,7 +2648,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -2664,7 +2667,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v8.dart
generated
41
mobile/test/drift/main/generated/schema_v8.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -2489,13 +2491,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -2539,7 +2542,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -2550,7 +2553,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -2562,7 +2565,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -2571,14 +2574,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -2617,7 +2620,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -2626,14 +2629,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -2645,7 +2648,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -2664,7 +2667,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
41
mobile/test/drift/main/generated/schema_v9.dart
generated
41
mobile/test/drift/main/generated/schema_v9.dart
generated
@@ -1,6 +1,8 @@
|
||||
// dart format width=80
|
||||
// GENERATED CODE, DO NOT EDIT BY HAND.
|
||||
// ignore_for_file: type=lint
|
||||
import 'dart:typed_data' as i2;
|
||||
// GENERATED BY drift_dev, DO NOT MODIFY.
|
||||
// ignore_for_file: type=lint,unused_import
|
||||
//
|
||||
import 'package:drift/drift.dart';
|
||||
|
||||
class UserEntity extends Table with TableInfo<UserEntity, UserEntityData> {
|
||||
@@ -2985,13 +2987,14 @@ class UserMetadataEntity extends Table
|
||||
type: DriftSqlType.int,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<Uint8List> value = GeneratedColumn<Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
late final GeneratedColumn<i2.Uint8List> value =
|
||||
GeneratedColumn<i2.Uint8List>(
|
||||
'value',
|
||||
aliasedName,
|
||||
false,
|
||||
type: DriftSqlType.blob,
|
||||
requiredDuringInsert: true,
|
||||
);
|
||||
@override
|
||||
List<GeneratedColumn> get $columns => [userId, key, value];
|
||||
@override
|
||||
@@ -3035,7 +3038,7 @@ class UserMetadataEntityData extends DataClass
|
||||
implements Insertable<UserMetadataEntityData> {
|
||||
final String userId;
|
||||
final int key;
|
||||
final Uint8List value;
|
||||
final i2.Uint8List value;
|
||||
const UserMetadataEntityData({
|
||||
required this.userId,
|
||||
required this.key,
|
||||
@@ -3046,7 +3049,7 @@ class UserMetadataEntityData extends DataClass
|
||||
final map = <String, Expression>{};
|
||||
map['user_id'] = Variable<String>(userId);
|
||||
map['key'] = Variable<int>(key);
|
||||
map['value'] = Variable<Uint8List>(value);
|
||||
map['value'] = Variable<i2.Uint8List>(value);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -3058,7 +3061,7 @@ class UserMetadataEntityData extends DataClass
|
||||
return UserMetadataEntityData(
|
||||
userId: serializer.fromJson<String>(json['userId']),
|
||||
key: serializer.fromJson<int>(json['key']),
|
||||
value: serializer.fromJson<Uint8List>(json['value']),
|
||||
value: serializer.fromJson<i2.Uint8List>(json['value']),
|
||||
);
|
||||
}
|
||||
@override
|
||||
@@ -3067,14 +3070,14 @@ class UserMetadataEntityData extends DataClass
|
||||
return <String, dynamic>{
|
||||
'userId': serializer.toJson<String>(userId),
|
||||
'key': serializer.toJson<int>(key),
|
||||
'value': serializer.toJson<Uint8List>(value),
|
||||
'value': serializer.toJson<i2.Uint8List>(value),
|
||||
};
|
||||
}
|
||||
|
||||
UserMetadataEntityData copyWith({
|
||||
String? userId,
|
||||
int? key,
|
||||
Uint8List? value,
|
||||
i2.Uint8List? value,
|
||||
}) => UserMetadataEntityData(
|
||||
userId: userId ?? this.userId,
|
||||
key: key ?? this.key,
|
||||
@@ -3113,7 +3116,7 @@ class UserMetadataEntityCompanion
|
||||
extends UpdateCompanion<UserMetadataEntityData> {
|
||||
final Value<String> userId;
|
||||
final Value<int> key;
|
||||
final Value<Uint8List> value;
|
||||
final Value<i2.Uint8List> value;
|
||||
const UserMetadataEntityCompanion({
|
||||
this.userId = const Value.absent(),
|
||||
this.key = const Value.absent(),
|
||||
@@ -3122,14 +3125,14 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion.insert({
|
||||
required String userId,
|
||||
required int key,
|
||||
required Uint8List value,
|
||||
required i2.Uint8List value,
|
||||
}) : userId = Value(userId),
|
||||
key = Value(key),
|
||||
value = Value(value);
|
||||
static Insertable<UserMetadataEntityData> custom({
|
||||
Expression<String>? userId,
|
||||
Expression<int>? key,
|
||||
Expression<Uint8List>? value,
|
||||
Expression<i2.Uint8List>? value,
|
||||
}) {
|
||||
return RawValuesInsertable({
|
||||
if (userId != null) 'user_id': userId,
|
||||
@@ -3141,7 +3144,7 @@ class UserMetadataEntityCompanion
|
||||
UserMetadataEntityCompanion copyWith({
|
||||
Value<String>? userId,
|
||||
Value<int>? key,
|
||||
Value<Uint8List>? value,
|
||||
Value<i2.Uint8List>? value,
|
||||
}) {
|
||||
return UserMetadataEntityCompanion(
|
||||
userId: userId ?? this.userId,
|
||||
@@ -3160,7 +3163,7 @@ class UserMetadataEntityCompanion
|
||||
map['key'] = Variable<int>(key.value);
|
||||
}
|
||||
if (value.present) {
|
||||
map['value'] = Variable<Uint8List>(value.value);
|
||||
map['value'] = Variable<i2.Uint8List>(value.value);
|
||||
}
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ import 'package:immich_mobile/domain/models/album/local_album.model.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/backup.repository.dart';
|
||||
import 'package:immich_mobile/utils/option.dart';
|
||||
|
||||
import '../../medium/repository_context.dart';
|
||||
import '../repository_context.dart';
|
||||
|
||||
void main() {
|
||||
late MediumRepositoryContext ctx;
|
||||
@@ -4,7 +4,7 @@ import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/local_asset.repository.dart';
|
||||
import 'package:immich_mobile/utils/option.dart';
|
||||
|
||||
import '../../medium/repository_context.dart';
|
||||
import '../repository_context.dart';
|
||||
|
||||
void main() {
|
||||
late MediumRepositoryContext ctx;
|
||||
@@ -2,7 +2,7 @@ import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:immich_mobile/constants/enums.dart';
|
||||
import 'package:immich_mobile/infrastructure/repositories/remote_album.repository.dart';
|
||||
|
||||
import '../../medium/repository_context.dart';
|
||||
import '../repository_context.dart';
|
||||
|
||||
void main() {
|
||||
late MediumRepositoryContext ctx;
|
||||
@@ -18,6 +18,8 @@ import 'package:immich_mobile/infrastructure/repositories/db.repository.dart';
|
||||
import 'package:immich_mobile/utils/option.dart';
|
||||
import 'package:uuid/uuid.dart';
|
||||
|
||||
import '../utils.dart';
|
||||
|
||||
class MediumRepositoryContext {
|
||||
final Drift db;
|
||||
final Random _random = Random();
|
||||
@@ -51,7 +53,7 @@ class MediumRepositoryContext {
|
||||
DateTime? profileChangedAt,
|
||||
bool? hasProfileImage,
|
||||
}) async {
|
||||
id = id ?? const Uuid().v4();
|
||||
id = TestUtils.uuid(id);
|
||||
return await db
|
||||
.into(db.userEntity)
|
||||
.insertReturning(
|
||||
@@ -60,7 +62,7 @@ class MediumRepositoryContext {
|
||||
email: Value(email ?? '$id@test.com'),
|
||||
name: Value(email ?? 'user_$id'),
|
||||
avatarColor: Value(avatarColor ?? AvatarColor.values[_random.nextInt(AvatarColor.values.length)]),
|
||||
profileChangedAt: Value(profileChangedAt ?? DateTime.now()),
|
||||
profileChangedAt: Value(TestUtils.date(profileChangedAt)),
|
||||
hasProfileImage: Value(hasProfileImage ?? false),
|
||||
),
|
||||
);
|
||||
@@ -75,7 +77,7 @@ class MediumRepositoryContext {
|
||||
DateTime? deletedAt,
|
||||
AssetType? type,
|
||||
AssetVisibility? visibility,
|
||||
int? durationInSeconds,
|
||||
int? durationMs,
|
||||
int? width,
|
||||
int? height,
|
||||
bool? isFavorite,
|
||||
@@ -85,22 +87,22 @@ class MediumRepositoryContext {
|
||||
String? thumbHash,
|
||||
String? libraryId,
|
||||
}) async {
|
||||
id = id ?? const Uuid().v4();
|
||||
createdAt = createdAt ?? DateTime.now();
|
||||
id = TestUtils.uuid(id);
|
||||
createdAt = TestUtils.date(createdAt);
|
||||
return db
|
||||
.into(db.remoteAssetEntity)
|
||||
.insertReturning(
|
||||
RemoteAssetEntityCompanion(
|
||||
id: Value(id),
|
||||
name: Value('remote_$id.jpg'),
|
||||
checksum: Value(checksum ?? const Uuid().v4()),
|
||||
checksum: Value(TestUtils.uuid(checksum)),
|
||||
type: Value(type ?? AssetType.image),
|
||||
createdAt: Value(createdAt),
|
||||
updatedAt: Value(updatedAt ?? DateTime.now()),
|
||||
ownerId: Value(ownerId ?? const Uuid().v4()),
|
||||
updatedAt: Value(TestUtils.date(updatedAt)),
|
||||
ownerId: Value(TestUtils.uuid(ownerId)),
|
||||
visibility: Value(visibility ?? AssetVisibility.timeline),
|
||||
deletedAt: Value(deletedAt),
|
||||
durationInSeconds: Value(durationInSeconds ?? 0),
|
||||
durationMs: Value(durationMs ?? 0),
|
||||
width: Value(width ?? _random.nextInt(1000)),
|
||||
height: Value(height ?? _random.nextInt(1000)),
|
||||
isFavorite: Value(isFavorite ?? false),
|
||||
@@ -108,8 +110,8 @@ class MediumRepositoryContext {
|
||||
livePhotoVideoId: Value(livePhotoVideoId),
|
||||
stackId: Value(stackId),
|
||||
localDateTime: Value(createdAt.toLocal()),
|
||||
thumbHash: Value(thumbHash ?? const Uuid().v4()),
|
||||
libraryId: Value(libraryId ?? const Uuid().v4()),
|
||||
thumbHash: Value(TestUtils.uuid(thumbHash)),
|
||||
libraryId: Value(TestUtils.uuid(libraryId)),
|
||||
),
|
||||
);
|
||||
}
|
||||
@@ -127,9 +129,9 @@ class MediumRepositoryContext {
|
||||
.into(db.remoteAssetCloudIdEntity)
|
||||
.insertReturning(
|
||||
RemoteAssetCloudIdEntityCompanion(
|
||||
assetId: Value(id ?? const Uuid().v4()),
|
||||
cloudId: Value(cloudId ?? const Uuid().v4()),
|
||||
createdAt: Value(createdAt ?? DateTime.now()),
|
||||
assetId: Value(TestUtils.uuid(id)),
|
||||
cloudId: Value(TestUtils.uuid(cloudId)),
|
||||
createdAt: Value(TestUtils.date(createdAt)),
|
||||
adjustmentTime: _resolveUndefined(adjustmentTime, adjustmentTimeOption, DateTime.now()),
|
||||
latitude: _resolveOption(latitude, _random.nextDouble() * 180 - 90),
|
||||
longitude: _resolveOption(longitude, _random.nextDouble() * 360 - 180),
|
||||
@@ -148,16 +150,16 @@ class MediumRepositoryContext {
|
||||
AlbumAssetOrder? order,
|
||||
String? thumbnailAssetId,
|
||||
}) async {
|
||||
id = id ?? const Uuid().v4();
|
||||
id = TestUtils.uuid(id);
|
||||
return db
|
||||
.into(db.remoteAlbumEntity)
|
||||
.insertReturning(
|
||||
RemoteAlbumEntityCompanion(
|
||||
id: Value(id),
|
||||
name: Value(name ?? 'remote_album_$id'),
|
||||
ownerId: Value(ownerId ?? const Uuid().v4()),
|
||||
createdAt: Value(createdAt ?? DateTime.now()),
|
||||
updatedAt: Value(updatedAt ?? DateTime.now()),
|
||||
ownerId: Value(TestUtils.uuid(ownerId)),
|
||||
createdAt: Value(TestUtils.date(createdAt)),
|
||||
updatedAt: Value(TestUtils.date(updatedAt)),
|
||||
description: Value(description ?? 'Description for album $id'),
|
||||
isActivityEnabled: Value(isActivityEnabled ?? false),
|
||||
order: Value(order ?? AlbumAssetOrder.asc),
|
||||
@@ -187,11 +189,11 @@ class MediumRepositoryContext {
|
||||
double? longitude,
|
||||
int? width,
|
||||
int? height,
|
||||
int? durationInSeconds,
|
||||
int? durationMs,
|
||||
int? orientation,
|
||||
DateTime? updatedAt,
|
||||
}) async {
|
||||
id = id ?? const Uuid().v4();
|
||||
id = TestUtils.uuid(id);
|
||||
return db
|
||||
.into(db.localAssetEntity)
|
||||
.insertReturning(
|
||||
@@ -200,14 +202,14 @@ class MediumRepositoryContext {
|
||||
name: Value(name ?? 'local_$id.jpg'),
|
||||
height: Value(height ?? _random.nextInt(1000)),
|
||||
width: Value(width ?? _random.nextInt(1000)),
|
||||
durationInSeconds: Value(durationInSeconds ?? 0),
|
||||
durationMs: Value(durationMs ?? 0),
|
||||
orientation: Value(orientation ?? 0),
|
||||
updatedAt: Value(updatedAt ?? DateTime.now()),
|
||||
updatedAt: Value(TestUtils.date(updatedAt)),
|
||||
checksum: _resolveUndefined(checksum, checksumOption, const Uuid().v4()),
|
||||
createdAt: Value(createdAt ?? DateTime.now()),
|
||||
createdAt: Value(TestUtils.date(createdAt)),
|
||||
type: Value(type ?? AssetType.image),
|
||||
isFavorite: Value(isFavorite ?? false),
|
||||
iCloudId: Value(iCloudId ?? const Uuid().v4()),
|
||||
iCloudId: Value(TestUtils.uuid(iCloudId)),
|
||||
adjustmentTime: _resolveUndefined(adjustmentTime, adjustmentTimeOption, DateTime.now()),
|
||||
latitude: Value(latitude ?? _random.nextDouble() * 180 - 90),
|
||||
longitude: Value(longitude ?? _random.nextDouble() * 360 - 180),
|
||||
@@ -223,14 +225,14 @@ class MediumRepositoryContext {
|
||||
bool? isIosSharedAlbum,
|
||||
String? linkedRemoteAlbumId,
|
||||
}) {
|
||||
id = id ?? const Uuid().v4();
|
||||
id = TestUtils.uuid(id);
|
||||
return db
|
||||
.into(db.localAlbumEntity)
|
||||
.insertReturning(
|
||||
LocalAlbumEntityCompanion(
|
||||
id: Value(id),
|
||||
name: Value(name ?? 'local_album_$id'),
|
||||
updatedAt: Value(updatedAt ?? DateTime.now()),
|
||||
updatedAt: Value(TestUtils.date(updatedAt)),
|
||||
backupSelection: Value(backupSelection ?? BackupSelection.none),
|
||||
isIosSharedAlbum: Value(isIosSharedAlbum ?? false),
|
||||
linkedRemoteAlbumId: Value(linkedRemoteAlbumId),
|
||||
|
||||
@@ -7,6 +7,11 @@ void main() {
|
||||
test('ok', () {
|
||||
expect("1:02:33".toDuration(), const Duration(hours: 1, minutes: 2, seconds: 33));
|
||||
});
|
||||
test('fractional seconds', () {
|
||||
expect("0:00:00.500000".toDuration(), const Duration(milliseconds: 500));
|
||||
expect("0:00:01.250000".toDuration(), const Duration(seconds: 1, milliseconds: 250));
|
||||
expect("1:02:33.123456".toDuration(), const Duration(hours: 1, minutes: 2, seconds: 33, milliseconds: 123));
|
||||
});
|
||||
test('malformed', () {
|
||||
expect("".toDuration(), isNull);
|
||||
expect("1:2".toDuration(), isNull);
|
||||
|
||||
@@ -58,7 +58,7 @@ abstract final class TestUtils {
|
||||
type: domain.AssetType.image,
|
||||
createdAt: DateTime(2024, 1, 1),
|
||||
updatedAt: DateTime(2024, 1, 1),
|
||||
durationInSeconds: 0,
|
||||
durationMs: 0,
|
||||
isFavorite: false,
|
||||
width: width,
|
||||
height: height,
|
||||
@@ -81,7 +81,7 @@ abstract final class TestUtils {
|
||||
type: domain.AssetType.image,
|
||||
createdAt: DateTime(2024, 1, 1),
|
||||
updatedAt: DateTime(2024, 1, 1),
|
||||
durationInSeconds: 0,
|
||||
durationMs: 0,
|
||||
isFavorite: false,
|
||||
width: width,
|
||||
height: height,
|
||||
|
||||
28
mobile/test/unit/factories/local_album_factory.dart
Normal file
28
mobile/test/unit/factories/local_album_factory.dart
Normal file
@@ -0,0 +1,28 @@
|
||||
import 'package:immich_mobile/domain/models/album/local_album.model.dart';
|
||||
|
||||
import '../../utils.dart';
|
||||
|
||||
class LocalAlbumFactory {
|
||||
const LocalAlbumFactory();
|
||||
|
||||
static LocalAlbum create({
|
||||
String? id,
|
||||
String? name,
|
||||
DateTime? updatedAt,
|
||||
BackupSelection? backupSelection,
|
||||
bool? isIosSharedAlbum,
|
||||
String? linkedRemoteAlbumId,
|
||||
int? assetCount,
|
||||
}) {
|
||||
id = TestUtils.uuid(id);
|
||||
return LocalAlbum(
|
||||
id: id,
|
||||
name: name ?? 'local_album_$id',
|
||||
updatedAt: TestUtils.date(updatedAt),
|
||||
backupSelection: backupSelection ?? BackupSelection.none,
|
||||
isIosSharedAlbum: isIosSharedAlbum ?? false,
|
||||
linkedRemoteAlbumId: linkedRemoteAlbumId,
|
||||
assetCount: assetCount ?? 10,
|
||||
);
|
||||
}
|
||||
}
|
||||
21
mobile/test/unit/factories/local_asset_factory.dart
Normal file
21
mobile/test/unit/factories/local_asset_factory.dart
Normal file
@@ -0,0 +1,21 @@
|
||||
import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
|
||||
|
||||
import '../../utils.dart';
|
||||
|
||||
class LocalAssetFactory {
|
||||
const LocalAssetFactory();
|
||||
|
||||
static LocalAsset create({String? id, String? name}) {
|
||||
id = TestUtils.uuid(id);
|
||||
|
||||
return LocalAsset(
|
||||
id: id,
|
||||
name: name ?? 'local_$id.jpg',
|
||||
type: AssetType.image,
|
||||
createdAt: TestUtils.yesterday(),
|
||||
updatedAt: TestUtils.now(),
|
||||
playbackStyle: AssetPlaybackStyle.image,
|
||||
isEdited: false,
|
||||
);
|
||||
}
|
||||
}
|
||||
36
mobile/test/unit/mocks.dart
Normal file
36
mobile/test/unit/mocks.dart
Normal file
@@ -0,0 +1,36 @@
|
||||
import 'package:immich_mobile/domain/models/album/local_album.model.dart';
|
||||
import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
|
||||
import 'package:mocktail/mocktail.dart' as mocktail;
|
||||
|
||||
import '../domain/service.mock.dart';
|
||||
import '../infrastructure/repository.mock.dart';
|
||||
|
||||
class UnitMocks {
|
||||
final localAlbum = MockLocalAlbumRepository();
|
||||
final localAsset = MockDriftLocalAssetRepository();
|
||||
final trashedAsset = MockTrashedLocalAssetRepository();
|
||||
|
||||
final nativeApi = MockNativeSyncApi();
|
||||
|
||||
UnitMocks() {
|
||||
mocktail.registerFallbackValue(LocalAlbum(id: '', name: '', updatedAt: DateTime.now()));
|
||||
mocktail.registerFallbackValue(
|
||||
LocalAsset(
|
||||
id: '',
|
||||
name: '',
|
||||
type: AssetType.image,
|
||||
createdAt: DateTime.now(),
|
||||
updatedAt: DateTime.now(),
|
||||
playbackStyle: AssetPlaybackStyle.image,
|
||||
isEdited: false,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
void reset() {
|
||||
mocktail.reset(localAlbum);
|
||||
mocktail.reset(localAsset);
|
||||
mocktail.reset(trashedAsset);
|
||||
mocktail.reset(nativeApi);
|
||||
}
|
||||
}
|
||||
187
mobile/test/unit/services/hash_service_test.dart
Normal file
187
mobile/test/unit/services/hash_service_test.dart
Normal file
@@ -0,0 +1,187 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:immich_mobile/domain/models/album/local_album.model.dart';
|
||||
import 'package:immich_mobile/domain/services/hash.service.dart';
|
||||
import 'package:immich_mobile/platform/native_sync_api.g.dart';
|
||||
import 'package:mocktail/mocktail.dart';
|
||||
|
||||
import '../factories/local_album_factory.dart';
|
||||
import '../factories/local_asset_factory.dart';
|
||||
import '../mocks.dart';
|
||||
|
||||
void main() {
|
||||
late HashService sut;
|
||||
final mocks = UnitMocks();
|
||||
|
||||
setUp(() {
|
||||
sut = HashService(
|
||||
localAlbumRepository: mocks.localAlbum,
|
||||
localAssetRepository: mocks.localAsset,
|
||||
nativeSyncApi: mocks.nativeApi,
|
||||
trashedLocalAssetRepository: mocks.trashedAsset,
|
||||
);
|
||||
|
||||
when(() => mocks.localAsset.reconcileHashesFromCloudId()).thenAnswer((_) async => {});
|
||||
when(() => mocks.localAsset.updateHashes(any())).thenAnswer((_) async => {});
|
||||
});
|
||||
|
||||
tearDown(() {
|
||||
mocks.reset();
|
||||
});
|
||||
|
||||
group('HashService', () {
|
||||
group('hashAssets', () {
|
||||
test('skips albums with no assets to hash', () async {
|
||||
final album = LocalAlbumFactory.create(assetCount: 0);
|
||||
when(() => mocks.localAlbum.getBackupAlbums()).thenAnswer((_) async => [album]);
|
||||
when(() => mocks.localAlbum.getAssetsToHash(album.id)).thenAnswer((_) async => []);
|
||||
|
||||
await sut.hashAssets();
|
||||
|
||||
verifyNever(() => mocks.nativeApi.hashAssets(any(), allowNetworkAccess: any(named: 'allowNetworkAccess')));
|
||||
});
|
||||
|
||||
test('skips empty batches', () async {
|
||||
final album = LocalAlbumFactory.create();
|
||||
when(() => mocks.localAlbum.getBackupAlbums()).thenAnswer((_) async => [album]);
|
||||
when(() => mocks.localAlbum.getAssetsToHash(album.id)).thenAnswer((_) async => []);
|
||||
|
||||
await sut.hashAssets();
|
||||
|
||||
verifyNever(() => mocks.nativeApi.hashAssets(any(), allowNetworkAccess: any(named: 'allowNetworkAccess')));
|
||||
});
|
||||
|
||||
test('processes assets when available', () async {
|
||||
final album = LocalAlbumFactory.create();
|
||||
final asset = LocalAssetFactory.create();
|
||||
final result = HashResult(assetId: asset.id, hash: 'test-hash');
|
||||
|
||||
when(() => mocks.localAlbum.getBackupAlbums()).thenAnswer((_) async => [album]);
|
||||
when(() => mocks.localAlbum.getAssetsToHash(album.id)).thenAnswer((_) async => [asset]);
|
||||
when(() => mocks.nativeApi.hashAssets([asset.id], allowNetworkAccess: false)).thenAnswer((_) async => [result]);
|
||||
|
||||
await sut.hashAssets();
|
||||
|
||||
verify(() => mocks.nativeApi.hashAssets([asset.id], allowNetworkAccess: false)).called(1);
|
||||
final captured =
|
||||
verify(() => mocks.localAsset.updateHashes(captureAny())).captured.first as Map<String, String>;
|
||||
expect(captured.length, 1);
|
||||
expect(captured[asset.id], result.hash);
|
||||
});
|
||||
|
||||
test('handles failed hashes', () async {
|
||||
final album = LocalAlbumFactory.create();
|
||||
final asset = LocalAssetFactory.create();
|
||||
|
||||
when(() => mocks.localAlbum.getBackupAlbums()).thenAnswer((_) async => [album]);
|
||||
when(() => mocks.localAlbum.getAssetsToHash(album.id)).thenAnswer((_) async => [asset]);
|
||||
when(
|
||||
() => mocks.nativeApi.hashAssets([asset.id], allowNetworkAccess: false),
|
||||
).thenAnswer((_) async => [HashResult(assetId: asset.id, error: 'Failed to hash')]);
|
||||
|
||||
await sut.hashAssets();
|
||||
|
||||
final captured =
|
||||
verify(() => mocks.localAsset.updateHashes(captureAny())).captured.first as Map<String, String>;
|
||||
expect(captured.length, 0);
|
||||
});
|
||||
|
||||
test('handles null hash results', () async {
|
||||
final album = LocalAlbumFactory.create();
|
||||
final asset = LocalAssetFactory.create();
|
||||
|
||||
when(() => mocks.localAlbum.getBackupAlbums()).thenAnswer((_) async => [album]);
|
||||
when(() => mocks.localAlbum.getAssetsToHash(album.id)).thenAnswer((_) async => [asset]);
|
||||
when(
|
||||
() => mocks.nativeApi.hashAssets([asset.id], allowNetworkAccess: false),
|
||||
).thenAnswer((_) async => [HashResult(assetId: asset.id, hash: null)]);
|
||||
|
||||
await sut.hashAssets();
|
||||
|
||||
final captured =
|
||||
verify(() => mocks.localAsset.updateHashes(captureAny())).captured.first as Map<String, String>;
|
||||
expect(captured.length, 0);
|
||||
});
|
||||
|
||||
test('batches by size limit', () async {
|
||||
const batchSize = 2;
|
||||
final sut = HashService(
|
||||
localAlbumRepository: mocks.localAlbum,
|
||||
localAssetRepository: mocks.localAsset,
|
||||
nativeSyncApi: mocks.nativeApi,
|
||||
batchSize: batchSize,
|
||||
trashedLocalAssetRepository: mocks.trashedAsset,
|
||||
);
|
||||
|
||||
final album = LocalAlbumFactory.create();
|
||||
final asset1 = LocalAssetFactory.create();
|
||||
final asset2 = LocalAssetFactory.create();
|
||||
final asset3 = LocalAssetFactory.create();
|
||||
|
||||
final capturedCalls = <List<String>>[];
|
||||
|
||||
when(() => mocks.localAsset.updateHashes(any())).thenAnswer((_) async => {});
|
||||
when(() => mocks.localAlbum.getBackupAlbums()).thenAnswer((_) async => [album]);
|
||||
when(() => mocks.localAlbum.getAssetsToHash(album.id)).thenAnswer((_) async => [asset1, asset2, asset3]);
|
||||
when(() => mocks.nativeApi.hashAssets(any(), allowNetworkAccess: any(named: 'allowNetworkAccess'))).thenAnswer((
|
||||
invocation,
|
||||
) async {
|
||||
final assetIds = invocation.positionalArguments[0] as List<String>;
|
||||
capturedCalls.add(List<String>.from(assetIds));
|
||||
return assetIds.map((id) => HashResult(assetId: id, hash: '$id-hash')).toList();
|
||||
});
|
||||
|
||||
await sut.hashAssets();
|
||||
|
||||
expect(capturedCalls.length, 2, reason: 'Should make exactly 2 calls to hashAssets');
|
||||
expect(capturedCalls[0], [asset1.id, asset2.id], reason: 'First call should batch the first two assets');
|
||||
expect(capturedCalls[1], [asset3.id], reason: 'Second call should have the remaining asset');
|
||||
|
||||
verify(() => mocks.localAsset.updateHashes(any())).called(2);
|
||||
});
|
||||
|
||||
test('handles mixed success and failure in batch', () async {
|
||||
final album = LocalAlbumFactory.create();
|
||||
final asset1 = LocalAssetFactory.create();
|
||||
final asset2 = LocalAssetFactory.create();
|
||||
|
||||
when(() => mocks.localAlbum.getBackupAlbums()).thenAnswer((_) async => [album]);
|
||||
when(() => mocks.localAlbum.getAssetsToHash(album.id)).thenAnswer((_) async => [asset1, asset2]);
|
||||
when(() => mocks.nativeApi.hashAssets([asset1.id, asset2.id], allowNetworkAccess: false)).thenAnswer(
|
||||
(_) async => [
|
||||
HashResult(assetId: asset1.id, hash: 'asset1-hash'),
|
||||
HashResult(assetId: asset2.id, error: 'Failed to hash asset2'),
|
||||
],
|
||||
);
|
||||
|
||||
await sut.hashAssets();
|
||||
|
||||
final captured =
|
||||
verify(() => mocks.localAsset.updateHashes(captureAny())).captured.first as Map<String, String>;
|
||||
expect(captured.length, 1);
|
||||
expect(captured[asset1.id], 'asset1-hash');
|
||||
});
|
||||
|
||||
test('uses allowNetworkAccess based on album backup selection', () async {
|
||||
final selectedAlbum = LocalAlbumFactory.create(backupSelection: BackupSelection.selected);
|
||||
final nonSelectedAlbum = LocalAlbumFactory.create(id: 'album2', backupSelection: BackupSelection.excluded);
|
||||
final asset1 = LocalAssetFactory.create();
|
||||
final asset2 = LocalAssetFactory.create();
|
||||
|
||||
when(() => mocks.localAlbum.getBackupAlbums()).thenAnswer((_) async => [selectedAlbum, nonSelectedAlbum]);
|
||||
when(() => mocks.localAlbum.getAssetsToHash(selectedAlbum.id)).thenAnswer((_) async => [asset1]);
|
||||
when(() => mocks.localAlbum.getAssetsToHash(nonSelectedAlbum.id)).thenAnswer((_) async => [asset2]);
|
||||
when(() => mocks.nativeApi.hashAssets(any(), allowNetworkAccess: any(named: 'allowNetworkAccess'))).thenAnswer((
|
||||
invocation,
|
||||
) async {
|
||||
final assetIds = invocation.positionalArguments[0] as List<String>;
|
||||
return assetIds.map((id) => HashResult(assetId: id, hash: '$id-hash')).toList();
|
||||
});
|
||||
|
||||
await sut.hashAssets();
|
||||
|
||||
verify(() => mocks.nativeApi.hashAssets([asset1.id], allowNetworkAccess: true)).called(1);
|
||||
verify(() => mocks.nativeApi.hashAssets([asset2.id], allowNetworkAccess: false)).called(1);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
10
mobile/test/utils.dart
Normal file
10
mobile/test/utils.dart
Normal file
@@ -0,0 +1,10 @@
|
||||
import 'package:uuid/uuid.dart';
|
||||
|
||||
class TestUtils {
|
||||
static String uuid([String? id]) => id ?? const Uuid().v4();
|
||||
|
||||
static DateTime date([DateTime? date]) => date ?? DateTime.now();
|
||||
static DateTime now() => DateTime.now();
|
||||
static DateTime yesterday() => DateTime.now().subtract(const Duration(days: 1));
|
||||
static DateTime tomorrow() => DateTime.now().add(const Duration(days: 1));
|
||||
}
|
||||
@@ -16348,7 +16348,6 @@
|
||||
"description": "Upload status",
|
||||
"enum": [
|
||||
"created",
|
||||
"replaced",
|
||||
"duplicate"
|
||||
],
|
||||
"type": "string"
|
||||
|
||||
@@ -1 +1 @@
|
||||
24.14.1
|
||||
24.15.0
|
||||
|
||||
@@ -28,6 +28,6 @@
|
||||
"directory": "open-api/typescript-sdk"
|
||||
},
|
||||
"volta": {
|
||||
"node": "24.14.1"
|
||||
"node": "24.15.0"
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user