Use repo-user for api call of cron (#5967)

This commit is contained in:
Anbraten
2026-01-14 11:49:29 +01:00
committed by GitHub
parent ecb96f3bc2
commit 1d9c8f00bd
4 changed files with 9 additions and 7 deletions

View File

@@ -4705,6 +4705,7 @@ const docTemplate = `{
"type": "integer"
},
"creator_id": {
"description": "TODO: drop with next major version",
"type": "integer"
},
"enabled": {

View File

@@ -121,7 +121,7 @@ func CreatePipeline(ctx context.Context, store store.Store, cron *model.Cron) (*
cron.Branch = repo.Branch
}
creator, err := store.GetUser(cron.CreatorID)
repoUser, err := store.GetUser(repo.UserID)
if err != nil {
return nil, nil, err
}
@@ -129,9 +129,9 @@ func CreatePipeline(ctx context.Context, store store.Store, cron *model.Cron) (*
// If the forge has a refresh token, the current access token
// may be stale. Therefore, we should refresh prior to dispatching
// the pipeline.
forge.Refresh(ctx, _forge, store, creator)
forge.Refresh(ctx, _forge, store, repoUser)
commit, err := _forge.BranchHead(ctx, creator, repo, cron.Branch)
commit, err := _forge.BranchHead(ctx, repoUser, repo, cron.Branch)
if err != nil {
return nil, nil, err
}

View File

@@ -34,7 +34,7 @@ func TestCreatePipeline(t *testing.T) {
store := store_mocks.NewMockStore(t)
ctx := t.Context()
creator := &model.User{
repoUser := &model.User{
ID: 1,
Login: "user1",
}
@@ -44,12 +44,13 @@ func TestCreatePipeline(t *testing.T) {
Owner: "owner1",
FullName: "repo1/owner1",
Branch: "default",
UserID: repoUser.ID,
}
// mock things
store.On("GetRepo", mock.Anything).Return(repo1, nil)
store.On("GetUser", mock.Anything).Return(creator, nil)
_forge.On("BranchHead", mock.Anything, creator, repo1, "default").Return(&model.Commit{
store.On("GetUser", mock.Anything).Return(repoUser, nil)
_forge.On("BranchHead", mock.Anything, repoUser, repo1, "default").Return(&model.Commit{
ForgeURL: "https://example.com/sha1",
SHA: "sha1",
}, nil)

View File

@@ -24,7 +24,7 @@ type Cron struct {
ID int64 `json:"id" xorm:"pk autoincr 'id'"`
Name string `json:"name" xorm:"name UNIQUE(s) INDEX"`
RepoID int64 `json:"repo_id" xorm:"repo_id UNIQUE(s) INDEX"`
CreatorID int64 `json:"creator_id" xorm:"creator_id INDEX"`
CreatorID int64 `json:"creator_id" xorm:"creator_id INDEX"` // TODO: drop with next major version
NextExec int64 `json:"next_exec" xorm:"next_exec"`
Schedule string `json:"schedule" xorm:"schedule NOT NULL"` // @weekly, 3min, ...
Created int64 `json:"created" xorm:"created NOT NULL DEFAULT 0"`