clear-skies-gitlab 2.0.2__tar.gz → 2.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/.copier-answers.yml +1 -1
  2. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/.github/workflows/create-version.yaml +1 -1
  3. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/CHANGELOG.md +10 -0
  4. clear_skies_gitlab-2.0.3/LATEST_CHANGELOG.md +8 -0
  5. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/LICENSE +1 -1
  6. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/PKG-INFO +1 -1
  7. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/pyproject.toml +1 -1
  8. clear_skies_gitlab-2.0.3/ruff.toml +29 -0
  9. clear_skies_gitlab-2.0.3/src/clearskies_gitlab/rest/models/gitlab_rest_group.py +48 -0
  10. clear_skies_gitlab-2.0.3/src/clearskies_gitlab/rest/models/gitlab_rest_group_access_token_reference.py +8 -0
  11. clear_skies_gitlab-2.0.2/src/clearskies_gitlab/rest/models/gitlab_rest_group.py → clear_skies_gitlab-2.0.3/src/clearskies_gitlab/rest/models/gitlab_rest_group_base.py +1 -29
  12. clear_skies_gitlab-2.0.3/src/clearskies_gitlab/rest/models/gitlab_rest_group_subgroup.py +63 -0
  13. clear_skies_gitlab-2.0.3/src/clearskies_gitlab/rest/models/gitlab_rest_group_variable_reference.py +8 -0
  14. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/uv.lock +295 -288
  15. clear_skies_gitlab-2.0.2/LATEST_CHANGELOG.md +0 -6
  16. clear_skies_gitlab-2.0.2/ruff.toml +0 -117
  17. clear_skies_gitlab-2.0.2/src/clearskies_gitlab/rest/models/gitlab_rest_group_subgroup.py +0 -52
  18. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/.editorconfig +0 -0
  19. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/.github/workflows/docs.yaml +0 -0
  20. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/.github/workflows/run-tests.yml +0 -0
  21. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/.github/workflows/tests-matrix.yaml +0 -0
  22. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/.github/workflows/tests.yaml +0 -0
  23. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/.gitignore +0 -0
  24. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/.pre-commit-config.yaml +0 -0
  25. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/.python-version +0 -0
  26. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/README.md +0 -0
  27. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/cliff.toml +0 -0
  28. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/local.py +0 -0
  29. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/__init__.py +0 -0
  30. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/defaults/__init__.py +0 -0
  31. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/defaults/gitlab_default_auth.py +0 -0
  32. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/defaults/gitlab_default_host.py +0 -0
  33. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/defaults/gitlab_graphql_client.py +0 -0
  34. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/exceptions/__init__.py +0 -0
  35. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/exceptions/gitlab_error.py +0 -0
  36. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/graphql/__init__.py +0 -0
  37. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/graphql/backends/__init__.py +0 -0
  38. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/graphql/backends/gitlab_graphql_backend.py +0 -0
  39. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/graphql/models/__init__.py +0 -0
  40. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/graphql/models/gitlab_container_repository.py +0 -0
  41. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/graphql/models/gitlab_container_repository_reference.py +0 -0
  42. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/graphql/models/gitlab_container_repository_tag.py +0 -0
  43. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/graphql/models/gitlab_container_repository_tag_reference.py +0 -0
  44. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/graphql/models/gitlab_group.py +0 -0
  45. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/graphql/models/gitlab_group_reference.py +0 -0
  46. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/graphql/models/gitlab_project.py +0 -0
  47. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/graphql/models/gitlab_project_reference.py +0 -0
  48. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/__init__.py +0 -0
  49. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/backends/__init__.py +0 -0
  50. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/backends/gitlab_rest_backend.py +0 -0
  51. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/gitlab_branch_rule.py +0 -0
  52. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/gitlab_cicd_variable.py +0 -0
  53. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/gitlab_member.py +0 -0
  54. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/__init__.py +0 -0
  55. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_advanced_search.py +0 -0
  56. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_advanced_search_blob.py +0 -0
  57. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_current_user.py +0 -0
  58. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_group_access_token.py +0 -0
  59. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_group_member.py +0 -0
  60. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_group_member_reference.py +0 -0
  61. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_group_project.py +0 -0
  62. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_group_project_reference.py +0 -0
  63. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_group_reference.py +0 -0
  64. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_group_search.py +0 -0
  65. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_group_search_blob.py +0 -0
  66. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_group_subgroup_reference.py +0 -0
  67. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_group_variable.py +0 -0
  68. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_namespace.py +0 -0
  69. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project.py +0 -0
  70. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_approval_config.py +0 -0
  71. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_approval_config_reference.py +0 -0
  72. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_approval_rule.py +0 -0
  73. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_approval_rule_reference.py +0 -0
  74. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_member.py +0 -0
  75. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_member_reference.py +0 -0
  76. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_protected_branch.py +0 -0
  77. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_protected_branch_reference.py +0 -0
  78. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_reference.py +0 -0
  79. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_repository_commit.py +0 -0
  80. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_repository_commit_diff.py +0 -0
  81. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_repository_contributor.py +0 -0
  82. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_repository_contributor_reference.py +0 -0
  83. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_repository_file.py +0 -0
  84. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_repository_file_raw.py +0 -0
  85. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_repository_file_reference.py +0 -0
  86. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_variable.py +0 -0
  87. {clear_skies_gitlab-2.0.2 → clear_skies_gitlab-2.0.3}/src/clearskies_gitlab/rest/models/gitlab_rest_project_variable_reference.py +0 -0
