Skip to content

Commit b7c2f08

Browse files
authored
Merge branch 'main' into lunny/remove_wiki_path_ref
2 parents cbfe9ac + 90cb5f9 commit b7c2f08

File tree

6 files changed

+35
-56
lines changed

6 files changed

+35
-56
lines changed

models/perm/access/repo_permission.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -348,10 +348,8 @@ func GetUserRepoPermission(ctx context.Context, repo *repo_model.Repository, use
348348

349349
for _, u := range repo.Units {
350350
for _, team := range teams {
351-
unitAccessMode := minAccessMode
352-
if teamMode, exist := team.UnitAccessModeEx(ctx, u.Type); exist {
353-
unitAccessMode = max(perm.unitsMode[u.Type], unitAccessMode, teamMode)
354-
}
351+
teamMode, _ := team.UnitAccessModeEx(ctx, u.Type)
352+
unitAccessMode := max(perm.unitsMode[u.Type], minAccessMode, teamMode)
355353
perm.unitsMode[u.Type] = unitAccessMode
356354
}
357355
}

models/perm/access/repo_permission_test.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,4 +197,37 @@ func TestGetUserRepoPermission(t *testing.T) {
197197
assert.Equal(t, perm_model.AccessModeWrite, perm.unitsMode[unit.TypeCode])
198198
assert.Equal(t, perm_model.AccessModeRead, perm.unitsMode[unit.TypeIssues])
199199
})
200+
201+
repo3 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 3}) // org private repo, same org as repo 32
202+
require.NoError(t, repo3.LoadOwner(ctx))
203+
require.True(t, repo3.Owner.IsOrganization())
204+
require.NoError(t, db.TruncateBeans(ctx, &organization.TeamUnit{}, &Access{})) // The user has access set of that repo, remove it, it is useless for our test
205+
require.NoError(t, db.Insert(ctx, &organization.TeamRepo{OrgID: org.ID, TeamID: team.ID, RepoID: repo3.ID}))
206+
t.Run("DoerWithNoopTeamOnPrivateRepo", func(t *testing.T) {
207+
perm, err := GetUserRepoPermission(ctx, repo3, user)
208+
require.NoError(t, err)
209+
assert.Equal(t, perm_model.AccessModeNone, perm.AccessMode)
210+
assert.Equal(t, perm_model.AccessModeNone, perm.unitsMode[unit.TypeCode])
211+
assert.Equal(t, perm_model.AccessModeNone, perm.unitsMode[unit.TypeIssues])
212+
})
213+
214+
require.NoError(t, db.Insert(ctx, &organization.TeamUnit{OrgID: org.ID, TeamID: team.ID, Type: unit.TypeCode, AccessMode: perm_model.AccessModeNone}))
215+
require.NoError(t, db.Insert(ctx, &organization.TeamUnit{OrgID: org.ID, TeamID: team.ID, Type: unit.TypeIssues, AccessMode: perm_model.AccessModeRead}))
216+
t.Run("DoerWithReadIssueTeamOnPrivateRepo", func(t *testing.T) {
217+
perm, err := GetUserRepoPermission(ctx, repo3, user)
218+
require.NoError(t, err)
219+
assert.Equal(t, perm_model.AccessModeNone, perm.AccessMode)
220+
assert.Equal(t, perm_model.AccessModeNone, perm.unitsMode[unit.TypeCode])
221+
assert.Equal(t, perm_model.AccessModeRead, perm.unitsMode[unit.TypeIssues])
222+
})
223+
224+
require.NoError(t, db.Insert(ctx, repo_model.Collaboration{RepoID: repo3.ID, UserID: user.ID, Mode: perm_model.AccessModeWrite}))
225+
require.NoError(t, db.Insert(ctx, Access{RepoID: repo3.ID, UserID: user.ID, Mode: perm_model.AccessModeWrite}))
226+
t.Run("DoerWithReadIssueTeamAndWriteCollaboratorOnPrivateRepo", func(t *testing.T) {
227+
perm, err := GetUserRepoPermission(ctx, repo3, user)
228+
require.NoError(t, err)
229+
assert.Equal(t, perm_model.AccessModeWrite, perm.AccessMode)
230+
assert.Equal(t, perm_model.AccessModeWrite, perm.unitsMode[unit.TypeCode])
231+
assert.Equal(t, perm_model.AccessModeWrite, perm.unitsMode[unit.TypeIssues])
232+
})
200233
}

package.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,13 @@
3838
"katex": "0.16.22",
3939
"mermaid": "11.11.0",
4040
"mini-css-extract-plugin": "2.9.4",
41-
"minimatch": "10.0.3",
4241
"monaco-editor": "0.53.0",
4342
"monaco-editor-webpack-plugin": "7.1.0",
4443
"online-3d-viewer": "0.16.0",
4544
"pdfobject": "2.3.1",
4645
"perfect-debounce": "2.0.0",
4746
"postcss": "8.5.6",
4847
"postcss-loader": "8.2.0",
49-
"postcss-nesting": "13.0.2",
5048
"sortablejs": "1.15.6",
5149
"swagger-ui-dist": "5.29.0",
5250
"tailwindcss": "3.4.17",
@@ -90,7 +88,6 @@
9088
"eslint-plugin-array-func": "5.0.2",
9189
"eslint-plugin-github": "6.0.0",
9290
"eslint-plugin-import-x": "4.16.1",
93-
"eslint-plugin-no-jquery": "3.1.1",
9491
"eslint-plugin-no-use-extend-native": "0.7.2",
9592
"eslint-plugin-playwright": "2.2.2",
9693
"eslint-plugin-regexp": "2.10.0",

pnpm-lock.yaml

Lines changed: 0 additions & 41 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

types.d.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,6 @@ declare module 'eslint-plugin-github' {
1717
const plugin: Eslint.Plugin;
1818
export = plugin;
1919
}
20-
declare module 'eslint-plugin-no-jquery' {
21-
import type {Eslint} from 'eslint';
22-
const plugin: Eslint.Plugin;
23-
export = plugin;
24-
}
2520
declare module '@eslint-community/eslint-plugin-eslint-comments' {
2621
import type {Eslint} from 'eslint';
2722
const plugin: Eslint.Plugin;

webpack.config.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ import {readFileSync, globSync} from 'node:fs';
1212
import {env} from 'node:process';
1313
import tailwindcss from 'tailwindcss';
1414
import tailwindConfig from './tailwind.config.ts';
15-
import tailwindcssNesting from 'tailwindcss/nesting/index.js';
16-
import postcssNesting from 'postcss-nesting';
1715

1816
const {EsbuildPlugin} = EsBuildLoader;
1917
const {SourceMapDevToolPlugin, DefinePlugin, EnvironmentPlugin} = webpack;
@@ -172,7 +170,6 @@ export default {
172170
options: {
173171
postcssOptions: {
174172
plugins: [
175-
tailwindcssNesting(postcssNesting({edition: '2024-02'})),
176173
tailwindcss(tailwindConfig),
177174
],
178175
},

0 commit comments

Comments
 (0)