This repository has been archived on 2024-01-04. You can view files and clone it, but cannot push or open issues or pull requests.
forgejo/models/migrations
zeripath 5d2e11eedb
Refactor: Move login out of models (#16199)
`models` does far too much. In particular it handles all `UserSignin`.

It shouldn't be responsible for calling LDAP, SMTP or PAM for signing in.

Therefore we should move this code out of `models`.

This code has to depend on `models` - therefore it belongs in `services`.

There is a package in `services` called `auth` and clearly this functionality belongs in there.

Plan:

- [x] Change `auth.Auth` to `auth.Method` - as they represent methods of authentication.
- [x] Move `models.UserSignIn` into `auth`
- [x] Move `models.ExternalUserLogin`
- [x] Move most of the `LoginVia*` methods to `auth` or subpackages
- [x] Move Resynchronize functionality to `auth`
  - Involved some restructuring of `models/ssh_key.go` to reduce the size of this massive file and simplify its files.
- [x] Move the rest of the LDAP functionality in to the ldap subpackage
- [x] Re-factor the login sources to express an interfaces `auth.Source`?
  - I've done this through some smaller interfaces Authenticator and Synchronizable - which would allow us to extend things in future
- [x] Now LDAP is out of models - need to think about modules/auth/ldap and I think all of that functionality might just be moveable
- [x] Similarly a lot Oauth2 functionality need not be in models too and should be moved to services/auth/source/oauth2
  - [x] modules/auth/oauth2/oauth2.go uses xorm... This is naughty - probably need to move this into models.
  - [x] models/oauth2.go - mostly should be in modules/auth/oauth2 or services/auth/source/oauth2 
- [x] More simplifications of login_source.go may need to be done
- Allow wiring in of notify registration -  *this can now easily be done - but I think we should do it in another PR*  - see #16178 
- More refactors...?
  - OpenID should probably become an auth Method but I think that can be left for another PR
  - Methods should also probably be cleaned up  - again another PR I think.
  - SSPI still needs more refactors.* Rename auth.Auth auth.Method
* Restructure ssh_key.go

- move functions from models/user.go that relate to ssh_key to ssh_key
- split ssh_key.go to try create clearer function domains for allow for
future refactors here.

Signed-off-by: Andrew Thornton <art27@cantab.net>
2021-07-24 11:16:34 +01:00
..
fixtures Refactor: Move login out of models (#16199) 2021-07-24 11:16:34 +01:00
migrations.go Refactor: Move login out of models (#16199) 2021-07-24 11:16:34 +01:00
migrations_test.go Refactor: Move login out of models (#16199) 2021-07-24 11:16:34 +01:00
testlogger_test.go Create Proper Migration Tests (#15116) 2021-03-24 19:27:22 +01:00
v70.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v71.go Use single shared random string generation function (#15741) 2021-05-10 07:45:17 +01:00
v72.go
v73.go
v74.go
v75.go
v76.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v77.go
v78.go
v79.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v80.go
v81.go
v82.go
v83.go
v84.go
v85.go Use single shared random string generation function (#15741) 2021-05-10 07:45:17 +01:00
v86.go
v87.go
v88.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v89.go
v90.go
v91.go
v92.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v93.go
v94.go
v95.go
v96.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v97.go
v98.go
v99.go
v100.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v101.go
v102.go
v103.go
v104.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v105.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v106.go
v107.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v108.go
v109.go
v110.go
v111.go Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
v112.go
v113.go
v114.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v115.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v116.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v117.go
v118.go
v119.go
v120.go
v121.go
v122.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v123.go
v124.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v125.go
v126.go
v127.go
v128.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v129.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v130.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v131.go
v132.go
v133.go
v134.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v135.go
v136.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v137.go
v138.go
v139.go
v140.go
v141.go Fix migration v141 (#14387) 2021-01-28 23:58:33 +01:00
v142.go
v143.go
v144.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v145.go
v146.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v147.go Fix various documentation, user-facing, and source comment typos (#16367) 2021-07-08 13:38:13 +02:00
v148.go
v149.go Add Created & Updated to Milestone (#12662) 2020-09-05 13:38:54 -04:00
v150.go Add Primary Key to Topic and RepoTopic (#12639) 2020-09-10 20:45:01 +01:00
v151.go Add migration for password algorithm change (#12784) 2020-09-15 18:02:41 -04:00
v152.go Add configurable Trust Models (#11712) 2020-09-20 00:44:55 +08:00
v153.go Add team support for review request (#12039) 2020-10-12 20:55:13 +01:00
v154.go Save TimeStamps for Star, Label, Follow, Watch and Collaboration to Database (#13124) 2020-10-12 20:01:57 -04:00
v155.go [Enhancement] Allow admin to merge pr with protected file changes (#12078) 2020-10-13 14:50:57 -04:00
v156.go Tagger can be empty, as can Commit and Author - tolerate this (#15835) 2021-05-12 01:11:42 -04:00
v157.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v158.go chore(models): rewrite code format. (#14754) 2021-03-14 19:52:12 +01:00
v159.go Include OriginalAuthor in Reaction constraint (#13505) 2020-11-10 22:37:11 +00:00
v160.go Add block on official review requests branch protection (#13705) 2020-11-28 21:30:46 +02:00
v161.go Add support for corporate WeChat webhooks (#15910) 2021-07-23 12:41:27 +08:00
v162.go Add support for corporate WeChat webhooks (#15910) 2021-07-23 12:41:27 +08:00
v163.go Change topic name size from 25 to 50 (#14150) 2020-12-26 23:28:47 +00:00
v164.go Minimal OpenID Connect implementation (#14139) 2021-01-02 00:33:27 +08:00
v165.go Fix wrong type on hooktask to convert typ from char(16) to varchar(16) (#14148) 2021-01-06 16:11:23 +01:00
v166.go Remove unused commit (#14741) 2021-02-20 15:02:39 +01:00
v167.go Redirect on changed user and org name (#11649) 2021-01-24 16:23:05 +01:00
v168.go noop (#14521) 2021-01-29 23:52:13 +08:00
v169.go Use OldRef instead of CommitSHA for DeleteBranch comments (#14604) 2021-02-08 11:09:14 +08:00
v170.go Add dismiss review feature (#12674) 2021-02-11 18:32:25 +01:00
v171.go Add v171 (addSortingColToProjectBoard) migration for #14634 (#14652) 2021-02-12 13:01:26 +02:00
v172.go v172 migration adds created_unix field instead of expiry (#15458) 2021-04-13 20:04:17 -04:00
v173.go Add UI to delete tracked times (#14100) 2021-02-19 12:52:11 +02:00
v174.go Delete Labels & IssueLabels on Repo Delete too (#15039) 2021-03-19 21:01:24 +02:00
v175.go Fix postgres ID sequences broken by recreate-table (#15015) 2021-03-18 02:06:40 -04:00
v176.go Create Proper Migration Tests (#15116) 2021-03-24 19:27:22 +01:00
v176_test.go Create Proper Migration Tests (#15116) 2021-03-24 19:27:22 +01:00
v177.go Create Proper Migration Tests (#15116) 2021-03-24 19:27:22 +01:00
v177_test.go Create Proper Migration Tests (#15116) 2021-03-24 19:27:22 +01:00
v178.go Add LFS Migration and Mirror (#14726) 2021-04-08 18:25:57 -04:00
v179.go OAuth2 auto-register (#5123) 2021-04-14 14:02:12 +02:00
v180.go v180 migration should be standalone (#16151) 2021-06-14 15:07:49 -04:00
v181.go Rework repository archive (#14723) 2021-06-23 17:12:38 -04:00
v181_test.go Always store primary email address into email_address table and also the state (#15956) 2021-06-08 11:52:51 +08:00
v182.go Add a new table issue_index to store the max issue index so that issue could be deleted with no duplicated index (#15599) 2021-06-14 10:22:55 +08:00
v182_test.go Add a new table issue_index to store the max issue index so that issue could be deleted with no duplicated index (#15599) 2021-06-14 10:22:55 +08:00
v183.go Add push to remote mirror repository (#15157) 2021-06-14 19:20:43 +02:00
v184.go Add Status Updates whilst Gitea migrations are occurring (#15076) 2021-06-16 18:02:24 -04:00
v185.go Rework repository archive (#14723) 2021-06-23 17:12:38 -04:00
v186.go Add tag protection (#15629) 2021-06-25 16:28:55 +02:00
v187.go Refactor Webhook + Add X-Hub-Signature (#16176) 2021-06-27 20:21:09 +01:00
v188.go Add option to provide signature for a token to verify key ownership (#14054) 2021-07-13 15:28:07 +02:00
v189.go Refactor: Move login out of models (#16199) 2021-07-24 11:16:34 +01:00
v189_test.go Refactor: Move login out of models (#16199) 2021-07-24 11:16:34 +01:00