package com.bcxin.tenant.domain.services.commands.externalGroups;

import com.bcxin.Infrastructures.commands.CommandAbstract;
import com.bcxin.Infrastructures.enums.ResourceReferenceType;
import lombok.Getter;

@Getter
public class UpdateExternalGroupCommand extends CommandAbstract {
    private final String id;

    private final String principalId;
    private final ResourceReferenceType referenceType;

    private final String referenceNumber;

    private final String parentId;

    private final String name;

    private final int displayOrder;


    public UpdateExternalGroupCommand(String id, ResourceReferenceType referenceType, String referenceNumber, String name, String principalId,String parentId, int displayOrder) {
        this.id = id;
        this.referenceType = referenceType;
        this.referenceNumber = referenceNumber;
        this.principalId = principalId;
        this.name = name;
        this.parentId = parentId;
        this.displayOrder = displayOrder;
    }

    public static UpdateExternalGroupCommand create(String id,ResourceReferenceType referenceType, String referenceNumber, String name,String principalId,String parentId, int displayOrder) {
        return new UpdateExternalGroupCommand(id, referenceType, referenceNumber, name,principalId,parentId, displayOrder);
    }
}
