Skip to content

Commit

Permalink
Refactor SortKey to store backend representation internally
Browse files Browse the repository at this point in the history
Signed-off-by: trivernis <trivernis@protonmail.com>
  • Loading branch information
Trivernis committed Feb 5, 2022
1 parent 5aadd9c commit c0dca66
Show file tree
Hide file tree
Showing 16 changed files with 323 additions and 100 deletions.
141 changes: 107 additions & 34 deletions mediarepo-ui/src-tauri/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 7 additions & 7 deletions mediarepo-ui/src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,20 @@ edition = "2018"
build = "src/build.rs"

[build-dependencies]
tauri-build = { version = "^1.0.0-beta.4" }
tauri-build = "1.0.0-beta.4"

[dependencies]
serde_json = "^1.0"
serde = { version = "^1.0", features = ["derive"] }
thiserror = "^1.0.30"
typemap_rev = "^0.1.5"
serde_json = "1.0.78"
serde = { version = "1.0.136", features = ["derive"] }
thiserror = "1.0.30"
typemap_rev = "0.1.5"

[dependencies.tauri]
version = "^1.0.0-beta.8"
version = "1.0.0-beta.8"
features = ["dialog-all", "path-all", "shell-all"]

[dependencies.tracing-subscriber]
version = "^0.3.0"
version = "0.3.8"
features = ["env-filter"]

[dependencies.mediarepo-api]
Expand Down
15 changes: 15 additions & 0 deletions mediarepo-ui/src/api/Api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@ import {ApiFunction} from "./api-types/functions";
import {
AddLocalFileREquest,
AddRepositoryRequest,
AddSortingPresetRequest,
ChangeFileTagsRequest,
CheckDaemonRunningRequest,
CheckLocalRepositoryExistsRequest,
CreateTagsRequest,
DeleteFileRequest,
DeleteRepositoryRequest,
DeleteSortingPresetRequest,
DeleteThumbnailsRequest,
FindFilesRequest,
GetFileMetadataRequest,
Expand All @@ -31,6 +33,7 @@ import {
import {RepositoryData, RepositoryMetadata, SizeMetadata} from "./api-types/repo";
import {CdTagMappings, NamespaceData, TagData} from "./api-types/tags";
import {ShortCache} from "./ShortCache";
import {SortingPresetData} from "./api-types/presets";

export class MediarepoApi {

Expand Down Expand Up @@ -184,6 +187,18 @@ export class MediarepoApi {
return this.invokePlugin(ApiFunction.RunJob, request);
}

public static async getAllSortingPresets(): Promise<SortingPresetData[]> {
return ShortCache.cached("sorting-presets", () => this.invokePlugin(ApiFunction.GetAllSortingPresets), 1000);
}

public static async addSortingPreset(request: AddSortingPresetRequest): Promise<SortingPresetData> {
return this.invokePlugin(ApiFunction.AddSortingPreset, request);
}

public static async deleteSortingPreset(request: DeleteSortingPresetRequest): Promise<void> {
return this.invokePlugin(ApiFunction.DeleteSortingPreset, request);
}

private static async invokePlugin<T>(fn: ApiFunction, args?: any): Promise<T> {
return invoke<T>(`plugin:mediarepo|${fn}`, args);
}
Expand Down
2 changes: 1 addition & 1 deletion mediarepo-ui/src/api/api-types/files.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ export type ValueComparator<T> =
| { Greater: T }
| { Between: T[] }

export type SortKey = { Namespace: SortNamespace }
export type SortKeyData = { Namespace: SortNamespace }
| { FileName: SortDirection }
| { FileSize: SortDirection }
| { FileImportedTime: SortDirection }
Expand Down
Loading

0 comments on commit c0dca66

Please sign in to comment.