mirror of
https://github.com/immich-app/immich.git
synced 2026-04-28 20:18:48 -07:00
Compare commits
34 Commits
fix/oauth-
...
feature/lo
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
afc470e8f4 | ||
|
|
793a7054fb | ||
|
|
3a874dd441 | ||
|
|
3dc7dc93d8 | ||
|
|
70397dc5a6 | ||
|
|
a16d233a0c | ||
|
|
bb0872afef | ||
|
|
b9ca68f6e4 | ||
|
|
837305da7e | ||
|
|
e20fb44142 | ||
|
|
c2786978cd | ||
|
|
312bb91a4f | ||
|
|
c1934b904c | ||
|
|
47752d158a | ||
|
|
6267322b9c | ||
|
|
93c3cd49f3 | ||
|
|
f52825ab08 | ||
|
|
d74dc74f92 | ||
|
|
539a39ae49 | ||
|
|
f68cd424a7 | ||
|
|
20c0cc7e73 | ||
|
|
be1b9a5f67 | ||
|
|
d9011c0829 | ||
|
|
f909648bce | ||
|
|
c78b1d8ab4 | ||
|
|
94a34436a3 | ||
|
|
0eef15a3ab | ||
|
|
6982896549 | ||
|
|
2c812a2561 | ||
|
|
0b1188e42e | ||
|
|
be20cd2bf9 | ||
|
|
b156ae46b6 | ||
|
|
67b1a9d99e | ||
|
|
d4f7c2ae0a |
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 }}
|
||||
|
||||
12
.vscode/settings.json
vendored
12
.vscode/settings.json
vendored
@@ -13,10 +13,6 @@
|
||||
"editor.wordBasedSuggestions": "off"
|
||||
},
|
||||
"[javascript]": {
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.organizeImports": "explicit",
|
||||
"source.removeUnusedImports": "explicit"
|
||||
},
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
@@ -29,18 +25,10 @@
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[svelte]": {
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.organizeImports": "explicit",
|
||||
"source.removeUnusedImports": "explicit"
|
||||
},
|
||||
"editor.defaultFormatter": "svelte.svelte-vscode",
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[typescript]": {
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.organizeImports": "explicit",
|
||||
"source.removeUnusedImports": "explicit"
|
||||
},
|
||||
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
|
||||
@@ -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: | |
|
||||
|
||||
@@ -37,7 +37,7 @@ These environment variables are used by the `docker-compose.yml` file and do **N
|
||||
| `IMMICH_LOG_FORMAT` | Log output format (`console`, `json`) | `console` | server | api, microservices |
|
||||
| `IMMICH_MEDIA_LOCATION` | Media location inside the container ⚠️**You probably shouldn't set this**<sup>\*2</sup>⚠️ | `/data` | server | api, microservices |
|
||||
| `IMMICH_CONFIG_FILE` | Path to config file | | server | api, microservices |
|
||||
| `IMMICH_HELMET_FILE` | Path to a json file with [helmet](https://www.npmjs.com/package/helmet) options. Set to `false` to disable. Set to `true` to use `server/helmet.json`. | `false` | server | api, microservices |
|
||||
| `IMMICH_HELMET_FILE` | Path to a json file with [helmet](https://www.npmjs.com/package/helmet) options. Set to `false` to disable. Set to `true` to use `server/helmet.json`. | `false` | server | api |
|
||||
| `NO_COLOR` | Set to `true` to disable color-coded log output | `false` | server, machine learning | |
|
||||
| `CPU_CORES` | Number of cores available to the Immich server | auto-detected CPU core count | server | |
|
||||
| `IMMICH_API_METRICS_PORT` | Port for the OTEL metrics | `8081` | server | api |
|
||||
|
||||
@@ -17,10 +17,10 @@
|
||||
"write-heading-ids": "docusaurus write-heading-ids"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "~3.9.0",
|
||||
"@docusaurus/preset-classic": "~3.9.0",
|
||||
"@docusaurus/theme-common": "~3.9.0",
|
||||
"@docusaurus/theme-mermaid": "~3.9.0",
|
||||
"@docusaurus/core": "~3.10.0",
|
||||
"@docusaurus/preset-classic": "~3.10.0",
|
||||
"@docusaurus/theme-common": "~3.10.0",
|
||||
"@docusaurus/theme-mermaid": "~3.10.0",
|
||||
"@mdi/js": "^7.3.67",
|
||||
"@mdi/react": "^1.6.1",
|
||||
"@mdx-js/react": "^3.0.0",
|
||||
@@ -36,9 +36,9 @@
|
||||
"url": "^0.11.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@docusaurus/module-type-aliases": "~3.9.0",
|
||||
"@docusaurus/module-type-aliases": "~3.10.0",
|
||||
"@docusaurus/tsconfig": "^3.10.0",
|
||||
"@docusaurus/types": "^3.7.0",
|
||||
"@docusaurus/types": "^3.10.0",
|
||||
"prettier": "^3.7.4",
|
||||
"typescript": "^6.0.0"
|
||||
},
|
||||
@@ -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',
|
||||
|
||||
@@ -349,7 +349,7 @@ test.describe('Timeline', () => {
|
||||
expect(visibleMockAssetsYearMonths).toContain(month);
|
||||
}
|
||||
});
|
||||
test('Deep link to last photo, scroll up', async ({ page }) => {
|
||||
test.skip('Deep link to last photo, scroll up', async ({ page }) => {
|
||||
const lastAsset = assets.at(-1)!;
|
||||
await pageUtils.deepLinkPhotosPage(page, lastAsset.id);
|
||||
|
||||
@@ -361,7 +361,7 @@ test.describe('Timeline', () => {
|
||||
|
||||
await thumbnailUtils.expectInViewport(page, '14e5901f-fd7f-40c0-b186-4d7e7fc67968');
|
||||
});
|
||||
test('Deep link to first bucket, scroll down', async ({ page }) => {
|
||||
test.skip('Deep link to first bucket, scroll down', async ({ page }) => {
|
||||
const lastAsset = assets.at(0)!;
|
||||
await pageUtils.deepLinkPhotosPage(page, lastAsset.id);
|
||||
await timelineUtils.locator(page).hover();
|
||||
@@ -440,7 +440,7 @@ test.describe('Timeline', () => {
|
||||
await thumbnailUtils.expectInViewport(page, asset.id);
|
||||
await thumbnailUtils.expectSelectedDisabled(page, asset.id);
|
||||
});
|
||||
test('Add photos to album', async ({ page }) => {
|
||||
test.skip('Add photos to album', async ({ page }) => {
|
||||
const album = timelineRestData.album;
|
||||
await pageUtils.openAlbumPage(page, album.id);
|
||||
await page.locator('nav button[aria-label="Add photos"]').click();
|
||||
@@ -752,7 +752,7 @@ test.describe('Timeline', () => {
|
||||
await page.getByText('Photos', { exact: true }).click();
|
||||
await thumbnailUtils.expectInViewport(page, assetToFavorite.id);
|
||||
});
|
||||
test('open /favorites, archive photo, unarchive photo', async ({ page }) => {
|
||||
test.skip('open /favorites, archive photo, unarchive photo', async ({ page }) => {
|
||||
await pageUtils.openFavorites(page);
|
||||
const assetToArchive = getAsset(timelineRestData, 'ad31e29f-2069-4574-b9a9-ad86523c92cb')!;
|
||||
await thumbnailUtils.withAssetId(page, assetToArchive.id).hover();
|
||||
|
||||
@@ -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": [
|
||||
|
||||
@@ -43,8 +43,8 @@ class BackgroundEngineLock(context: Context) : BackgroundWorkerLockApi, ImmichPl
|
||||
|
||||
override fun onAttachedToEngine(binding: FlutterPlugin.FlutterPluginBinding) {
|
||||
super.onAttachedToEngine(binding)
|
||||
checkAndEnforceBackgroundLock(binding.applicationContext)
|
||||
engineCount.incrementAndGet()
|
||||
checkAndEnforceBackgroundLock(binding.applicationContext)
|
||||
Log.i(TAG, "Flutter engine attached. Attached Engines count: $engineCount")
|
||||
}
|
||||
|
||||
|
||||
@@ -5,8 +5,10 @@ import android.provider.MediaStore
|
||||
import android.util.Log
|
||||
import androidx.work.BackoffPolicy
|
||||
import androidx.work.Constraints
|
||||
import androidx.work.ExistingPeriodicWorkPolicy
|
||||
import androidx.work.ExistingWorkPolicy
|
||||
import androidx.work.OneTimeWorkRequest
|
||||
import androidx.work.OneTimeWorkRequestBuilder
|
||||
import androidx.work.PeriodicWorkRequestBuilder
|
||||
import androidx.work.WorkManager
|
||||
import io.flutter.embedding.engine.FlutterEngineCache
|
||||
import java.util.concurrent.TimeUnit
|
||||
@@ -18,6 +20,7 @@ class BackgroundWorkerApiImpl(context: Context) : BackgroundWorkerFgHostApi {
|
||||
|
||||
override fun enable() {
|
||||
enqueueMediaObserver(ctx)
|
||||
enqueuePeriodicWorker(ctx)
|
||||
}
|
||||
|
||||
override fun saveNotificationMessage(title: String, body: String) {
|
||||
@@ -27,12 +30,14 @@ class BackgroundWorkerApiImpl(context: Context) : BackgroundWorkerFgHostApi {
|
||||
override fun configure(settings: BackgroundWorkerSettings) {
|
||||
BackgroundWorkerPreferences(ctx).updateSettings(settings)
|
||||
enqueueMediaObserver(ctx)
|
||||
enqueuePeriodicWorker(ctx)
|
||||
}
|
||||
|
||||
override fun disable() {
|
||||
WorkManager.getInstance(ctx).apply {
|
||||
cancelUniqueWork(OBSERVER_WORKER_NAME)
|
||||
cancelUniqueWork(BACKGROUND_WORKER_NAME)
|
||||
cancelUniqueWork(PERIODIC_WORKER_NAME)
|
||||
}
|
||||
Log.i(TAG, "Cancelled background upload tasks")
|
||||
}
|
||||
@@ -40,6 +45,7 @@ class BackgroundWorkerApiImpl(context: Context) : BackgroundWorkerFgHostApi {
|
||||
companion object {
|
||||
private const val BACKGROUND_WORKER_NAME = "immich/BackgroundWorkerV1"
|
||||
private const val OBSERVER_WORKER_NAME = "immich/MediaObserverV1"
|
||||
private const val PERIODIC_WORKER_NAME = "immich/PeriodicBackgroundWorkerV1"
|
||||
const val ENGINE_CACHE_KEY = "immich::background_worker::engine"
|
||||
|
||||
|
||||
@@ -55,7 +61,7 @@ class BackgroundWorkerApiImpl(context: Context) : BackgroundWorkerFgHostApi {
|
||||
setRequiresCharging(settings.requiresCharging)
|
||||
}.build()
|
||||
|
||||
val work = OneTimeWorkRequest.Builder(MediaObserver::class.java)
|
||||
val work = OneTimeWorkRequestBuilder<MediaObserver>()
|
||||
.setConstraints(constraints)
|
||||
.build()
|
||||
WorkManager.getInstance(ctx)
|
||||
@@ -67,10 +73,30 @@ class BackgroundWorkerApiImpl(context: Context) : BackgroundWorkerFgHostApi {
|
||||
)
|
||||
}
|
||||
|
||||
fun enqueuePeriodicWorker(ctx: Context) {
|
||||
val settings = BackgroundWorkerPreferences(ctx).getSettings()
|
||||
val constraints = Constraints.Builder().apply {
|
||||
setRequiresCharging(settings.requiresCharging)
|
||||
}.build()
|
||||
|
||||
val work =
|
||||
PeriodicWorkRequestBuilder<PeriodicWorker>(
|
||||
1,
|
||||
TimeUnit.HOURS,
|
||||
15,
|
||||
TimeUnit.MINUTES
|
||||
).setConstraints(constraints)
|
||||
.build()
|
||||
|
||||
WorkManager.getInstance(ctx)
|
||||
.enqueueUniquePeriodicWork(PERIODIC_WORKER_NAME, ExistingPeriodicWorkPolicy.UPDATE, work)
|
||||
|
||||
Log.i(TAG, "Enqueued periodic background worker with name: $PERIODIC_WORKER_NAME")
|
||||
}
|
||||
|
||||
fun enqueueBackgroundWorker(ctx: Context) {
|
||||
val constraints = Constraints.Builder().setRequiresBatteryNotLow(true).build()
|
||||
|
||||
val work = OneTimeWorkRequest.Builder(BackgroundWorker::class.java)
|
||||
val work = OneTimeWorkRequestBuilder<BackgroundWorker>()
|
||||
.setConstraints(constraints)
|
||||
.setBackoffCriteria(BackoffPolicy.EXPONENTIAL, 1, TimeUnit.MINUTES)
|
||||
.build()
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package app.alextran.immich.background
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import androidx.work.Worker
|
||||
import androidx.work.WorkerParameters
|
||||
|
||||
class PeriodicWorker(context: Context, params: WorkerParameters) : Worker(context, params) {
|
||||
private val ctx: Context = context.applicationContext
|
||||
|
||||
override fun doWork(): Result {
|
||||
Log.i("PeriodicWorker", "Periodic worker triggered, starting background worker")
|
||||
BackgroundWorkerApiImpl.enqueueBackgroundWorker(ctx)
|
||||
return Result.success()
|
||||
}
|
||||
}
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -46,6 +46,6 @@ material = { module = "com.google.android.material:material", version.ref = "mat
|
||||
android-application = { id = "com.android.application", version.ref = "agp" }
|
||||
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
||||
# TODO: update to version.ref = "kotlin" when background_downloader is removed
|
||||
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version = "1.9.22" }
|
||||
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version = "2.1.0" }
|
||||
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
||||
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
|
||||
|
||||
@@ -21,7 +21,7 @@ plugins {
|
||||
id "com.android.application" version "8.11.2" apply false
|
||||
id "org.jetbrains.kotlin.android" version "2.2.20" apply false
|
||||
// TODO: update to match kotlin version when background_downloader is removed
|
||||
id "org.jetbrains.kotlin.plugin.serialization" version "1.9.22" apply false
|
||||
id "org.jetbrains.kotlin.plugin.serialization" version "2.1.0" apply false
|
||||
id "com.google.devtools.ksp" version "2.2.20-2.0.3" apply false
|
||||
}
|
||||
|
||||
|
||||
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
@@ -20,19 +20,21 @@ PODS:
|
||||
- Flutter
|
||||
- flutter_udid (0.0.1):
|
||||
- Flutter
|
||||
- SAMKeychain
|
||||
- flutter_web_auth_2 (3.0.0):
|
||||
- KeychainAccess
|
||||
- flutter_web_auth_2 (5.0.0):
|
||||
- Flutter
|
||||
- fluttertoast (0.0.2):
|
||||
- Flutter
|
||||
- geolocator_apple (1.2.0):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- home_widget (0.0.1):
|
||||
- Flutter
|
||||
- image_picker_ios (0.0.1):
|
||||
- Flutter
|
||||
- integration_test (0.0.1):
|
||||
- Flutter
|
||||
- KeychainAccess (4.2.2)
|
||||
- local_auth_darwin (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
@@ -44,19 +46,13 @@ PODS:
|
||||
- Flutter
|
||||
- network_info_plus (0.0.1):
|
||||
- Flutter
|
||||
- objective_c (0.0.1):
|
||||
- Flutter
|
||||
- package_info_plus (0.4.5):
|
||||
- Flutter
|
||||
- path_provider_foundation (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- permission_handler_apple (9.3.0):
|
||||
- Flutter
|
||||
- photo_manager (3.7.1):
|
||||
- photo_manager (3.9.0):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- SAMKeychain (1.5.3)
|
||||
- share_handler_ios (0.0.14):
|
||||
- Flutter
|
||||
- share_handler_ios/share_handler_ios_models (= 0.0.14)
|
||||
@@ -70,28 +66,6 @@ PODS:
|
||||
- shared_preferences_foundation (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- sqflite_darwin (0.0.4):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- sqlite3 (3.49.2):
|
||||
- sqlite3/common (= 3.49.2)
|
||||
- sqlite3/common (3.49.2)
|
||||
- sqlite3/dbstatvtab (3.49.2):
|
||||
- sqlite3/common
|
||||
- sqlite3/fts5 (3.49.2):
|
||||
- sqlite3/common
|
||||
- sqlite3/perf-threadsafe (3.49.2):
|
||||
- sqlite3/common
|
||||
- sqlite3/rtree (3.49.2):
|
||||
- sqlite3/common
|
||||
- sqlite3_flutter_libs (0.0.1):
|
||||
- Flutter
|
||||
- FlutterMacOS
|
||||
- sqlite3 (~> 3.49.1)
|
||||
- sqlite3/dbstatvtab
|
||||
- sqlite3/fts5
|
||||
- sqlite3/perf-threadsafe
|
||||
- sqlite3/rtree
|
||||
- url_launcher_ios (0.0.1):
|
||||
- Flutter
|
||||
- wakelock_plus (0.0.1):
|
||||
@@ -110,7 +84,7 @@ DEPENDENCIES:
|
||||
- flutter_udid (from `.symlinks/plugins/flutter_udid/ios`)
|
||||
- flutter_web_auth_2 (from `.symlinks/plugins/flutter_web_auth_2/ios`)
|
||||
- fluttertoast (from `.symlinks/plugins/fluttertoast/ios`)
|
||||
- geolocator_apple (from `.symlinks/plugins/geolocator_apple/ios`)
|
||||
- geolocator_apple (from `.symlinks/plugins/geolocator_apple/darwin`)
|
||||
- home_widget (from `.symlinks/plugins/home_widget/ios`)
|
||||
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
|
||||
- integration_test (from `.symlinks/plugins/integration_test/ios`)
|
||||
@@ -118,25 +92,20 @@ DEPENDENCIES:
|
||||
- maplibre_gl (from `.symlinks/plugins/maplibre_gl/ios`)
|
||||
- native_video_player (from `.symlinks/plugins/native_video_player/ios`)
|
||||
- network_info_plus (from `.symlinks/plugins/network_info_plus/ios`)
|
||||
- objective_c (from `.symlinks/plugins/objective_c/ios`)
|
||||
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
|
||||
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
|
||||
- permission_handler_apple (from `.symlinks/plugins/permission_handler_apple/ios`)
|
||||
- photo_manager (from `.symlinks/plugins/photo_manager/ios`)
|
||||
- photo_manager (from `.symlinks/plugins/photo_manager/darwin`)
|
||||
- share_handler_ios (from `.symlinks/plugins/share_handler_ios/ios`)
|
||||
- share_handler_ios_models (from `.symlinks/plugins/share_handler_ios/ios/Models`)
|
||||
- share_plus (from `.symlinks/plugins/share_plus/ios`)
|
||||
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)
|
||||
- sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`)
|
||||
- sqlite3_flutter_libs (from `.symlinks/plugins/sqlite3_flutter_libs/darwin`)
|
||||
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
|
||||
- wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`)
|
||||
|
||||
SPEC REPOS:
|
||||
trunk:
|
||||
- KeychainAccess
|
||||
- MapLibre
|
||||
- SAMKeychain
|
||||
- sqlite3
|
||||
|
||||
EXTERNAL SOURCES:
|
||||
background_downloader:
|
||||
@@ -164,7 +133,7 @@ EXTERNAL SOURCES:
|
||||
fluttertoast:
|
||||
:path: ".symlinks/plugins/fluttertoast/ios"
|
||||
geolocator_apple:
|
||||
:path: ".symlinks/plugins/geolocator_apple/ios"
|
||||
:path: ".symlinks/plugins/geolocator_apple/darwin"
|
||||
home_widget:
|
||||
:path: ".symlinks/plugins/home_widget/ios"
|
||||
image_picker_ios:
|
||||
@@ -179,16 +148,12 @@ EXTERNAL SOURCES:
|
||||
:path: ".symlinks/plugins/native_video_player/ios"
|
||||
network_info_plus:
|
||||
:path: ".symlinks/plugins/network_info_plus/ios"
|
||||
objective_c:
|
||||
:path: ".symlinks/plugins/objective_c/ios"
|
||||
package_info_plus:
|
||||
:path: ".symlinks/plugins/package_info_plus/ios"
|
||||
path_provider_foundation:
|
||||
:path: ".symlinks/plugins/path_provider_foundation/darwin"
|
||||
permission_handler_apple:
|
||||
:path: ".symlinks/plugins/permission_handler_apple/ios"
|
||||
photo_manager:
|
||||
:path: ".symlinks/plugins/photo_manager/ios"
|
||||
:path: ".symlinks/plugins/photo_manager/darwin"
|
||||
share_handler_ios:
|
||||
:path: ".symlinks/plugins/share_handler_ios/ios"
|
||||
share_handler_ios_models:
|
||||
@@ -197,10 +162,6 @@ EXTERNAL SOURCES:
|
||||
:path: ".symlinks/plugins/share_plus/ios"
|
||||
shared_preferences_foundation:
|
||||
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"
|
||||
sqflite_darwin:
|
||||
:path: ".symlinks/plugins/sqflite_darwin/darwin"
|
||||
sqlite3_flutter_libs:
|
||||
:path: ".symlinks/plugins/sqlite3_flutter_libs/darwin"
|
||||
url_launcher_ios:
|
||||
:path: ".symlinks/plugins/url_launcher_ios/ios"
|
||||
wakelock_plus:
|
||||
@@ -216,32 +177,27 @@ SPEC CHECKSUMS:
|
||||
flutter_local_notifications: ad39620c743ea4c15127860f4b5641649a988100
|
||||
flutter_native_splash: c32d145d68aeda5502d5f543ee38c192065986cf
|
||||
flutter_secure_storage: 1ed9476fba7e7a782b22888f956cce43e2c62f13
|
||||
flutter_udid: f7c3884e6ec2951efe4f9de082257fc77c4d15e9
|
||||
flutter_web_auth_2: 5c8d9dcd7848b5a9efb086d24e7a9adcae979c80
|
||||
flutter_udid: 92a5d31fe0526b7b6002a2318df702e12e7eb300
|
||||
flutter_web_auth_2: 646fc9df97a01c59e5eea99b237da2c6360f8439
|
||||
fluttertoast: 2c67e14dce98bbdb200df9e1acf610d7a6264ea1
|
||||
geolocator_apple: 1560c3c875af2a412242c7a923e15d0d401966ff
|
||||
geolocator_apple: ab36aa0e8b7d7a2d7639b3b4e48308394e8cef5e
|
||||
home_widget: f169fc41fd807b4d46ab6615dc44d62adbf9f64f
|
||||
image_picker_ios: e0ece4aa2a75771a7de3fa735d26d90817041326
|
||||
integration_test: 4a889634ef21a45d28d50d622cf412dc6d9f586e
|
||||
local_auth_darwin: 553ce4f9b16d3fdfeafce9cf042e7c9f77c1c391
|
||||
KeychainAccess: c0c4f7f38f6fc7bbe58f5702e25f7bd2f65abf51
|
||||
local_auth_darwin: c3ee6cce0a8d56be34c8ccb66ba31f7f180aaebb
|
||||
MapLibre: 69e572367f4ef6287e18246cfafc39c80cdcabcd
|
||||
maplibre_gl: 3c924e44725147b03dda33430ad216005b40555f
|
||||
native_video_player: b65c58951ede2f93d103a25366bdebca95081265
|
||||
network_info_plus: cf61925ab5205dce05a4f0895989afdb6aade5fc
|
||||
objective_c: 89e720c30d716b036faf9c9684022048eee1eee2
|
||||
package_info_plus: af8e2ca6888548050f16fa2f1938db7b5a5df499
|
||||
path_provider_foundation: bb55f6dbba17d0dccd6737fe6f7f34fbd0376880
|
||||
permission_handler_apple: 4ed2196e43d0651e8ff7ca3483a069d469701f2d
|
||||
photo_manager: 1d80ae07a89a67dfbcae95953a1e5a24af7c3e62
|
||||
SAMKeychain: 483e1c9f32984d50ca961e26818a534283b4cd5c
|
||||
photo_manager: 25fd77df14f4f0ba5ef99e2c61814dde77e2bceb
|
||||
share_handler_ios: e2244e990f826b2c8eaa291ac3831569438ba0fb
|
||||
share_handler_ios_models: fc638c9b4330dc7f082586c92aee9dfa0b87b871
|
||||
share_plus: 50da8cb520a8f0f65671c6c6a99b3617ed10a58a
|
||||
shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
|
||||
sqflite_darwin: 20b2a3a3b70e43edae938624ce550a3cbf66a3d0
|
||||
sqlite3: 3c950dc86011117c307eb0b28c4a7bb449dce9f1
|
||||
sqlite3_flutter_libs: f8fc13346870e73fe35ebf6dbb997fbcd156b241
|
||||
url_launcher_ios: 694010445543906933d732453a59da0a173ae33d
|
||||
shared_preferences_foundation: 7036424c3d8ec98dfe75ff1667cb0cd531ec82bb
|
||||
url_launcher_ios: 7a95fa5b60cc718a708b8f2966718e93db0cef1b
|
||||
wakelock_plus: e29112ab3ef0b318e58cfa5c32326458be66b556
|
||||
|
||||
PODFILE CHECKSUM: 938abbae4114b9c2140c550a2a0d8f7c674f5dfe
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 77;
|
||||
objectVersion = 54;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
|
||||
@@ -1,12 +1,4 @@
|
||||
import BackgroundTasks
|
||||
import Flutter
|
||||
import native_video_player
|
||||
import network_info_plus
|
||||
import path_provider_foundation
|
||||
import permission_handler_apple
|
||||
import photo_manager
|
||||
import shared_preferences_foundation
|
||||
import UIKit
|
||||
|
||||
@main
|
||||
@objc class AppDelegate: FlutterAppDelegate, FlutterImplicitEngineDelegate {
|
||||
|
||||
@@ -150,6 +150,27 @@
|
||||
<array>
|
||||
<string>INSendMessageIntent</string>
|
||||
</array>
|
||||
<key>UIApplicationSceneManifest</key>
|
||||
<dict>
|
||||
<key>UIApplicationSupportsMultipleScenes</key>
|
||||
<false/>
|
||||
<key>UISceneConfigurations</key>
|
||||
<dict>
|
||||
<key>UIWindowSceneSessionRoleApplication</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>UISceneClassName</key>
|
||||
<string>UIWindowScene</string>
|
||||
<key>UISceneConfigurationName</key>
|
||||
<string>flutter</string>
|
||||
<key>UISceneDelegateClassName</key>
|
||||
<string>FlutterSceneDelegate</string>
|
||||
<key>UISceneStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>UIApplicationSupportsIndirectInputEvents</key>
|
||||
<true/>
|
||||
<key>UIBackgroundModes</key>
|
||||
@@ -176,27 +197,6 @@
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
<key>UIApplicationSceneManifest</key>
|
||||
<dict>
|
||||
<key>UIApplicationSupportsMultipleScenes</key>
|
||||
<false/>
|
||||
<key>UISceneConfigurations</key>
|
||||
<dict>
|
||||
<key>UIWindowSceneSessionRoleApplication</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>UISceneClassName</key>
|
||||
<string>UIWindowScene</string>
|
||||
<key>UISceneDelegateClassName</key>
|
||||
<string>FlutterSceneDelegate</string>
|
||||
<key>UISceneConfigurationName</key>
|
||||
<string>flutter</string>
|
||||
<key>UISceneStoryboardFile</key>
|
||||
<string>Main</string>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>UIViewControllerBasedStatusBarAppearance</key>
|
||||
<true/>
|
||||
<key>io.flutter.embedded_views_preview</key>
|
||||
|
||||
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,
|
||||
|
||||
@@ -29,7 +29,7 @@ class ExifInfo {
|
||||
bool get hasCoordinates => latitude != null && longitude != null && latitude != 0 && longitude != 0;
|
||||
|
||||
String get exposureTime {
|
||||
if (exposureSeconds == null) {
|
||||
if (exposureSeconds == null || exposureSeconds! <= 0 || exposureSeconds!.isNaN) {
|
||||
return "";
|
||||
}
|
||||
if (exposureSeconds! < 1) {
|
||||
|
||||
@@ -4,6 +4,7 @@ enum Setting<T> {
|
||||
tilesPerRow<int>(StoreKey.tilesPerRow, 4),
|
||||
groupAssetsBy<int>(StoreKey.groupAssetsBy, 0),
|
||||
showStorageIndicator<bool>(StoreKey.storageIndicator, true),
|
||||
loadPreview<bool>(StoreKey.loadPreview, true),
|
||||
loadOriginal<bool>(StoreKey.loadOriginal, false),
|
||||
loadOriginalVideo<bool>(StoreKey.loadOriginalVideo, false),
|
||||
autoPlayVideo<bool>(StoreKey.autoPlayVideo, true),
|
||||
|
||||
@@ -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()),
|
||||
|
||||
@@ -148,7 +148,7 @@ class _NativeVideoViewerState extends ConsumerState<NativeVideoViewer> with Widg
|
||||
if (ref.read(assetViewerProvider).showingDetails) return;
|
||||
|
||||
final autoPlayVideo = AppSetting.get(Setting.autoPlayVideo);
|
||||
if (autoPlayVideo) await _notifier.play();
|
||||
if (autoPlayVideo || widget.asset.isMotionPhoto) await _notifier.play();
|
||||
}
|
||||
|
||||
void _onPlaybackEnded() {
|
||||
|
||||
@@ -45,7 +45,6 @@ mixin CancellableImageProviderMixin<T extends Object> on CancellableImageProvide
|
||||
|
||||
completer.operation.valueOrCancellation().whenComplete(() {
|
||||
cachedStream.removeListener(listener);
|
||||
cachedOperation = null;
|
||||
});
|
||||
cachedOperation = completer.operation;
|
||||
return null;
|
||||
@@ -106,18 +105,33 @@ mixin CancellableImageProviderMixin<T extends Object> on CancellableImageProvide
|
||||
}
|
||||
}
|
||||
|
||||
Stream<ImageInfo> initialImageStream() async* {
|
||||
Stream<ImageInfo> initialImageStream({required bool isFinal}) async* {
|
||||
final cachedOperation = this.cachedOperation;
|
||||
if (isCancelled) {
|
||||
return;
|
||||
}
|
||||
if (cachedOperation == null) {
|
||||
// image resolved synchronously
|
||||
isFinished = isFinal;
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
final cachedImage = await cachedOperation.valueOrCancellation();
|
||||
if (cachedImage != null && !isCancelled) {
|
||||
yield cachedImage;
|
||||
if (isCancelled || cachedImage == null) {
|
||||
return;
|
||||
}
|
||||
isFinished = isFinal;
|
||||
yield cachedImage;
|
||||
} catch (e, stack) {
|
||||
if (isCancelled) {
|
||||
return;
|
||||
}
|
||||
if (isFinal) {
|
||||
isFinished = true;
|
||||
PaintingBinding.instance.imageCache.evict(this);
|
||||
rethrow;
|
||||
}
|
||||
_log.severe('Error loading initial image', e, stack);
|
||||
} finally {
|
||||
this.cachedOperation = null;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:immich_mobile/domain/models/asset/base_asset.model.dart';
|
||||
import 'package:immich_mobile/domain/models/store.model.dart';
|
||||
import 'package:immich_mobile/entities/store.entity.dart';
|
||||
import 'package:immich_mobile/domain/models/setting.model.dart';
|
||||
import 'package:immich_mobile/domain/services/setting.service.dart';
|
||||
import 'package:immich_mobile/infrastructure/loaders/image_request.dart';
|
||||
import 'package:immich_mobile/presentation/widgets/images/animated_image_stream_completer.dart';
|
||||
import 'package:immich_mobile/presentation/widgets/images/image_provider.dart';
|
||||
@@ -97,51 +97,55 @@ class LocalFullImageProvider extends CancellableImageProvider<LocalFullImageProv
|
||||
}
|
||||
|
||||
Stream<ImageInfo> _codec(LocalFullImageProvider key, ImageDecoderCallback decode) async* {
|
||||
yield* initialImageStream();
|
||||
final loadOriginal = AppSetting.get(Setting.loadOriginal);
|
||||
final loadPreview = AppSetting.get(Setting.loadPreview);
|
||||
yield* initialImageStream(isFinal: !loadOriginal && !loadPreview);
|
||||
|
||||
if (isCancelled) {
|
||||
return;
|
||||
}
|
||||
|
||||
final loadOriginal = Store.get(StoreKey.loadOriginal, false);
|
||||
final devicePixelRatio = PlatformDispatcher.instance.views.first.devicePixelRatio;
|
||||
var request = this.request = LocalImageRequest(
|
||||
localId: key.id,
|
||||
size: Size(size.width * devicePixelRatio, size.height * devicePixelRatio),
|
||||
assetType: key.assetType,
|
||||
);
|
||||
yield* loadRequest(request, decode, isFinal: !loadOriginal);
|
||||
if (loadPreview) {
|
||||
final devicePixelRatio = PlatformDispatcher.instance.views.first.devicePixelRatio;
|
||||
final previewRequest = request = LocalImageRequest(
|
||||
localId: key.id,
|
||||
size: Size(size.width * devicePixelRatio, size.height * devicePixelRatio),
|
||||
assetType: key.assetType,
|
||||
);
|
||||
yield* loadRequest(previewRequest, decode, isFinal: !loadOriginal);
|
||||
|
||||
if (isCancelled) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!loadOriginal) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isCancelled) {
|
||||
return;
|
||||
}
|
||||
|
||||
request = this.request = LocalImageRequest(localId: key.id, assetType: key.assetType, size: Size.zero);
|
||||
|
||||
yield* loadRequest(request, decode, isFinal: true);
|
||||
final originalRequest = request = LocalImageRequest(localId: key.id, assetType: key.assetType, size: Size.zero);
|
||||
yield* loadRequest(originalRequest, decode, isFinal: true);
|
||||
}
|
||||
|
||||
Stream<Object> _animatedCodec(LocalFullImageProvider key, ImageDecoderCallback decode) async* {
|
||||
yield* initialImageStream();
|
||||
yield* initialImageStream(isFinal: false);
|
||||
|
||||
if (isCancelled) {
|
||||
return;
|
||||
}
|
||||
|
||||
final devicePixelRatio = PlatformDispatcher.instance.views.first.devicePixelRatio;
|
||||
final previewRequest = request = LocalImageRequest(
|
||||
localId: key.id,
|
||||
size: Size(size.width * devicePixelRatio, size.height * devicePixelRatio),
|
||||
assetType: key.assetType,
|
||||
);
|
||||
yield* loadRequest(previewRequest, decode, isFinal: false);
|
||||
if (AppSetting.get(Setting.loadPreview)) {
|
||||
final devicePixelRatio = PlatformDispatcher.instance.views.first.devicePixelRatio;
|
||||
final previewRequest = request = LocalImageRequest(
|
||||
localId: key.id,
|
||||
size: Size(size.width * devicePixelRatio, size.height * devicePixelRatio),
|
||||
assetType: key.assetType,
|
||||
);
|
||||
yield* loadRequest(previewRequest, decode, isFinal: false);
|
||||
|
||||
if (isCancelled) {
|
||||
return;
|
||||
if (isCancelled) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// always try original for animated, since previews don't support animation
|
||||
|
||||
@@ -107,31 +107,35 @@ class RemoteFullImageProvider extends CancellableImageProvider<RemoteFullImagePr
|
||||
}
|
||||
|
||||
Stream<ImageInfo> _codec(RemoteFullImageProvider key, ImageDecoderCallback decode) async* {
|
||||
yield* initialImageStream();
|
||||
final isImage = assetType == AssetType.image;
|
||||
final loadOriginal = isImage && AppSetting.get(Setting.loadOriginal);
|
||||
final loadPreview = isImage && AppSetting.get(Setting.loadPreview);
|
||||
yield* initialImageStream(isFinal: !loadOriginal && !loadPreview);
|
||||
|
||||
if (isCancelled) {
|
||||
return;
|
||||
}
|
||||
|
||||
final previewRequest = request = RemoteImageRequest(
|
||||
uri: getThumbnailUrlForRemoteId(
|
||||
key.assetId,
|
||||
type: AssetMediaSize.preview,
|
||||
thumbhash: key.thumbhash,
|
||||
edited: key.edited,
|
||||
),
|
||||
);
|
||||
final loadOriginal = assetType == AssetType.image && AppSetting.get(Setting.loadOriginal);
|
||||
yield* loadRequest(previewRequest, decode, isFinal: !loadOriginal);
|
||||
if (loadPreview) {
|
||||
final previewRequest = request = RemoteImageRequest(
|
||||
uri: getThumbnailUrlForRemoteId(
|
||||
key.assetId,
|
||||
type: AssetMediaSize.preview,
|
||||
thumbhash: key.thumbhash,
|
||||
edited: key.edited,
|
||||
),
|
||||
);
|
||||
yield* loadRequest(previewRequest, decode, isFinal: !loadOriginal);
|
||||
|
||||
if (isCancelled) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!loadOriginal) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isCancelled) {
|
||||
return;
|
||||
}
|
||||
|
||||
final originalRequest = request = RemoteImageRequest(
|
||||
uri: getOriginalUrlForRemoteId(key.assetId, edited: key.edited),
|
||||
);
|
||||
@@ -139,24 +143,26 @@ class RemoteFullImageProvider extends CancellableImageProvider<RemoteFullImagePr
|
||||
}
|
||||
|
||||
Stream<Object> _animatedCodec(RemoteFullImageProvider key, ImageDecoderCallback decode) async* {
|
||||
yield* initialImageStream();
|
||||
yield* initialImageStream(isFinal: false);
|
||||
|
||||
if (isCancelled) {
|
||||
return;
|
||||
}
|
||||
|
||||
final previewRequest = request = RemoteImageRequest(
|
||||
uri: getThumbnailUrlForRemoteId(
|
||||
key.assetId,
|
||||
type: AssetMediaSize.preview,
|
||||
thumbhash: key.thumbhash,
|
||||
edited: key.edited,
|
||||
),
|
||||
);
|
||||
yield* loadRequest(previewRequest, decode, isFinal: false);
|
||||
if (AppSetting.get(Setting.loadPreview)) {
|
||||
final previewRequest = request = RemoteImageRequest(
|
||||
uri: getThumbnailUrlForRemoteId(
|
||||
key.assetId,
|
||||
type: AssetMediaSize.preview,
|
||||
thumbhash: key.thumbhash,
|
||||
edited: key.edited,
|
||||
),
|
||||
);
|
||||
yield* loadRequest(previewRequest, decode, isFinal: false);
|
||||
|
||||
if (isCancelled) {
|
||||
return;
|
||||
if (isCancelled) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// always try original for animated, since previews don't support animation
|
||||
|
||||
@@ -129,7 +129,7 @@ class _ThumbnailTileState extends ConsumerState<ThumbnailTile> {
|
||||
}
|
||||
|
||||
animation.addStatusListener(animationStatusListener);
|
||||
return to.widget;
|
||||
return direction == HeroFlightDirection.push ? from.widget : to.widget;
|
||||
},
|
||||
),
|
||||
),
|
||||
|
||||
@@ -7,13 +7,15 @@ import 'package:immich_mobile/domain/services/store.service.dart';
|
||||
import 'package:immich_mobile/entities/store.entity.dart';
|
||||
import 'package:immich_mobile/routing/router.dart';
|
||||
import 'package:immich_mobile/services/api.service.dart';
|
||||
import 'package:immich_mobile/services/auth.service.dart';
|
||||
import 'package:logging/logging.dart';
|
||||
import 'package:openapi/api.dart';
|
||||
|
||||
class AuthGuard extends AutoRouteGuard {
|
||||
final ApiService _apiService;
|
||||
final AuthService _authService;
|
||||
final _log = Logger("AuthGuard");
|
||||
AuthGuard(this._apiService);
|
||||
AuthGuard(this._apiService, this._authService);
|
||||
@override
|
||||
void onNavigation(NavigationResolver resolver, StackRouter router) async {
|
||||
resolver.next(true);
|
||||
@@ -27,7 +29,7 @@ class AuthGuard extends AutoRouteGuard {
|
||||
if (res == null || res.authStatus != true) {
|
||||
// If the access token is invalid, take user back to login
|
||||
_log.fine('User token is invalid. Redirecting to login');
|
||||
unawaited(router.replaceAll([const LoginRoute()]));
|
||||
unawaited(router.replaceAll([const LoginRoute()]).then((_) => _authService.clearLocalData()));
|
||||
}
|
||||
} on StoreKeyNotFoundException catch (_) {
|
||||
// If there is no access token, take us to the login page
|
||||
@@ -38,7 +40,7 @@ class AuthGuard extends AutoRouteGuard {
|
||||
// On an unauthorized request, take us to the login page
|
||||
if (e.code == HttpStatus.unauthorized) {
|
||||
_log.warning("Unauthorized access token.");
|
||||
unawaited(router.replaceAll([const LoginRoute()]));
|
||||
unawaited(router.replaceAll([const LoginRoute()]).then((_) => _authService.clearLocalData()));
|
||||
return;
|
||||
}
|
||||
} catch (e) {
|
||||
|
||||
@@ -73,6 +73,7 @@ import 'package:immich_mobile/routing/auth_guard.dart';
|
||||
import 'package:immich_mobile/routing/duplicate_guard.dart';
|
||||
import 'package:immich_mobile/routing/locked_guard.dart';
|
||||
import 'package:immich_mobile/services/api.service.dart';
|
||||
import 'package:immich_mobile/services/auth.service.dart';
|
||||
import 'package:immich_mobile/services/local_auth.service.dart';
|
||||
import 'package:immich_mobile/services/secure_storage.service.dart';
|
||||
import 'package:maplibre_gl/maplibre_gl.dart';
|
||||
@@ -82,6 +83,7 @@ part 'router.gr.dart';
|
||||
final appRouterProvider = Provider(
|
||||
(ref) => AppRouter(
|
||||
ref.watch(apiServiceProvider),
|
||||
ref.watch(authServiceProvider),
|
||||
ref.watch(galleryPermissionNotifier.notifier),
|
||||
ref.watch(secureStorageServiceProvider),
|
||||
ref.watch(localAuthServiceProvider),
|
||||
@@ -96,11 +98,12 @@ class AppRouter extends RootStackRouter {
|
||||
|
||||
AppRouter(
|
||||
ApiService apiService,
|
||||
AuthService authService,
|
||||
GalleryPermissionNotifier galleryPermissionNotifier,
|
||||
SecureStorageService secureStorageService,
|
||||
LocalAuthService localAuthService,
|
||||
) {
|
||||
_authGuard = AuthGuard(apiService);
|
||||
_authGuard = AuthGuard(apiService, authService);
|
||||
_duplicateGuard = const DuplicateGuard();
|
||||
_lockedGuard = LockedGuard(apiService, secureStorageService, localAuthService);
|
||||
}
|
||||
|
||||
@@ -54,6 +54,9 @@ class _Executor extends Mixinable<_Executor> with _ExecutorLogger {
|
||||
var _dynamicSpawning = false;
|
||||
var _isolatesCount = numberOfProcessors;
|
||||
|
||||
@visibleForTesting
|
||||
UnmodifiableListView<Worker> get pool => UnmodifiableListView(_pool);
|
||||
|
||||
@override
|
||||
Future<void> init({int? isolatesCount, bool? dynamicSpawning}) async {
|
||||
if (_pool.isNotEmpty) {
|
||||
@@ -76,7 +79,9 @@ class _Executor extends Mixinable<_Executor> with _ExecutorLogger {
|
||||
Future<void> dispose() async {
|
||||
_queue.clear();
|
||||
for (final worker in _pool) {
|
||||
worker.kill();
|
||||
if (worker.initialized || worker.initializing) {
|
||||
worker.kill();
|
||||
}
|
||||
}
|
||||
_pool.clear();
|
||||
super.dispose();
|
||||
@@ -157,9 +162,7 @@ class _Executor extends Mixinable<_Executor> with _ExecutorLogger {
|
||||
_nextTaskId++;
|
||||
late final Task<R> task;
|
||||
final completer = Completer<R>();
|
||||
if (execution is Execute<R>) {
|
||||
task = TaskRegular<R>(id: id, workPriority: priority, execution: execution, completer: completer);
|
||||
} else if (execution is ExecuteWithPort<R>) {
|
||||
if (execution is ExecuteWithPort<R>) {
|
||||
task = TaskWithPort<R>(
|
||||
id: id,
|
||||
workPriority: priority,
|
||||
@@ -177,6 +180,8 @@ class _Executor extends Mixinable<_Executor> with _ExecutorLogger {
|
||||
completer: completer,
|
||||
onMessage: onMessage!,
|
||||
);
|
||||
} else if (execution is Execute<R>) {
|
||||
task = TaskRegular<R>(id: id, workPriority: priority, execution: execution, completer: completer);
|
||||
}
|
||||
_queue.add(task);
|
||||
_schedule();
|
||||
@@ -199,7 +204,7 @@ class _Executor extends Mixinable<_Executor> with _ExecutorLogger {
|
||||
if (_pool.every((worker) => worker.taskId != null)) {
|
||||
return;
|
||||
}
|
||||
if (_dynamicSpawning) {
|
||||
if (_dynamicSpawning && _queue.isNotEmpty) {
|
||||
final freeWorker = _pool.firstWhereOrNull(
|
||||
(worker) => worker.taskId == null && !worker.initialized && !worker.initializing,
|
||||
);
|
||||
@@ -221,7 +226,7 @@ class _Executor extends Mixinable<_Executor> with _ExecutorLogger {
|
||||
.work(task)
|
||||
.then(
|
||||
(value) {
|
||||
//could be completed already by cancel and it is normal.
|
||||
//might be completed by cancel and it is normal.
|
||||
//Assuming that worker finished with error and cleaned gracefully
|
||||
task.complete(value, null, null);
|
||||
},
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -29,10 +29,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: archive
|
||||
sha256: "0c64e928dcbefddecd234205422bcfc2b5e6d31be0b86fef0d0dd48d7b4c9742"
|
||||
sha256: a96e8b390886ee8abb49b7bd3ac8df6f451c621619f52a26e815fdcf568959ff
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.0.4"
|
||||
version: "4.0.9"
|
||||
args:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -45,10 +45,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: async
|
||||
sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb"
|
||||
sha256: e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.13.0"
|
||||
version: "2.13.1"
|
||||
auto_route:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -69,12 +69,12 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: background_downloader
|
||||
sha256: a913b37cc47a656a225e9562b69576000d516f705482f392e2663500e6ff6032
|
||||
sha256: "4cb23d9ad4f5060944f38164e7b90d4bf99b57b2472a3bd4676e59b2db4afd06"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "9.3.0"
|
||||
version: "9.5.4"
|
||||
bonsoir:
|
||||
dependency: transitive
|
||||
dependency: "direct overridden"
|
||||
description:
|
||||
name: bonsoir
|
||||
sha256: "2e2cf3be580deccad9a48dcaddddf90de092e74b7de2015ef58fb24e11d66496"
|
||||
@@ -149,10 +149,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: build_daemon
|
||||
sha256: "8e928697a82be082206edb0b9c99c5a4ad6bc31c9e9b8b2f291ae65cd4a25daa"
|
||||
sha256: bf05f6e12cfea92d3c09308d7bcdab1906cd8a179b023269eed00c071004b957
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.0.4"
|
||||
version: "4.1.1"
|
||||
build_runner:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
@@ -205,10 +205,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: checked_yaml
|
||||
sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
|
||||
sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.3"
|
||||
version: "2.0.4"
|
||||
cli_util:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -261,10 +261,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: connectivity_plus_platform_interface
|
||||
sha256: "42657c1715d48b167930d5f34d00222ac100475f73d10162ddf43e714932f204"
|
||||
sha256: "3c09627c536d22fd24691a905cdd8b14520de69da52c7a97499c8be5284a32ed"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.1"
|
||||
version: "2.1.0"
|
||||
convert:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -277,26 +277,26 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: crop_image
|
||||
sha256: "4fdebd00d0c7d1a6e3abeb1e3843efbc202204b867f3e377fcebcf77aaf69a17"
|
||||
sha256: "27cbce1685a595efee62caab81c98b49b636f765c1da86353f58f5b2bf2775d8"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.16"
|
||||
version: "1.0.17"
|
||||
cross_file:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: cross_file
|
||||
sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670"
|
||||
sha256: "28bb3ae56f117b5aec029d702a90f57d285cd975c3c5c281eaca38dbc47c5937"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.3.4+2"
|
||||
version: "0.3.5+2"
|
||||
crypto:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: crypto
|
||||
sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855"
|
||||
sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.0.6"
|
||||
version: "3.0.7"
|
||||
csslib:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -326,10 +326,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: dbus
|
||||
sha256: "79e0c23480ff85dc68de79e2cd6334add97e48f7f4865d17686dd6ea81a47e8c"
|
||||
sha256: d0c98dcd4f5169878b6cf8f6e0a52403a9dff371a3e2f019697accbf6f44a270
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.7.11"
|
||||
version: "0.7.12"
|
||||
desktop_webview_window:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -342,10 +342,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: device_info_plus
|
||||
sha256: dd0e8e02186b2196c7848c9d394a5fd6e5b57a43a546082c5820b1ec72317e33
|
||||
sha256: b4fed1b2835da9d670d7bed7db79ae2a94b0f5ad6312268158a9b5479abbacdd
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "12.2.0"
|
||||
version: "12.4.0"
|
||||
device_info_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -414,10 +414,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: ffi
|
||||
sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418"
|
||||
sha256: "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.4"
|
||||
version: "2.2.0"
|
||||
file:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
@@ -430,34 +430,34 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: file_selector_linux
|
||||
sha256: "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33"
|
||||
sha256: "2567f398e06ac72dcf2e98a0c95df2a9edd03c2c2e0cacd4780f20cdf56263a0"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.9.3+2"
|
||||
version: "0.9.4"
|
||||
file_selector_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: file_selector_macos
|
||||
sha256: "271ab9986df0c135d45c3cdb6bd0faa5db6f4976d3e4b437cf7d0f258d941bfc"
|
||||
sha256: "5e0bbe9c312416f1787a68259ea1505b52f258c587f12920422671807c4d618a"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.9.4+2"
|
||||
version: "0.9.5"
|
||||
file_selector_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: file_selector_platform_interface
|
||||
sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b
|
||||
sha256: "35e0bd61ebcdb91a3505813b055b09b79dfdc7d0aee9c09a7ba59ae4bb13dc85"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.6.2"
|
||||
version: "2.7.0"
|
||||
file_selector_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: file_selector_windows
|
||||
sha256: "320fcfb6f33caa90f0b58380489fc5ac05d99ee94b61aa96ec2bff0ba81d3c2b"
|
||||
sha256: "62197474ae75893a62df75939c777763d39c2bc5f73ce5b88497208bc269abfd"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.9.3+4"
|
||||
version: "0.9.3+5"
|
||||
fixnum:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -471,14 +471,6 @@ packages:
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
flutter_cache_manager:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_cache_manager
|
||||
sha256: "400b6592f16a4409a7f2bb929a9a7e38c72cceb8ffb99ee57bbf2cb2cecf8386"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.4.1"
|
||||
flutter_displaymode:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -557,10 +549,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_plugin_android_lifecycle
|
||||
sha256: "5a1e6fb2c0561958d7e4c33574674bda7b77caaca7a33b758876956f2902eea3"
|
||||
sha256: "38d1c268de9097ff59cf0e844ac38759fc78f76836d37edad06fa21e182055a0"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.0.27"
|
||||
version: "2.0.34"
|
||||
flutter_riverpod:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -621,10 +613,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_svg
|
||||
sha256: b9c2ad5872518a27507ab432d1fb97e8813b05f0fc693f9d40fad06d073e0678
|
||||
sha256: "1ded017b39c8e15c8948ea855070a5ff8ff8b3d5e83f3446e02d6bb12add7ad9"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.1"
|
||||
version: "2.2.4"
|
||||
flutter_test:
|
||||
dependency: "direct dev"
|
||||
description: flutter
|
||||
@@ -634,26 +626,26 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_udid
|
||||
sha256: "166bee5989a58c66b8b62000ea65edccc7c8167bbafdbb08022638db330dd030"
|
||||
sha256: fc599671cbe8b328e509c961ec121880406ed994dde659cc9ece9c7503cd31c7
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.0.0"
|
||||
version: "4.1.2"
|
||||
flutter_web_auth_2:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: flutter_web_auth_2
|
||||
sha256: "561c32d32ed537853de43852c35849cf1d37f3482f41f22b718ab6112f96b333"
|
||||
sha256: d354998934ddc338e69b999b2abaeb33c6fd09999d3a5f92ead1a6b49b49712e
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "5.0.0-alpha.0"
|
||||
version: "5.0.2"
|
||||
flutter_web_auth_2_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: flutter_web_auth_2_platform_interface
|
||||
sha256: "45927587ebb2364cd273675ec95f6f67b81725754b416cef2b65cdc63fd3e853"
|
||||
sha256: ba0fbba55bffb47242025f96852ad1ffba34bc451568f56ef36e613612baffab
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "5.0.0-alpha.0"
|
||||
version: "5.0.0"
|
||||
flutter_web_plugins:
|
||||
dependency: transitive
|
||||
description: flutter
|
||||
@@ -663,10 +655,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: fluttertoast
|
||||
sha256: "25e51620424d92d3db3832464774a6143b5053f15e382d8ffbfd40b6e795dcf1"
|
||||
sha256: "90778fe0497fe3a09166e8cf2e0867310ff434b794526589e77ec03cf08ba8e8"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "8.2.12"
|
||||
version: "8.2.14"
|
||||
frontend_server_client:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -700,18 +692,18 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: geolocator_android
|
||||
sha256: "114072db5d1dce0ec0b36af2697f55c133bc89a2c8dd513e137c0afe59696ed4"
|
||||
sha256: "179c3cb66dfa674fc9ccbf2be872a02658724d1c067634e2c427cf6df7df901a"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "5.0.1+1"
|
||||
version: "5.0.2"
|
||||
geolocator_apple:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: geolocator_apple
|
||||
sha256: c4ecead17985ede9634f21500072edfcb3dba0ef7b97f8d7bc556d2d722b3ba3
|
||||
sha256: dbdd8789d5aaf14cf69f74d4925ad1336b4433a6efdf2fce91e8955dc921bf22
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.3.9"
|
||||
version: "2.3.13"
|
||||
geolocator_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -724,10 +716,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: geolocator_platform_interface
|
||||
sha256: "386ce3d9cce47838355000070b1d0b13efb5bc430f8ecda7e9238c8409ace012"
|
||||
sha256: "30cb64f0b9adcc0fb36f628b4ebf4f731a2961a0ebd849f4b56200205056fe67"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.2.4"
|
||||
version: "4.2.6"
|
||||
geolocator_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -740,10 +732,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: geolocator_windows
|
||||
sha256: "53da08937d07c24b0d9952eb57a3b474e29aae2abf9dd717f7e1230995f13f0e"
|
||||
sha256: "175435404d20278ffd220de83c2ca293b73db95eafbdc8131fe8609be1421eb6"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.2.3"
|
||||
version: "0.2.5"
|
||||
glob:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -812,10 +804,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: http
|
||||
sha256: bb2ce4590bc2667c96f318d68cac1b5a7987ec819351d32b1c987239a815e007
|
||||
sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.5.0"
|
||||
version: "1.6.0"
|
||||
http_multi_server:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -844,42 +836,42 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: image
|
||||
sha256: "4e973fcf4caae1a4be2fa0a13157aa38a8f9cb049db6529aa00b4d71abc4d928"
|
||||
sha256: f9881ff4998044947ec38d098bc7c8316ae1186fa786eddffdb867b9bc94dfce
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.5.4"
|
||||
version: "4.8.0"
|
||||
image_picker:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: image_picker
|
||||
sha256: "736eb56a911cf24d1859315ad09ddec0b66104bc41a7f8c5b96b4e2620cf5041"
|
||||
sha256: "784210112be18ea55f69d7076e2c656a4e24949fa9e76429fe53af0c0f4fa320"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.2.0"
|
||||
version: "1.2.1"
|
||||
image_picker_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: image_picker_android
|
||||
sha256: "58a85e6f09fe9c4484d53d18a0bd6271b72c53fce1d05e6f745ae36d8c18efca"
|
||||
sha256: "66810af8e99b2657ee98e5c6f02064f69bb63f7a70e343937f70946c5f8c6622"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.8.13+5"
|
||||
version: "0.8.13+16"
|
||||
image_picker_for_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: image_picker_for_web
|
||||
sha256: "40c2a6a0da15556dc0f8e38a3246064a971a9f512386c3339b89f76db87269b6"
|
||||
sha256: "66257a3191ab360d23a55c8241c91a6e329d31e94efa7be9cf7a212e65850214"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.0"
|
||||
version: "3.1.1"
|
||||
image_picker_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: image_picker_ios
|
||||
sha256: e675c22790bcc24e9abd455deead2b7a88de4b79f7327a281812f14de1a56f58
|
||||
sha256: b9c4a438a9ff4f60808c9cf0039b93a42bb6c2211ef6ebb647394b2b3fa84588
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.8.13+1"
|
||||
version: "0.8.13+6"
|
||||
image_picker_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -900,10 +892,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: image_picker_platform_interface
|
||||
sha256: "9f143b0dba3e459553209e20cc425c9801af48e6dfa4f01a0fcf927be3f41665"
|
||||
sha256: "567e056716333a1647c64bb6bd873cff7622233a5c3f694be28a583d4715690c"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.11.0"
|
||||
version: "2.11.1"
|
||||
image_picker_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -960,10 +952,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: json_annotation
|
||||
sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1"
|
||||
sha256: cb09e7dac6210041fad964ed7fbee004f14258b4eca4040f72d1234062ace4c8
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.9.0"
|
||||
version: "4.11.0"
|
||||
leak_tracker:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1016,26 +1008,26 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: local_auth_android
|
||||
sha256: "63ad7ca6396290626dc0cb34725a939e4cfe965d80d36112f08d49cf13a8136e"
|
||||
sha256: a0bdfcc0607050a26ef5b31d6b4b254581c3d3ce3c1816ab4d4f4a9173e84467
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.49"
|
||||
version: "1.0.56"
|
||||
local_auth_darwin:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: local_auth_darwin
|
||||
sha256: "630996cd7b7f28f5ab92432c4b35d055dd03a747bc319e5ffbb3c4806a3e50d2"
|
||||
sha256: "699873970067a40ef2f2c09b4c72eb1cfef64224ef041b3df9fdc5c4c1f91f49"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.4.3"
|
||||
version: "1.6.1"
|
||||
local_auth_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: local_auth_platform_interface
|
||||
sha256: "1b842ff177a7068442eae093b64abe3592f816afd2a533c0ebcdbe40f9d2075a"
|
||||
sha256: f98b8e388588583d3f781f6806e4f4c9f9e189d898d27f0c249b93a1973dd122
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.10"
|
||||
version: "1.1.0"
|
||||
local_auth_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1112,10 +1104,10 @@ packages:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
name: mocktail
|
||||
sha256: "890df3f9688106f25755f26b1c60589a92b3ab91a22b8b224947ad041bf172d8"
|
||||
sha256: "5e1bf53cc7baa8062a33b84424deb61513858ea05c601b8509e683815b5914aa"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.0.4"
|
||||
version: "1.0.5"
|
||||
native_toolchain_c:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1137,10 +1129,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: network_info_plus
|
||||
sha256: "08f4166bbb77da9e407edef6322a33f87b18c0ca46483fb25606cb3d2bfcdd2a"
|
||||
sha256: f926b2ba86aa0086a0dfbb9e5072089bc213d854135c1712f1d29fc89ba3c877
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.1.3"
|
||||
version: "6.1.4"
|
||||
network_info_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1161,10 +1153,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: objective_c
|
||||
sha256: "1f81ed9e41909d44162d7ec8663b2c647c202317cc0b56d3d56f6a13146a0b64"
|
||||
sha256: "100a1c87616ab6ed41ec263b083c0ef3261ee6cd1dc3b0f35f8ddfa4f996fe52"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "9.1.0"
|
||||
version: "9.3.0"
|
||||
octo_image:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -1193,26 +1185,26 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: package_config
|
||||
sha256: "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67"
|
||||
sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.1.1"
|
||||
version: "2.2.0"
|
||||
package_info_plus:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: package_info_plus
|
||||
sha256: "7976bfe4c583170d6cdc7077e3237560b364149fcd268b5f53d95a991963b191"
|
||||
sha256: "16eee997588c60225bda0488b6dcfac69280a6b7a3cf02c741895dd370a02968"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "8.3.0"
|
||||
version: "8.3.1"
|
||||
package_info_plus_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: package_info_plus_platform_interface
|
||||
sha256: "6c935fb612dff8e3cc9632c2b301720c77450a126114126ffaafe28d2e87956c"
|
||||
sha256: "202a487f08836a592a6bd4f901ac69b3a8f146af552bbd14407b6b41e1c3f086"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.2.0"
|
||||
version: "3.2.1"
|
||||
path:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -1241,18 +1233,18 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: path_provider_android
|
||||
sha256: "0ca7359dad67fd7063cb2892ab0c0737b2daafd807cf1acecd62374c8fae6c12"
|
||||
sha256: "149441ca6e4f38193b2e004c0ca6376a3d11f51fa5a77552d8bd4d2b0c0912ba"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.16"
|
||||
version: "2.2.23"
|
||||
path_provider_foundation:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: path_provider_foundation
|
||||
sha256: efaec349ddfc181528345c56f8eda9d6cccd71c177511b132c6a0ddaefaa2738
|
||||
sha256: "2a376b7d6392d80cd3705782d2caa734ca4727776db0b6ec36ef3f1855197699"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.4.3"
|
||||
version: "2.6.0"
|
||||
path_provider_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1297,10 +1289,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: permission_handler_apple
|
||||
sha256: f84a188e79a35c687c132a0a0556c254747a08561e99ab933f12f6ca71ef3c98
|
||||
sha256: f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "9.4.6"
|
||||
version: "9.4.7"
|
||||
permission_handler_html:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1329,18 +1321,18 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: petitparser
|
||||
sha256: "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1"
|
||||
sha256: "91bd59303e9f769f108f8df05e371341b15d59e995e6806aefab827b58336675"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "7.0.1"
|
||||
version: "7.0.2"
|
||||
photo_manager:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: photo_manager
|
||||
sha256: a0d9a7a9bc35eda02d33766412bde6d883a8b0acb86bbe37dac5f691a0894e8a
|
||||
sha256: fb3bc8ea653370f88742b3baa304700107c83d12748aa58b2b9f2ed3ef15e6c2
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.7.1"
|
||||
version: "3.9.0"
|
||||
pigeon:
|
||||
dependency: "direct dev"
|
||||
description:
|
||||
@@ -1377,26 +1369,26 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: pool
|
||||
sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
|
||||
sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.5.1"
|
||||
version: "1.5.2"
|
||||
posix:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: posix
|
||||
sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a
|
||||
sha256: "185ef7606574f789b40f289c233efa52e96dead518aed988e040a10737febb07"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.0.1"
|
||||
version: "6.5.0"
|
||||
process:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: process
|
||||
sha256: "107d8be718f120bbba9dcd1e95e3bd325b1b4a4f07db64154635ba03f2567a0d"
|
||||
sha256: c6248e4526673988586e8c00bb22a49210c258dc91df5227d5da9748ecf79744
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "5.0.3"
|
||||
version: "5.0.5"
|
||||
protobuf:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1445,14 +1437,6 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.6.1"
|
||||
rxdart:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: rxdart
|
||||
sha256: "5c3004a4a8dbb94bd4bf5412a4def4acdaa12e12f269737a5751369e12d1a962"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.28.0"
|
||||
scroll_date_picker:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -1521,26 +1505,26 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences
|
||||
sha256: "846849e3e9b68f3ef4b60c60cf4b3e02e9321bc7f4d8c4692cf87ffa82fc8a3a"
|
||||
sha256: c3025c5534b01739267eb7d76959bbc25a6d10f6988e1c2a3036940133dd10bf
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.5.2"
|
||||
version: "2.5.5"
|
||||
shared_preferences_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_android
|
||||
sha256: "3ec7210872c4ba945e3244982918e502fa2bfb5230dff6832459ca0e1879b7ad"
|
||||
sha256: e8d4762b1e2e8578fc4d0fd548cebf24afd24f49719c08974df92834565e2c53
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.4.8"
|
||||
version: "2.4.23"
|
||||
shared_preferences_foundation:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_foundation
|
||||
sha256: "6a52cfcdaeac77cad8c97b539ff688ccfc458c007b4db12be584fbe5c0e49e03"
|
||||
sha256: "4e7eaffc2b17ba398759f1151415869a34771ba11ebbccd1b0145472a619a64f"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.5.4"
|
||||
version: "2.5.6"
|
||||
shared_preferences_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1553,10 +1537,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_platform_interface
|
||||
sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80"
|
||||
sha256: "649dc798a33931919ea356c4305c2d1f81619ea6e92244070b520187b5140ef9"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.4.1"
|
||||
version: "2.4.2"
|
||||
shared_preferences_web:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1635,54 +1619,6 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.10.2"
|
||||
sprintf:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sprintf
|
||||
sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "7.0.0"
|
||||
sqflite:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sqflite
|
||||
sha256: e2297b1da52f127bc7a3da11439985d9b536f75070f3325e62ada69a5c585d03
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.4.2"
|
||||
sqflite_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sqflite_android
|
||||
sha256: "2b3070c5fa881839f8b402ee4a39c1b4d561704d4ebbbcfb808a119bc2a1701b"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.4.1"
|
||||
sqflite_common:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sqflite_common
|
||||
sha256: "84731e8bfd8303a3389903e01fb2141b6e59b5973cacbb0929021df08dddbe8b"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.5.5"
|
||||
sqflite_darwin:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sqflite_darwin
|
||||
sha256: "279832e5cde3fe99e8571879498c9211f3ca6391b0d818df4e17d9fff5c6ccb3"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.4.2"
|
||||
sqflite_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: sqflite_platform_interface
|
||||
sha256: "8dd4515c7bdcae0a785b0062859336de775e8c65db81ae33dd5445f35be61920"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.4.0"
|
||||
sqlcipher_flutter_libs:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1763,14 +1699,6 @@ packages:
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.3.1"
|
||||
synchronized:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: synchronized
|
||||
sha256: "0669c70faae6270521ee4f05bffd2919892d42d1276e6c495be80174b6bc0ef6"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.3.1"
|
||||
term_glyph:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1815,10 +1743,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: universal_io
|
||||
sha256: "1722b2dcc462b4b2f3ee7d188dad008b6eb4c40bbd03a3de451d82c78bba9aad"
|
||||
sha256: f63cbc48103236abf48e345e07a03ce5757ea86285ed313a6a032596ed9301e2
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.2.2"
|
||||
version: "2.3.1"
|
||||
universal_platform:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1839,34 +1767,34 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_android
|
||||
sha256: "1d0eae19bd7606ef60fe69ef3b312a437a16549476c42321d5dc1506c9ca3bf4"
|
||||
sha256: "3bb000251e55d4a209aa0e2e563309dc9bb2befea2295fd0cec1f51760aac572"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.3.15"
|
||||
version: "6.3.29"
|
||||
url_launcher_ios:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_ios
|
||||
sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626"
|
||||
sha256: "580fe5dfb51671ae38191d316e027f6b76272b026370708c2d898799750a02b0"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.3.2"
|
||||
version: "6.4.1"
|
||||
url_launcher_linux:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_linux
|
||||
sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935"
|
||||
sha256: d5e14138b3bc193a0f63c10a53c94b91d399df0512b1f29b94a043db7482384a
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.2.1"
|
||||
version: "3.2.2"
|
||||
url_launcher_macos:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_macos
|
||||
sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2"
|
||||
sha256: "368adf46f71ad3c21b8f06614adb38346f193f3a59ba8fe9a2fd74133070ba18"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.2.2"
|
||||
version: "3.2.5"
|
||||
url_launcher_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1879,34 +1807,34 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_web
|
||||
sha256: "3ba963161bd0fe395917ba881d320b9c4f6dd3c4a233da62ab18a5025c85f1e9"
|
||||
sha256: d0412fcf4c6b31ecfdb7762359b7206ffba3bbffd396c6d9f9c4616ece476c1f
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.4.0"
|
||||
version: "2.4.2"
|
||||
url_launcher_windows:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: url_launcher_windows
|
||||
sha256: "3284b6d2ac454cf34f114e1d3319866fdd1e19cdc329999057e44ffe936cfa77"
|
||||
sha256: "712c70ab1b99744ff066053cbe3e80c73332b38d46e5e945c98689b2e66fc15f"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.1.4"
|
||||
version: "3.1.5"
|
||||
uuid:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: uuid
|
||||
sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff
|
||||
sha256: "1fef9e8e11e2991bb773070d4656b7bd5d850967a2456cfc83cf47925ba79489"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.5.1"
|
||||
version: "4.5.3"
|
||||
vector_graphics:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: vector_graphics
|
||||
sha256: "44cc7104ff32563122a929e4620cf3efd584194eec6d1d913eb5ba593dbcf6de"
|
||||
sha256: "81da85e9ca8885ade47f9685b953cb098970d11be4821ac765580a6607ea4373"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.18"
|
||||
version: "1.1.21"
|
||||
vector_graphics_codec:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1919,10 +1847,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: vector_graphics_compiler
|
||||
sha256: d354a7ec6931e6047785f4db12a1f61ec3d43b207fc0790f863818543f8ff0dc
|
||||
sha256: "5a88dd14c0954a5398af544651c7fb51b457a2a556949bfb25369b210ef73a74"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.1.19"
|
||||
version: "1.2.0"
|
||||
vector_math:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1935,10 +1863,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: vm_service
|
||||
sha256: ddfa8d30d89985b96407efce8acbdd124701f96741f2d981ca860662f1c0dc02
|
||||
sha256: "046d3928e16fa4dc46e8350415661755ab759d9fc97fc21b5ab295f71e4f0499"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "15.0.0"
|
||||
version: "15.1.0"
|
||||
wakelock_plus:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@@ -1951,10 +1879,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: wakelock_plus_platform_interface
|
||||
sha256: "036deb14cd62f558ca3b73006d52ce049fabcdcb2eddfe0bf0fe4e8a943b5cf2"
|
||||
sha256: "14b2e5b9e35c2631e656913c47adecdd71633ae92896a27a64c8f1fcfabc21cc"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "1.3.0"
|
||||
version: "1.5.0"
|
||||
watcher:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -1999,10 +1927,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: win32
|
||||
sha256: b89e6e24d1454e149ab20fbb225af58660f0c0bf4475544650700d8e2da54aef
|
||||
sha256: d7cb55e04cd34096cd3a79b3330245f54cb96a370a1c27adb3c84b917de8b08e
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "5.11.0"
|
||||
version: "5.15.0"
|
||||
win32_registry:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -2023,10 +1951,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: worker_manager
|
||||
sha256: "1bce9f894a0c187856f5fc0e150e7fe1facce326f048ca6172947754dac3d4f3"
|
||||
sha256: "887587eb97e517bca88dea761bea96edc495513ec91e4c489dcf110967ba79ff"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "7.2.7"
|
||||
version: "7.2.9"
|
||||
xdg_directories:
|
||||
dependency: transitive
|
||||
description:
|
||||
@@ -2061,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,40 +6,38 @@ 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.0
|
||||
async: ^2.13.1
|
||||
auto_route: ^11.1.0
|
||||
background_downloader: ^9.3.0
|
||||
background_downloader: ^9.5.4
|
||||
cast: ^2.1.0
|
||||
collection: ^1.19.1
|
||||
connectivity_plus: ^6.1.3
|
||||
crop_image: ^1.0.16
|
||||
crypto: ^3.0.6
|
||||
device_info_plus: ^12.2.0
|
||||
# DB
|
||||
connectivity_plus: ^6.1.5
|
||||
crop_image: ^1.0.17
|
||||
crypto: ^3.0.7
|
||||
device_info_plus: ^12.4.0
|
||||
drift: ^2.32.1
|
||||
drift_flutter: ^0.3.0
|
||||
dynamic_color: ^1.8.1
|
||||
easy_localization: ^3.0.8
|
||||
ffi: ^2.1.4
|
||||
ffi: ^2.2.0
|
||||
flutter:
|
||||
sdk: flutter
|
||||
flutter_cache_manager: ^3.4.1
|
||||
flutter_displaymode: ^0.7.0
|
||||
flutter_hooks: ^0.21.3+1
|
||||
flutter_local_notifications: ^17.2.1+2
|
||||
flutter_local_notifications: ^17.2.4
|
||||
flutter_secure_storage: ^9.2.4
|
||||
flutter_svg: ^2.2.1
|
||||
flutter_udid: ^4.0.0
|
||||
flutter_web_auth_2: ^5.0.0-alpha.0
|
||||
fluttertoast: ^8.2.12
|
||||
flutter_svg: ^2.2.4
|
||||
flutter_udid: ^4.1.2
|
||||
flutter_web_auth_2: ^5.0.2
|
||||
fluttertoast: ^8.2.14
|
||||
geolocator: ^14.0.2
|
||||
home_widget: ^0.8.1
|
||||
hooks_riverpod: ^2.6.1
|
||||
http: ^1.5.0
|
||||
image_picker: ^1.2.0
|
||||
http: ^1.6.0
|
||||
image_picker: ^1.2.1
|
||||
immich_ui:
|
||||
path: './packages/ui'
|
||||
intl: ^0.20.2
|
||||
@@ -50,16 +48,16 @@ dependencies:
|
||||
git:
|
||||
url: https://github.com/immich-app/native_video_player
|
||||
ref: 'cdf621bdb7edaf996e118a58a48f6441187d79c6'
|
||||
network_info_plus: ^6.1.3
|
||||
network_info_plus: ^6.1.4
|
||||
octo_image: ^2.1.0
|
||||
openapi:
|
||||
path: openapi
|
||||
package_info_plus: ^8.3.0
|
||||
package_info_plus: ^8.3.1
|
||||
path: ^1.9.1
|
||||
path_provider: ^2.1.5
|
||||
path_provider_foundation: ^2.4.3
|
||||
path_provider_foundation: ^2.6.0
|
||||
permission_handler: ^11.4.0
|
||||
photo_manager: ^3.7.1
|
||||
photo_manager: ^3.9.0
|
||||
pinput: ^5.0.2
|
||||
punycode: ^1.0.0
|
||||
scroll_date_picker: ^3.8.0
|
||||
@@ -71,9 +69,9 @@ dependencies:
|
||||
thumbhash: 0.1.0+1
|
||||
timezone: ^0.9.4
|
||||
url_launcher: ^6.3.2
|
||||
uuid: ^4.5.1
|
||||
wakelock_plus: ^1.3.0
|
||||
worker_manager: ^7.2.7
|
||||
uuid: ^4.5.3
|
||||
wakelock_plus: ^1.3.3
|
||||
worker_manager: ^7.2.9
|
||||
web_socket: ^1.0.1
|
||||
socket_io_client:
|
||||
git:
|
||||
@@ -92,7 +90,7 @@ dependencies:
|
||||
|
||||
dev_dependencies:
|
||||
auto_route_generator: ^10.5.0
|
||||
build_runner: ^2.4.8
|
||||
build_runner: ^2.13.1
|
||||
# Drift generator
|
||||
drift_dev: ^2.32.1
|
||||
fake_async: ^1.3.3
|
||||
@@ -104,9 +102,14 @@ dev_dependencies:
|
||||
sdk: flutter
|
||||
integration_test:
|
||||
sdk: flutter
|
||||
mocktail: ^1.0.4
|
||||
mocktail: ^1.0.5
|
||||
# Type safe platform code
|
||||
pigeon: ^26.0.2
|
||||
pigeon: ^26.3.4
|
||||
|
||||
# cast 2.1.0 declares a loose bonsoir range but its code targets the 5.x API.
|
||||
# Pin bonsoir to 5.x until cast releases a version compatible with bonsoir 6.x.
|
||||
dependency_overrides:
|
||||
bonsoir: ^5.1.11
|
||||
|
||||
flutter:
|
||||
uses-material-design: true
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user