Fix doc for 1.19 backend guideline (#24942)

Port the file change in
https://github.com/go-gitea/gitea/pull/24925/files from `main` to
`v1.19` to fix docs

(cherry picked from commit b4cd1028d9)
This commit is contained in:
HesterG 2023-05-26 17:22:38 +08:00 committed by Earl Warren
parent 788ffdb328
commit 7f45886f05
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00

View file

@ -35,7 +35,7 @@ To maintain understandable code and avoid circular dependencies it is important
- `cmd`: All Gitea actual sub commands includes web, doctor, serv, hooks, admin and etc. `web` will start the web service. `serv` and `hooks` will be invoked by Git or OpenSSH. Other sub commands could help to maintain Gitea. - `cmd`: All Gitea actual sub commands includes web, doctor, serv, hooks, admin and etc. `web` will start the web service. `serv` and `hooks` will be invoked by Git or OpenSSH. Other sub commands could help to maintain Gitea.
- `tests`: Common test utility functions - `tests`: Common test utility functions
- `tests/integration`: Integration tests, to test back-end regressions - `tests/integration`: Integration tests, to test back-end regressions
- `tests/e2e`: E2e tests, to test test front-end <> back-end compatibility and visual regressions. - `tests/e2e`: E2e tests, to test front-end and back-end compatibility and visual regressions.
- `models`: Contains the data structures used by xorm to construct database tables. It also contains functions to query and update the database. Dependencies to other Gitea code should be avoided. You can make exceptions in cases such as logging. - `models`: Contains the data structures used by xorm to construct database tables. It also contains functions to query and update the database. Dependencies to other Gitea code should be avoided. You can make exceptions in cases such as logging.
- `models/db`: Basic database operations. All other `models/xxx` packages should depend on this package. The `GetEngine` function should only be invoked from `models/`. - `models/db`: Basic database operations. All other `models/xxx` packages should depend on this package. The `GetEngine` function should only be invoked from `models/`.
- `models/fixtures`: Sample data used in unit tests and integration tests. One `yml` file means one table which will be loaded into database when beginning the tests. - `models/fixtures`: Sample data used in unit tests and integration tests. One `yml` file means one table which will be loaded into database when beginning the tests.
@ -70,7 +70,6 @@ So services must be allowed to create a database transaction. Here is some examp
// services/repository/repository.go // services/repository/repository.go
func CreateXXXX() error { func CreateXXXX() error {
return db.WithTx(func(ctx context.Context) error { return db.WithTx(func(ctx context.Context) error {
e := db.GetEngine(ctx)
// do something, if err is returned, it will rollback automatically // do something, if err is returned, it will rollback automatically
if err := issues.UpdateIssue(ctx, repoID); err != nil { if err := issues.UpdateIssue(ctx, repoID); err != nil {
// ... // ...