@@ -1,5 +1,5 @@
1
1
  # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2
- _commit: v0.0.35
2
+ _commit: v0.0.36
3
3
  _src_path: gh:clearskies-py/clearskies-module-template
4
4
  author_email: tom.nijboer@cimpress.com
5
5
  author_name: Tom Nijboer
@@ -79,7 +79,7 @@ jobs:
79
79
  # STEP 2: Commit all file changes together
80
80
  - name: Commit All Changes
81
81
  run: |
82
- git add pyproject.toml CHANGELOG.md
82
+ git add pyproject.toml CHANGELOG.md uv.lock
83
83
  git commit -m "chore(release): bump version to ${{ steps.bump.outputs.tag }}"
84
84
 
85
85
  # STEP 3: Create the tag for the final commit
@@ -5,9 +5,18 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.0.3] - 2026-01-14
9
+
10
+ ### Changed
11
+ - Update to v0.0.36
12
+
13
+ ### Fixed
14
+ - Gitlab rest groups
15
+
8
16
  ## [2.0.2] - 2026-01-07
9
17
 
10
18
  ### Changed
19
+ - Bump version to v2.0.2 by @github-actions[bot]
11
20
  - Rewrite modules
12
21
  - More models
13
22
 
@@ -28,6 +37,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
28
37
  ## New Contributors
29
38
  * @github-actions[bot] made their first contribution
30
39
  * @ made their first contribution
40
+ [2.0.3]: https://github.com/clearskies-py/gitlab/compare/v2.0.2..v2.0.3
31
41
  [2.0.2]: https://github.com/clearskies-py/gitlab/compare/v2.0.1..v2.0.2
32
42
 
33
43
  <!-- generated by git-cliff -->
@@ -0,0 +1,8 @@
1
+ ## [2.0.3] - 2026-01-14
2
+
3
+ ### Changed
4
+ - Update to v0.0.36
5
+
6
+ ### Fixed
7
+ - Gitlab rest groups
8
+
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025, Tom Nijboer
3
+ Copyright (c) 2026, Tom Nijboer
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clear-skies-gitlab
3
- Version: 2.0.2
3
+ Version: 2.0.3
4
4
  Summary: Gitlab module for Clearskies
5
5
  Project-URL: Docs, https://https://clearskies.info/modules/clear-skies-gitlab
6
6
  Project-URL: Repository, https://github.com/clearskies-py/gitlab
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "clear-skies-gitlab"
3
3
  description = "Gitlab module for Clearskies"
4
- version = "2.0.2"
4
+ version = "2.0.3"
5
5
  license = "MIT"
6
6
  readme = "./README.md"
7
7
  authors = [{name = "Tom Nijboer", email = "tom.nijboer@cimpress.com"}]
