All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.slack.api.scim.model.User Maven / Gradle / Ivy

There is a newer version: 1.39.0
Show newest version
package com.slack.api.scim.model;

import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Arrays;
import java.util.List;

@Data
public class User {

    private List schemas = Arrays.asList(
            Schemas.SCHEMA_CORE,
            Schemas.SCHEMA_EXTENSION_ENTERPRISE,
            Schemas.SCHEMA_EXTENSION_SLACK_GUEST
    );

    private String id;
    private String externalId;
    private Meta meta;
    private String userName;
    private String nickName;
    private Name name;
    private String displayName;
    private String profileUrl;
    private List emails;
    private List
addresses; private List phoneNumbers; private List photos; private List roles; private String userType; private String title; private String preferredLanguage; private String locale; private String timezone; private Boolean active; // The password attribute is never returned // but can be used to set the initial password for a user // if the team is not using an identity manager. private String password; @SerializedName(Schemas.SCHEMA_EXTENSION_ENTERPRISE) private Extension extension; @SerializedName(Schemas.SCHEMA_EXTENSION_SLACK_GUEST) private SlackGuest slackGuest; private List groups; @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class Meta { private String created; private String location; } @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class Name { private String givenName; private String familyName; private String honorificPrefix; } @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class Email { private String value; private String type; private Boolean primary; } @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class Address { private String streetAddress; private String locality; private String region; private String postalCode; private String country; private Boolean primary; } @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class PhoneNumber { private String value; private String type; private Boolean primary; } @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class Photo { private String value; private String type; } @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class Role { private String value; private String type; private Boolean primary; } @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class Extension { private String employeeNumber; private String costCenter; private String organization; private String division; private String department; private Manager manager; @Data public static class Manager { private String managerId; } } @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class Group { private String value; private String display; } @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class SlackGuest { public static class Types { private Types() { } public static final String MULTI = "multi"; } /** * This value is mandatory. * possible values: "multi" */ private String type; /** * This value is optional. * possible values: ISO 8601 date time string (e.g., "2020-11-30T23:59:59Z") */ private String expiration; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy