mirror of
https://github.com/Dictionarry-Hub/profilarr.git
synced 2026-01-29 05:50:51 +01:00
refactor: reorganise shared folder structure
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { writable } from 'svelte/store';
|
||||
import { uuid } from '$shared/uuid';
|
||||
import { uuid } from '$shared/utils/uuid';
|
||||
|
||||
export type AlertType = 'success' | 'error' | 'warning' | 'info';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script lang="ts">
|
||||
import { getPlatformLabel, getChannelLabel, shouldShowVersion } from '$shared/version.ts';
|
||||
import { getPlatformLabel, getChannelLabel, shouldShowVersion } from '$shared/utils/version.ts';
|
||||
import logo from '$assets/logo-512.png';
|
||||
|
||||
export let version: string = '';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { db } from '../db.ts';
|
||||
import type { FilterConfig, FilterMode, UpgradeConfig } from '$lib/shared/filters.ts';
|
||||
import type { FilterConfig, FilterMode, UpgradeConfig } from '$shared/upgrades/filters.ts';
|
||||
|
||||
/**
|
||||
* Database row type for upgrade_configs table
|
||||
|
||||
@@ -7,7 +7,7 @@ import { upgradeConfigsQueries } from '$db/queries/upgradeConfigs.ts';
|
||||
import { arrInstancesQueries } from '$db/queries/arrInstances.ts';
|
||||
import { logger } from '$logger/logger.ts';
|
||||
import { processUpgradeConfig } from '$lib/server/upgrades/processor.ts';
|
||||
import type { UpgradeConfig } from '$lib/shared/filters.ts';
|
||||
import type { UpgradeConfig } from '$shared/upgrades/filters.ts';
|
||||
|
||||
export interface UpgradeInstanceStatus {
|
||||
instanceId: number;
|
||||
|
||||
@@ -49,7 +49,7 @@ function normalize(value: string): string {
|
||||
return value.toLowerCase().replace(/[-_\s]/g, '');
|
||||
}
|
||||
|
||||
// Canonical value mappings (matches src/lib/shared/conditionTypes.ts)
|
||||
// Canonical value mappings (matches src/lib/shared/conditions.ts)
|
||||
const sourceNames: Record<QualitySource, string> = {
|
||||
[QualitySource.Unknown]: 'unknown',
|
||||
[QualitySource.Cam]: 'cam',
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import type { PCDCache } from '../../../cache.ts';
|
||||
import { writeOperation, type OperationLayer } from '../../../writer.ts';
|
||||
import type { RadarrNamingRow, SonarrNamingRow } from '$shared/pcd/display.ts';
|
||||
import { colonReplacementToDb, multiEpisodeStyleToDb } from '$shared/pcd/conversions.ts';
|
||||
import { colonReplacementToDb, multiEpisodeStyleToDb } from '$shared/pcd/mediaManagement.ts';
|
||||
|
||||
export interface CreateRadarrNamingInput {
|
||||
name: string;
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
import type { PCDCache } from '../../../cache.ts';
|
||||
import type { RadarrNamingRow, SonarrNamingRow, NamingListItem } from '$shared/pcd/display.ts';
|
||||
import { colonReplacementFromDb, multiEpisodeStyleFromDb } from '$shared/pcd/conversions.ts';
|
||||
import { colonReplacementFromDb, multiEpisodeStyleFromDb } from '$shared/pcd/mediaManagement.ts';
|
||||
|
||||
// Note: name is PRIMARY KEY so never null, but Kysely types it as nullable
|
||||
// because the generator doesn't detect non-INTEGER primary keys
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import type { PCDCache } from '../../../cache.ts';
|
||||
import { writeOperation, type OperationLayer } from '../../../writer.ts';
|
||||
import type { RadarrNamingRow, SonarrNamingRow } from '$shared/pcd/display.ts';
|
||||
import { colonReplacementToDb, multiEpisodeStyleToDb } from '$shared/pcd/conversions.ts';
|
||||
import { colonReplacementToDb, multiEpisodeStyleToDb } from '$shared/pcd/mediaManagement.ts';
|
||||
|
||||
export interface UpdateRadarrNamingInput {
|
||||
name: string;
|
||||
|
||||
@@ -21,7 +21,7 @@ import { getRadarrByName as getRadarrMediaSettings, getSonarrByName as getSonarr
|
||||
import { getRadarrByName as getRadarrNaming, getSonarrByName as getSonarrNaming } from '$pcd/entities/mediaManagement/naming/read.ts';
|
||||
import { getRadarrByName as getRadarrQualityDefs, getSonarrByName as getSonarrQualityDefs } from '$pcd/entities/mediaManagement/quality-definitions/read.ts';
|
||||
import type { RadarrMediaSettingsRow, SonarrMediaSettingsRow, RadarrNamingRow, SonarrNamingRow } from '$shared/pcd/display.ts';
|
||||
import { colonReplacementToDb, multiEpisodeStyleToDb } from '$shared/pcd/conversions.ts';
|
||||
import { colonReplacementToDb, multiEpisodeStyleToDb } from '$shared/pcd/mediaManagement.ts';
|
||||
import type {
|
||||
ArrType,
|
||||
ArrPropersAndRepacks,
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
|
||||
import { RadarrClient } from '$lib/server/utils/arr/clients/radarr.ts';
|
||||
import type { ArrInstance } from '$lib/server/db/queries/arrInstances.ts';
|
||||
import type { UpgradeConfig, FilterConfig } from '$lib/shared/filters.ts';
|
||||
import { evaluateGroup } from '$lib/shared/filters.ts';
|
||||
import { getSelector } from '$lib/shared/selectors.ts';
|
||||
import type { UpgradeConfig, FilterConfig } from '$shared/upgrades/filters.ts';
|
||||
import { evaluateGroup } from '$shared/upgrades/filters.ts';
|
||||
import { getSelector } from '$shared/upgrades/selectors.ts';
|
||||
import type { UpgradeItem, UpgradeJobLog, UpgradeSelectionItem } from './types.ts';
|
||||
import { normalizeRadarrItems } from './normalize.ts';
|
||||
import {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
*/
|
||||
|
||||
import type { RadarrMovie } from '$lib/server/utils/arr/types.ts';
|
||||
import type { FilterGroup } from '$lib/shared/filters.ts';
|
||||
import type { FilterGroup } from '$shared/upgrades/filters.ts';
|
||||
|
||||
/**
|
||||
* Normalized item interface that matches filter field names
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
* Condition types and their valid values for custom formats
|
||||
*/
|
||||
|
||||
// Arr type for filtering
|
||||
export type ArrType = 'all' | 'radarr' | 'sonarr';
|
||||
import type { ArrType } from './types.ts';
|
||||
|
||||
// Condition type definitions (ordered for display sorting)
|
||||
export const CONDITION_TYPES = [
|
||||
@@ -3,7 +3,7 @@
|
||||
* Defines all available filter fields for upgrade filtering
|
||||
*/
|
||||
|
||||
import { uuid } from './uuid.ts';
|
||||
import { uuid } from '../utils/uuid.ts';
|
||||
|
||||
export interface FilterOperator {
|
||||
id: string;
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { onMount, onDestroy } from 'svelte';
|
||||
import { parseUTC } from '$shared/dates';
|
||||
import { parseUTC } from '$shared/utils/dates';
|
||||
import Input from '$ui/form/Input.svelte';
|
||||
import DropdownSelect from '$ui/dropdown/DropdownSelect.svelte';
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import { arrInstancesQueries } from '$db/queries/arrInstances.ts';
|
||||
import { upgradeConfigsQueries } from '$db/queries/upgradeConfigs.ts';
|
||||
import { upgradeRunsQueries } from '$db/queries/upgradeRuns.ts';
|
||||
import { logger } from '$logger/logger.ts';
|
||||
import type { FilterConfig, FilterMode } from '$lib/shared/filters.ts';
|
||||
import type { FilterConfig, FilterMode } from '$shared/upgrades/filters.ts';
|
||||
import { processUpgradeConfig, clearDryRunExclusions } from '$lib/server/upgrades/processor.ts';
|
||||
import { logDryRunCacheCleared } from '$lib/server/upgrades/logger.ts';
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import type { PageData, ActionData } from './$types';
|
||||
import type { FilterConfig, FilterMode } from '$lib/shared/filters';
|
||||
import type { FilterConfig, FilterMode } from '$shared/upgrades/filters';
|
||||
import { enhance } from '$app/forms';
|
||||
import { onMount } from 'svelte';
|
||||
import { alertStore } from '$lib/client/alerts/store';
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script lang="ts">
|
||||
import { onMount, onDestroy } from 'svelte';
|
||||
import { filterModes, type FilterMode } from '$lib/shared/filters';
|
||||
import { parseUTC } from '$shared/dates';
|
||||
import { filterModes, type FilterMode } from '$shared/upgrades/filters';
|
||||
import { parseUTC } from '$shared/utils/dates';
|
||||
import DropdownSelect from '$ui/dropdown/DropdownSelect.svelte';
|
||||
|
||||
export let enabled: boolean = true;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
isGroup,
|
||||
type FilterGroup,
|
||||
type FilterRule
|
||||
} from '$lib/shared/filters';
|
||||
} from '$shared/upgrades/filters';
|
||||
import Input from '$ui/form/Input.svelte';
|
||||
import NumberInput from '$ui/form/NumberInput.svelte';
|
||||
import Button from '$ui/button/Button.svelte';
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
ClipboardPaste,
|
||||
Trash2
|
||||
} from 'lucide-svelte';
|
||||
import { createEmptyFilterConfig, type FilterConfig } from '$lib/shared/filters';
|
||||
import { uuid } from '$shared/uuid';
|
||||
import { selectors } from '$lib/shared/selectors';
|
||||
import { createEmptyFilterConfig, type FilterConfig } from '$shared/upgrades/filters';
|
||||
import { uuid } from '$shared/utils/uuid';
|
||||
import { selectors } from '$shared/upgrades/selectors';
|
||||
import { createSearchStore } from '$lib/client/stores/search';
|
||||
import FilterGroupComponent from './FilterGroup.svelte';
|
||||
import NumberInput from '$ui/form/NumberInput.svelte';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { filterFields, filterModes } from '$lib/shared/filters';
|
||||
import { selectors } from '$lib/shared/selectors';
|
||||
import { filterFields, filterModes } from '$shared/upgrades/filters';
|
||||
import { selectors } from '$shared/upgrades/selectors';
|
||||
import { ArrowLeft } from 'lucide-svelte';
|
||||
import StickyCard from '$ui/card/StickyCard.svelte';
|
||||
import Button from '$ui/button/Button.svelte';
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
import StickyCard from '$ui/card/StickyCard.svelte';
|
||||
import SaveTargetModal from '$ui/modal/SaveTargetModal.svelte';
|
||||
import { alertStore } from '$alerts/store';
|
||||
import { sortConditions } from '$lib/shared/conditionTypes';
|
||||
import { sortConditions } from '$shared/pcd/conditions';
|
||||
import { current, isDirty, initEdit, update } from '$lib/client/stores/dirty';
|
||||
import type { PageData } from './$types';
|
||||
import type { ConditionData } from '$shared/pcd/display.ts';
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
RESOLUTION_VALUES,
|
||||
QUALITY_MODIFIER_VALUES,
|
||||
RELEASE_TYPE_VALUES,
|
||||
INDEXER_FLAG_VALUES,
|
||||
type ArrType
|
||||
} from '$lib/shared/conditionTypes';
|
||||
INDEXER_FLAG_VALUES
|
||||
} from '$shared/pcd/conditions';
|
||||
import type { ArrType } from '$shared/pcd/types.ts';
|
||||
import type { ConditionData } from '$shared/pcd/display.ts';
|
||||
|
||||
const dispatch = createEventDispatcher<{
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
import { marked } from 'marked';
|
||||
import { goto } from '$app/navigation';
|
||||
import { page } from '$app/stores';
|
||||
import { sortConditions } from '$lib/shared/conditionTypes';
|
||||
import { sortConditions } from '$shared/pcd/conditions';
|
||||
|
||||
export let formats: CustomFormatTableRow[];
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
import SearchAction from '$ui/actions/SearchAction.svelte';
|
||||
import { createSearchStore } from '$stores/search';
|
||||
import { alertStore } from '$alerts/store';
|
||||
import { parseUTC } from '$shared/dates';
|
||||
import { parseUTC } from '$shared/utils/dates';
|
||||
import type { PageData } from './$types';
|
||||
import type { Column } from '$ui/table/types';
|
||||
import type { DatabaseInstance } from '$db/queries/databaseInstances.ts';
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
import { Tag, Clock, Zap, Shield, Calendar } from 'lucide-svelte';
|
||||
import { goto } from '$app/navigation';
|
||||
import { page } from '$app/stores';
|
||||
import { parseUTC } from '$shared/dates';
|
||||
import { parseUTC } from '$shared/utils/dates';
|
||||
|
||||
export let profiles: DelayProfilesRow[];
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
import { current, isDirty, initEdit, initCreate, update } from '$lib/client/stores/dirty';
|
||||
import type { RadarrMediaSettingsRow } from '$shared/pcd/display.ts';
|
||||
import type { ArrType } from '$shared/pcd/types.ts';
|
||||
import { PROPERS_REPACKS_OPTIONS, type PropersRepacks } from '$shared/pcd/conversions.ts';
|
||||
import { PROPERS_REPACKS_OPTIONS, type PropersRepacks } from '$shared/pcd/mediaManagement.ts';
|
||||
|
||||
interface RadarrMediaSettingsRowFormData {
|
||||
name: string;
|
||||
|
||||
@@ -4,7 +4,7 @@ import { pcdManager } from '$pcd/pcd.ts';
|
||||
import { canWriteToBase } from '$pcd/writer.ts';
|
||||
import type { OperationLayer } from '$pcd/writer.ts';
|
||||
import type { ArrType } from '$shared/pcd/types.ts';
|
||||
import type { PropersRepacks } from '$shared/pcd/conversions.ts';
|
||||
import type { PropersRepacks } from '$shared/pcd/mediaManagement.ts';
|
||||
import { createRadarrMediaSettings, createSonarrMediaSettings } from '$pcd/entities/mediaManagement/media-settings/index.ts';
|
||||
|
||||
export const load: PageServerLoad = async ({ parent }) => {
|
||||
|
||||
@@ -4,7 +4,7 @@ import { pcdManager } from '$pcd/pcd.ts';
|
||||
import { canWriteToBase } from '$pcd/writer.ts';
|
||||
import type { OperationLayer } from '$pcd/writer.ts';
|
||||
import { getRadarrByName, updateRadarrMediaSettings, removeRadarrMediaSettings } from '$pcd/entities/mediaManagement/media-settings/index.ts';
|
||||
import type { PropersRepacks } from '$shared/pcd/conversions.ts';
|
||||
import type { PropersRepacks } from '$shared/pcd/mediaManagement.ts';
|
||||
|
||||
export const load: PageServerLoad = async ({ params, parent }) => {
|
||||
const { databaseId, name } = params;
|
||||
|
||||
@@ -4,7 +4,7 @@ import { pcdManager } from '$pcd/pcd.ts';
|
||||
import { canWriteToBase } from '$pcd/writer.ts';
|
||||
import type { OperationLayer } from '$pcd/writer.ts';
|
||||
import { getSonarrByName, updateSonarrMediaSettings, removeSonarrMediaSettings } from '$pcd/entities/mediaManagement/media-settings/index.ts';
|
||||
import type { PropersRepacks } from '$shared/pcd/conversions.ts';
|
||||
import type { PropersRepacks } from '$shared/pcd/mediaManagement.ts';
|
||||
|
||||
export const load: PageServerLoad = async ({ params, parent }) => {
|
||||
const { databaseId, name } = params;
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
import { Check, Save, Trash2 } from 'lucide-svelte';
|
||||
import { current, isDirty, initEdit, initCreate, update } from '$lib/client/stores/dirty';
|
||||
import type { RadarrNamingRow } from '$shared/pcd/display.ts';
|
||||
import { RADARR_COLON_REPLACEMENT_OPTIONS, type RadarrColonReplacementFormat } from '$shared/pcd/conversions.ts';
|
||||
import { RADARR_COLON_REPLACEMENT_OPTIONS, type RadarrColonReplacementFormat } from '$shared/pcd/mediaManagement.ts';
|
||||
|
||||
interface RadarrNamingFormData {
|
||||
name: string;
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
import { Check, Save, Trash2 } from 'lucide-svelte';
|
||||
import { current, isDirty, initEdit, initCreate, update } from '$lib/client/stores/dirty';
|
||||
import type { SonarrNamingRow } from '$shared/pcd/display.ts';
|
||||
import { SONARR_COLON_REPLACEMENT_OPTIONS, MULTI_EPISODE_STYLE_OPTIONS, type SonarrColonReplacementFormat, type MultiEpisodeStyle } from '$shared/pcd/conversions.ts';
|
||||
import { SONARR_COLON_REPLACEMENT_OPTIONS, MULTI_EPISODE_STYLE_OPTIONS, type SonarrColonReplacementFormat, type MultiEpisodeStyle } from '$shared/pcd/mediaManagement.ts';
|
||||
|
||||
interface SonarrNamingFormData {
|
||||
name: string;
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
import { marked } from 'marked';
|
||||
import { goto } from '$app/navigation';
|
||||
import { page } from '$app/stores';
|
||||
import { parseUTC } from '$shared/dates';
|
||||
import { parseUTC } from '$shared/utils/dates';
|
||||
|
||||
export let expressions: RegularExpressionWithTags[];
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import { Bell } from 'lucide-svelte';
|
||||
import { parseUTC } from '$shared/dates';
|
||||
import { parseUTC } from '$shared/utils/dates';
|
||||
import type { NotificationHistoryRecord } from '$db/queries/notificationHistory.ts';
|
||||
|
||||
export let history: NotificationHistoryRecord[];
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import { alertStore } from '$alerts/store';
|
||||
import DiscordConfiguration from './DiscordConfiguration.svelte';
|
||||
import { siDiscord } from 'simple-icons';
|
||||
import { groupNotificationTypesByCategory } from '$shared/notificationTypes';
|
||||
import { groupNotificationTypesByCategory } from '$shared/notifications/types';
|
||||
import { Plus, Save, Check } from 'lucide-svelte';
|
||||
import IconCheckbox from '$ui/form/IconCheckbox.svelte';
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ import type { Actions, RequestEvent } from '@sveltejs/kit';
|
||||
import { error, fail, redirect } from '@sveltejs/kit';
|
||||
import { logger } from '$logger/logger.ts';
|
||||
import { notificationServicesQueries } from '$db/queries/notificationServices.ts';
|
||||
import { getAllNotificationTypeIds } from '$shared/notificationTypes.ts';
|
||||
import { getAllNotificationTypeIds } from '$shared/notifications/types.ts';
|
||||
|
||||
export const load = ({ params }: { params: { id: string } }) => {
|
||||
const { id } = params;
|
||||
|
||||
@@ -2,7 +2,7 @@ import type { Actions, RequestEvent } from '@sveltejs/kit';
|
||||
import { fail, redirect } from '@sveltejs/kit';
|
||||
import { logger } from '$logger/logger.ts';
|
||||
import { notificationServicesQueries } from '$db/queries/notificationServices.ts';
|
||||
import { getAllNotificationTypeIds } from '$shared/notificationTypes.ts';
|
||||
import { getAllNotificationTypeIds } from '$shared/notifications/types.ts';
|
||||
|
||||
export const actions: Actions = {
|
||||
create: async ({ request }: RequestEvent) => {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
import { enhance } from '$app/forms';
|
||||
import { invalidateAll } from '$app/navigation';
|
||||
import { Copy, RefreshCw, LogOut, Check, Globe, Monitor, Smartphone, Network, Clock } from 'lucide-svelte';
|
||||
import { parseUTC } from '$shared/dates';
|
||||
import { parseUTC } from '$shared/utils/dates';
|
||||
import Button from '$ui/button/Button.svelte';
|
||||
import FormInput from '$ui/form/FormInput.svelte';
|
||||
import Table from '$ui/table/Table.svelte';
|
||||
|
||||
Reference in New Issue
Block a user