assets_guardian.plugins.gitlab.mapper

Classes

GitlabMapper(instance_id)

Mapper for GitLab.

class assets_guardian.plugins.gitlab.mapper.GitlabMapper(instance_id: str)[source]

Bases: IMapper

Mapper for GitLab.

Transforms raw data from the GitLab API (via python-gitlab or directly) into normalized data models of the Assets Guardian domain.

Initializes the mapper.

Parameters:

instance_id – Identifier of the source GitLab instance.

to_access(raw_data: Any, asset: Asset | None = None, user_info: dict[str, Any] | None = None) Access[source]

Converts raw GitLab permission data into an Access object.

Parameters:
  • raw_data – Raw permission/member data (dict).

  • asset – The asset (Project or Group) to which this access relates.

  • user_info – Optional user information (dict).

Returns:

An Access instance.

to_asset(raw_data: Any, asset_type: str = 'unknown') Asset[source]

Converts raw GitLab project or group data into an Asset object.

Parameters:
  • raw_data – Raw project or group data (dict).

  • asset_type – Asset type (β€œproject” or β€œgroup”).

Returns:

An Asset instance.

to_identity(raw_data: Any, accesses: list[Access] | None = None) Identity[source]

Converts raw GitLab user data into an Identity object.

Parameters:
  • raw_data – Raw user data (dict).

  • accesses – Optional list of accesses already collected for this user.

Returns:

An Identity instance.

property instance_id: str

Instance identifier.

property source_name: str

Source name.