|
15 | 15 | # You should have received a copy of the GNU Lesser General Public License |
16 | 16 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
17 | 17 |
|
| 18 | +fromenumimportEnum,IntEnum |
| 19 | + |
18 | 20 | fromgitlab.__version__import__title__,__version__ |
19 | 21 |
|
| 22 | + |
| 23 | +# https://gitlab.com/gitlab-org/gitlab/-/blob/e97357824bedf007e75f8782259fe07435b64fbb/lib/gitlab/access.rb#L12-18 |
| 24 | +classAccessLevel(IntEnum): |
| 25 | +NO_ACCESS:int=0 |
| 26 | +MINIMAL_ACCESS:int=5 |
| 27 | +GUEST:int=10 |
| 28 | +REPORTER:int=20 |
| 29 | +DEVELOPER:int=30 |
| 30 | +MAINTAINER:int=40 |
| 31 | +OWNER:int=50 |
| 32 | + |
| 33 | +# https://gitlab.com/gitlab-org/gitlab/-/blob/e97357824bedf007e75f8782259fe07435b64fbb/lib/gitlab/visibility_level.rb#L23-25 |
| 34 | +classVisibility(Enum): |
| 35 | +PRIVATE:str="private" |
| 36 | +INTERNAL:str="internal" |
| 37 | +PUBLIC:str="public" |
| 38 | + |
| 39 | + |
| 40 | +classNotificationLevel(Enum): |
| 41 | +DISABLED:str="disabled" |
| 42 | +PARTICIPATING:str="participating" |
| 43 | +WATCH:str="watch" |
| 44 | +GLOBAL:str="global" |
| 45 | +MENTION:str="mention" |
| 46 | +CUSTOM:str="custom" |
| 47 | + |
| 48 | + |
| 49 | +# https://gitlab.com/gitlab-org/gitlab/-/blob/e97357824bedf007e75f8782259fe07435b64fbb/app/views/search/_category.html.haml#L10-37 |
| 50 | +classSearchScope(Enum): |
| 51 | +# all scopes (global, group and project) |
| 52 | +PROJECTS:str="projects" |
| 53 | +ISSUES:str="issues" |
| 54 | +MERGE_REQUESTS:str="merge_requests" |
| 55 | +MILESTONES:str="milestones" |
| 56 | +WIKI_BLOBS:str="wiki_blobs" |
| 57 | +COMMITS:str="commits" |
| 58 | +BLOBS:str="blobs" |
| 59 | +USERS:str="users" |
| 60 | + |
| 61 | +# specific global scope |
| 62 | +GLOBAL_SNIPPET_TITLES:str="snippet_titles" |
| 63 | + |
| 64 | +# specific project scope |
| 65 | +PROJECT_NOTES:str="notes" |
| 66 | + |
| 67 | + |
20 | 68 | DEFAULT_URL:str="https://gitlab.com" |
21 | 69 |
|
22 | | -NO_ACCESS:int=0 |
23 | | -MINIMAL_ACCESS:int=5 |
24 | | -GUEST_ACCESS:int=10 |
25 | | -REPORTER_ACCESS:int=20 |
26 | | -DEVELOPER_ACCESS:int=30 |
27 | | -MAINTAINER_ACCESS:int=40 |
28 | | -OWNER_ACCESS:int=50 |
29 | | - |
30 | | -VISIBILITY_PRIVATE:str="private" |
31 | | -VISIBILITY_INTERNAL:str="internal" |
32 | | -VISIBILITY_PUBLIC:str="public" |
33 | | - |
34 | | -NOTIFICATION_LEVEL_DISABLED:str="disabled" |
35 | | -NOTIFICATION_LEVEL_PARTICIPATING:str="participating" |
36 | | -NOTIFICATION_LEVEL_WATCH:str="watch" |
37 | | -NOTIFICATION_LEVEL_GLOBAL:str="global" |
38 | | -NOTIFICATION_LEVEL_MENTION:str="mention" |
39 | | -NOTIFICATION_LEVEL_CUSTOM:str="custom" |
| 70 | +NO_ACCESS=AccessLevel.NO_ACCESS.value |
| 71 | +MINIMAL_ACCESS=AccessLevel.MINIMAL_ACCESS.value |
| 72 | +GUEST_ACCESS=AccessLevel.GUEST.value |
| 73 | +REPORTER_ACCESS=AccessLevel.REPORTER.value |
| 74 | +DEVELOPER_ACCESS=AccessLevel.DEVELOPER.value |
| 75 | +MAINTAINER_ACCESS=AccessLevel.MAINTAINER.value |
| 76 | +OWNER_ACCESS=AccessLevel.OWNER.value |
| 77 | + |
| 78 | +VISIBILITY_PRIVATE=Visibility.PRIVATE.value |
| 79 | +VISIBILITY_INTERNAL=Visibility.INTERNAL.value |
| 80 | +VISIBILITY_PUBLIC=Visibility.PUBLIC.value |
| 81 | + |
| 82 | +NOTIFICATION_LEVEL_DISABLED=NotificationLevel.DISABLED.value |
| 83 | +NOTIFICATION_LEVEL_PARTICIPATING=NotificationLevel.PARTICIPATING.value |
| 84 | +NOTIFICATION_LEVEL_WATCH=NotificationLevel.WATCH.value |
| 85 | +NOTIFICATION_LEVEL_GLOBAL=NotificationLevel.GLOBAL.value |
| 86 | +NOTIFICATION_LEVEL_MENTION=NotificationLevel.MENTION.value |
| 87 | +NOTIFICATION_LEVEL_CUSTOM=NotificationLevel.CUSTOM.value |
40 | 88 |
|
41 | 89 | # Search scopes |
42 | 90 | # all scopes (global, group and project) |
43 | | -SEARCH_SCOPE_PROJECTS:str="projects" |
44 | | -SEARCH_SCOPE_ISSUES:str="issues" |
45 | | -SEARCH_SCOPE_MERGE_REQUESTS:str="merge_requests" |
46 | | -SEARCH_SCOPE_MILESTONES:str="milestones" |
47 | | -SEARCH_SCOPE_WIKI_BLOBS:str="wiki_blobs" |
48 | | -SEARCH_SCOPE_COMMITS:str="commits" |
49 | | -SEARCH_SCOPE_BLOBS:str="blobs" |
50 | | -SEARCH_SCOPE_USERS:str="users" |
| 91 | +SEARCH_SCOPE_PROJECTS=SearchScope.PROJECTS.value |
| 92 | +SEARCH_SCOPE_ISSUES=SearchScope.ISSUES.value |
| 93 | +SEARCH_SCOPE_MERGE_REQUESTS=SearchScope.MERGE_REQUESTS.value |
| 94 | +SEARCH_SCOPE_MILESTONES=SearchScope.MILESTONES.value |
| 95 | +SEARCH_SCOPE_WIKI_BLOBS=SearchScope.WIKI_BLOBS.value |
| 96 | +SEARCH_SCOPE_COMMITS=SearchScope.COMMITS.value |
| 97 | +SEARCH_SCOPE_BLOBS=SearchScope.BLOBS.value |
| 98 | +SEARCH_SCOPE_USERS=SearchScope.USERS.value |
51 | 99 |
|
52 | 100 | # specific global scope |
53 | | -SEARCH_SCOPE_GLOBAL_SNIPPET_TITLES:str="snippet_titles" |
| 101 | +SEARCH_SCOPE_GLOBAL_SNIPPET_TITLES=SearchScope.GLOBAL_SNIPPET_TITLES.value |
54 | 102 |
|
55 | 103 | # specific project scope |
56 | | -SEARCH_SCOPE_PROJECT_NOTES:str="notes" |
| 104 | +SEARCH_SCOPE_PROJECT_NOTES=SearchScope.PROJECT_NOTES.value |
57 | 105 |
|
58 | 106 | USER_AGENT:str=f"{__title__}/{__version__}" |