@@ -0,0 +1,29 @@
1
+ indent-width = 4
2
+ extend-exclude = [".vscode", ".idea", "__pycache__", ".python-version", ".ruff.toml", "ruff.toml", "setup.cfg", "pyproject.toml", "*_test.py", "docs/*"]
3
+ line-length = 120
4
+ show-fixes = true
5
+
6
+ [format]
7
+ quote-style = "double"
8
+ indent-style = "space"
9
+ docstring-code-format = true
10
+ preview = false
11
+ skip-magic-trailing-comma = false
12
+ docstring-code-line-length = 100
13
+ line-ending = "lf"
14
+
15
+ [lint]
16
+ # D - Enable all `pydocstyle` rules, limiting to those that adhere to the Pep257 convention enabled via `convention = "pep257"` below
17
+ select = ["I", "D"]
18
+ ignore = [
19
+ "D100", # pydocstyle: Missing docstring in public module.
20
+ "D101", # pydocstyle: Missing docstring in public class.
21
+ "D103", # pydocstyle: Missing docstring in public function
22
+ "D102", # pydocstyle: Missing docstring in public method.
23
+ "D104", # pydocstyle: Missing docstring in public package.
24
+ "D105", # pydocstyle: Missing docstring in magic method (e.g., `__init__`).
25
+ "D107", # pydocstyle: Missing docstring in `__init__` method.
26
+ ]
27
+
28
+ [lint.pydocstyle]
29
+ convention = "pep257"
@@ -0,0 +1,48 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Self
4
+
5
+ from clearskies.columns import (
6
+ HasMany,
7
+ )
8
+
9
+ from clearskies_gitlab.rest.models import (
10
+ gitlab_rest_group_access_token_reference,
11
+ gitlab_rest_group_base,
12
+ gitlab_rest_group_member_reference,
13
+ gitlab_rest_group_project_reference,
14
+ gitlab_rest_group_subgroup_reference,
15
+ gitlab_rest_group_variable_reference,
16
+ )
17
+
18
+
19
+ class GitlabRestGroup(
20
+ gitlab_rest_group_base.GitlabRestGroupBase,
21
+ ):
22
+ """Model for groups."""
23
+
24
+ @classmethod
25
+ def destination_name(cls: type[Self]) -> str:
26
+ """Return the slug of the api endpoint for this model."""
27
+ return "groups"
28
+
29
+ projects = HasMany(
30
+ gitlab_rest_group_project_reference.GitlabRestGroupProjectReference,
31
+ foreign_column_name="group_id",
32
+ )
33
+ access_tokens = HasMany(
34
+ gitlab_rest_group_access_token_reference.GitlabRestGroupAccessTokenReference,
35
+ foreign_column_name="group_id",
36
+ )
37
+ variables = HasMany(
38
+ gitlab_rest_group_variable_reference.GitlabRestGroupVariableReference,
39
+ foreign_column_name="group_id",
40
+ )
41
+ subgroups = HasMany(
42
+ gitlab_rest_group_subgroup_reference.GitlabRestGroupSubgroupReference,
43
+ foreign_column_name="group_id",
44
+ )
45
+ members = HasMany(
46
+ gitlab_rest_group_member_reference.GitlabRestGroupMemberReference,
47
+ foreign_column_name="group_id",
48
+ )
@@ -0,0 +1,8 @@
1
+ class GitlabRestGroupAccessTokenReference:
2
+ """Reference to GitlabRestGroupAccessToken model."""
3
+
4
+ def get_model_class(self) -> type:
5
+ """Return the model class this reference points to."""
6
+ from clearskies_gitlab.rest.models import gitlab_rest_group_access_token
7
+
8
+ return gitlab_rest_group_access_token.GitlabRestGroupAccessToken
@@ -8,7 +8,6 @@ from clearskies.columns import (
8
8
  BelongsToSelf,
9
9
  Boolean,
10
10
  Datetime,
11
- HasMany,
12
11
  Integer,
13
12
  Json,
14
13
  Select,
@@ -16,16 +15,9 @@ from clearskies.columns import (
16
15
  )
17
16
 
18
17
  from clearskies_gitlab.rest.backends import GitlabRestBackend
19
- from clearskies_gitlab.rest.models import (
20
- gitlab_rest_group_access_token,
21
- gitlab_rest_group_member_reference,
22
- gitlab_rest_group_project_reference,
23
- gitlab_rest_group_subgroup_reference,
24
- gitlab_rest_group_variable,
25
- )
26
18
 
27
19
 
28
- class GitlabRestGroup(
20
+ class GitlabRestGroupBase(
29
21
  Model,
30
22
  ):
31
23
  """Model for groups."""
@@ -95,26 +87,6 @@ class GitlabRestGroup(
95
87
  unique_project_download_limit_alertlist = Json()
96
88
  auto_ban_user_on_excessive_projects_download = Boolean()
97
89
 
98
- projects = HasMany(
99
- gitlab_rest_group_project_reference.GitlabRestGroupProjectReference,
100
- foreign_column_name="group_id",
101
- )
102
- access_tokens = HasMany(
103
- gitlab_rest_group_access_token.GitlabRestGroupAccessToken,
104
- foreign_column_name="group_id",
105
- )
106
- variables = HasMany(
107
- gitlab_rest_group_variable.GitlabRestGroupVariable,
108
- foreign_column_name="group_id",
109
- )
110
- subgroups = HasMany(
111
- gitlab_rest_group_subgroup_reference.GitlabRestGroupSubgroupReference,
112
- foreign_column_name="group_id",
113
- )
114
- members = HasMany(
115
- gitlab_rest_group_member_reference.GitlabRestGroupMemberReference,
116
- foreign_column_name="group_id",
117
- )
118
90
  parent_id = BelongsToSelf()
119
91
  parent = BelongsToModel("parent_id")
120
92
  ### Search params
@@ -0,0 +1,63 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Self
4
+
5
+ from clearskies.columns import HasMany, HasManySelf, String
6
+
7
+ from clearskies_gitlab.rest.models import (
8
+ gitlab_rest_group_access_token_reference,
9
+ gitlab_rest_group_base,
10
+ gitlab_rest_group_member_reference,
11
+ gitlab_rest_group_project_reference,
12
+ gitlab_rest_group_variable_reference,
13
+ )
14
+
15
+
16
+ class GitlabRestGroupSubgroup(
17
+ gitlab_rest_group_base.GitlabRestGroupBase,
18
+ ):
19
+ """Model for Subgroups."""
20
+
21
+ # id_column_name = "group_id"
22
+
23
+ @classmethod
24
+ def destination_name(cls: type[Self]) -> str:
25
+ """Return the slug of the api endpoint for this model."""
26
+ return "groups/:group_id/subgroups"
27
+
28
+ group_id = String()
29
+
30
+ projects = HasMany(
31
+ gitlab_rest_group_project_reference.GitlabRestGroupProjectReference,
32
+ foreign_column_name="group_id",
33
+ )
34
+ access_tokens = HasMany(
35
+ gitlab_rest_group_access_token_reference.GitlabRestGroupAccessTokenReference,
36
+ foreign_column_name="group_id",
37
+ )
38
+ variables = HasMany(
39
+ gitlab_rest_group_variable_reference.GitlabRestGroupVariableReference,
40
+ foreign_column_name="group_id",
41
+ )
42
+ subgroups = HasManySelf(
43
+ foreign_column_name="group_id",
44
+ )
45
+ members = HasMany(
46
+ gitlab_rest_group_member_reference.GitlabRestGroupMemberReference,
47
+ foreign_column_name="group_id",
48
+ )
49
+ # parent_id = BelongsToSelf()
50
+ # parent = BelongsToModel("parent_id")
51
+ # ### Search params
52
+ # skip_groups = Json()
53
+ # all_available = Boolean()
54
+ # search = String()
55
+ # order_by = String()
56
+ # sort = String()
57
+ # visibility = Select(allowed_values=["public", "internal", "private"])
58
+ # with_custom_attributes = Boolean()
59
+ # owned = Boolean()
60
+ # min_access_level = Integer()
61
+ # top_level_only = Boolean()
62
+ # repository_storage = String()
63
+ # marked_for_deletion_on = Datetime(date_format="%Y-%m-%d")
@@ -0,0 +1,8 @@
1
+ class GitlabRestGroupVariableReference:
2
+ """Reference to GitlabRestGroupVariable model."""
3
+
4
+ def get_model_class(self) -> type:
5
+ """Return the model class this reference points to."""
6
+ from clearskies_gitlab.rest.models import gitlab_rest_group_variable
7
+
8
+ return gitlab_rest_group_variable.GitlabRestGroupVariable