Fara í efni

Einingar

Sérfræðingur

Veldu eininguna sem breytingin á heima í og vittu hvaða einingar hún má kalla í.

  • Lestu Arkitektúr fyrir möppukortið og reglurnar.
  • Hver eining hefur sama nafn í app/backend/internal/<module>/, og í app/frontend/src/lib/<module>/ og app/tests/<module>/ þegar hún hefur skjái eða browser-próf.

Finndu réttu eininguna

Tengill á Finndu réttu eininguna
Eining Sér um
requests Beiðnir, samþykki, beiðnireglur, ytri lista, skýrslur
movies Kvikmyndatitla, útgáfur titla, söfn, leit og skipulag
shows Þætti, þáttaraðir, einstaka þætti, leit og skipulag
music Flytjendur, plötur, lög, leit og skipulag
sources Uppsprettur, brúna við Jackett og Prowlarr, leit að útgáfum
downloads Niðurhalsforrit, röðina, séðar skrár, slóðavörpun, tags, val á eintökum
subtitles Tungumál skjátexta, vefsvæði, pörun og vistun
discover Explore, Popular, Search, People, Calendar, titilsíður
suggest Val og röðun á röðum og hillum (aðeins bakendi)
mediafiles Skráningarfærslur, valreglur, nafngiftir, gagnapakka, upplýsingar um miðla
importer Innflutning skráa: afpökkun, merki, pörun (aðeins bakendi)
library Safnmöppur, yfirtöku og endurnefningu (aðeins bakendi)
metadata Biðlara fyrir utanaðkomandi gögn, tónlistarflettingar, einkunnastiga, stiklur
mediaservers Að láta Plex, Jellyfin og Emby leita aftur
accounts Notendur, innskráningu, SSO, innskráningu gervigreindarforrita, takmörk fyrir börn, áhorfsval
alerts Tilkynningarleiðir og hvenær þær láta í sér heyra
migrate Að flytja gögn yfir úr eldri forritum
arrapi API í stíl Sonarr og Radarr
ai Tengingar við gervigreindarforrit (frestað)
backups Að búa til, geyma og endurheimta backup
health Heilsuathuganir, doctor, stuðningspakkann
updates Uppfærsluathugunina og undirritaða uppfærslulistann
setup Töframann fyrstu ræsingar

Eining flytur aðeins inn neðra lag. Ekkert flytur inn discover. tools/structurecheck/allow.go er heimildin sem gildir.

Lag Einingar
0 core
1 metadata, suggest
2 accounts
3 mediafiles
4 importer
5 library
6 sources
7 downloads
8 subtitles, mediaservers, alerts
9 movies, shows
10 requests, health
11 music, arrapi, migrate, ai, backups, updates, setup
13 discover

Ef einingin þín þarf eitthvað frá hærra lagi skaltu ekki flytja það inn. Láttu efri eininguna senda hrein gögn niður, eða skilgreindu lítið viðmót í þeirri neðri sem wiring.go fyllir út í.

Bættu við leið eða einingu

Tengill á Bættu við leið eða einingu

Skráðu hana í routes.go einingarinnar með heimildinni sinni. openapi.json kemur úr leiðunum og próf fellur ef þau víkja frá. Birtar slóðir og heiti reita haldast. Bættu við reitum, endurnefndu þá aldrei. Skrifaðu síðan API-leiðir upp á nýtt með go run ./app/backend/tools/apidoc.

Reyndu fyrst að koma breytingunni fyrir í þessum 23, og opnaðu issue áður en þú bætir við einingu. Ný eining þarf sína bakendamöppu (auk lib/<module>/ og app/tests/<module>/ ef hún hefur skjái), stað í lagaröðinni í tools/structurecheck og línu í wiring.go.

Einkenni. TestModuleEdges fellur. Orsök. Eining flytur inn einingu á sama eða hærra lagi. Lausn. Sendu hrein gögn niður frá efri einingunni, eða bættu við litlu viðmóti sem er tengt í wiring.go.

Einkenni. TestSQLOnlyInStore eða TestTableOwnership fellur. Orsök. SQL er utan store*.go skrár, eða snertir töflu annarrar einingar. Lausn. Færðu fyrirspurnina í store eigandans og kallaðu í þjónustu eigandans með auðkenni.

Fleiri reglur
  • Eining flytur aðeins inn rótarpakka annarrar einingar.
  • Store-föll taka database.Querier. Lestu raðir annarrar einingar í gegnum þjónustu hennar með auðkenni, og sendu langa auðkennalista sem eina JSON-fylki með json_each(?).
  • settings, schedules, secrets, jobs og events tilheyra core. Hver stillingahópur hefur eina eigandaeiningu. Til að breyta hópi annarrar einingar kallarðu í eiganda hans.
  • Hvert utanaðkomandi kall fer í gegnum core/outbound.
  • Core-pakkar sitja í röðum, ofan frá og niður: parts, webserver og startup, logs, jobs og model, outbound og secrets, svo database, files og releasename. Core-pakki flytur aðeins inn sína eigin röð eða neðri.
  • Nöfn: Go-skrár eru með litlum stöfum og undirstrikum, Svelte-hlutar eru PascalCase, og TypeScript-, docs-, prófa- og deploy-skrár eru kebab-case. Python-skrár nota undirstrik svo hægt sé að flytja þær inn. Möppur í app/ eru með litlum stöfum, eitt orð.
  • Endurnefndu kóða að vild, en allt sem er geymt eða sent heldur nafni sínu: töflur og dálkar, stillingalyklar, JSON-reitir, verkefnaheiti og rofaheiti.
  • Athugasemdir bera engin vegvísanúmer, dagsetningar, nöfn eða em-strik.
Eigendur færslna
Eigandi Færslur
mediafiles Title, Item, Version, Slot, Part, File, LibraryFolder, Quality, PickRules
downloads Download, Downloader, SeenFile, PathMap
sources Source, Release
requests Ask, Report
accounts User
core/jobs Job, Schedule, JobError
core/database Event og sameiginleg raðasvið
Athuganirnar

Athuganirnar eru í app/backend/tools/structurecheck. Flestar þurfa -tags structure.

Athugun Tryggir
TestTopLayout Efstu möppur repo
TestModuleSet, TestCoreSet, TestPackageMap Möppur sem leyfðar eru í internal/ og internal/core/
TestModuleEdges Lagaröð
TestModuleImportsRootOnly Aðeins innflutning rótarpakka
TestCoreImportsNoModule, TestCoreRowOrder, TestCoreNamesNoModuleTable Innflutning core, röð raða og nöfn
TestSQLOnlyInStore, TestTableOwnership, TestSQLAllowlistShrinks, TestSeedSQLAllowlist Staðsetningu SQL og eigendur taflna
TestGoFileNames, TestNoBannedPackageNames Skráar- og pakkanöfn
TestFileSizeCap, TestCorePackageSize Stærð skráa og core-pakka
TestCommentHygiene Athugasemdareglurnar hér að ofan
TestRouteTableUnchanged, TestMigrationsUnchanged, TestHeaderAndJSONLiteralsUnchanged Að tilfærsla breytir engri leið, migration, HTTP-hausnafni né JSON-lykli
TestNoOldPageAddresses, TestNoOldPagesInTestsOrDocs Að gömul síðuvistföng haldist úr kóða, prófum og docs
TestNoDependencyBotConfig Að engin skrá fyrir dependency bot sé í .github

HolyArrs er ókeypis. Ef það sparaði þér tíma geturðu gefið því stjörnu á GitHub, styrkt það eða boðið mér í kaffi.