/* tslint:disable */ /* eslint-disable */ /** * authentik * Making authentication simple. * * The version of the OpenAPI document: 2025.6.3 * Contact: hello@goauthentik.io * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; import type { Role } from './Role'; import { RoleFromJSON, RoleFromJSONTyped, RoleToJSON, RoleToJSONTyped, } from './Role'; import type { GroupMember } from './GroupMember'; import { GroupMemberFromJSON, GroupMemberFromJSONTyped, GroupMemberToJSON, GroupMemberToJSONTyped, } from './GroupMember'; /** * Group Serializer * @export * @interface Group */ export interface Group { /** * * @type {string} * @memberof Group */ readonly pk: string; /** * * @type {number} * @memberof Group */ readonly numPk: number; /** * * @type {string} * @memberof Group */ name: string; /** * Users added to this group will be superusers. * @type {boolean} * @memberof Group */ isSuperuser?: boolean; /** * * @type {string} * @memberof Group */ parent?: string | null; /** * * @type {string} * @memberof Group */ readonly parentName: string | null; /** * * @type {Array} * @memberof Group */ users?: Array; /** * * @type {Array} * @memberof Group */ readonly usersObj: Array | null; /** * * @type {{ [key: string]: any; }} * @memberof Group */ attributes?: { [key: string]: any; }; /** * * @type {Array} * @memberof Group */ roles?: Array; /** * * @type {Array} * @memberof Group */ readonly rolesObj: Array; } /** * Check if a given object implements the Group interface. */ export function instanceOfGroup(value: object): value is Group { if (!('pk' in value) || value['pk'] === undefined) return false; if (!('numPk' in value) || value['numPk'] === undefined) return false; if (!('name' in value) || value['name'] === undefined) return false; if (!('parentName' in value) || value['parentName'] === undefined) return false; if (!('usersObj' in value) || value['usersObj'] === undefined) return false; if (!('rolesObj' in value) || value['rolesObj'] === undefined) return false; return true; } export function GroupFromJSON(json: any): Group { return GroupFromJSONTyped(json, false); } export function GroupFromJSONTyped(json: any, ignoreDiscriminator: boolean): Group { if (json == null) { return json; } return { 'pk': json['pk'], 'numPk': json['num_pk'], 'name': json['name'], 'isSuperuser': json['is_superuser'] == null ? undefined : json['is_superuser'], 'parent': json['parent'] == null ? undefined : json['parent'], 'parentName': json['parent_name'], 'users': json['users'] == null ? undefined : json['users'], 'usersObj': (json['users_obj'] == null ? null : (json['users_obj'] as Array).map(GroupMemberFromJSON)), 'attributes': json['attributes'] == null ? undefined : json['attributes'], 'roles': json['roles'] == null ? undefined : json['roles'], 'rolesObj': ((json['roles_obj'] as Array).map(RoleFromJSON)), }; } export function GroupToJSON(json: any): Group { return GroupToJSONTyped(json, false); } export function GroupToJSONTyped(value?: Omit | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'name': value['name'], 'is_superuser': value['isSuperuser'], 'parent': value['parent'], 'users': value['users'], 'attributes': value['attributes'], 'roles': value['roles'], }; }