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 CreateExternalGroupCommand extends CommandAbstract {

    private final ResourceReferenceType referenceType;

    private final String referenceNumber;

    private final String parentId;

    private final String principalId;

    private final String name;

    private final int displayOrder;

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

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