Fix MS365 attributes handling
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
This commit is contained in:
@@ -45,21 +45,12 @@ func UserSchema() schema.Schema {
|
||||
schema.ComplexParams{
|
||||
Name: "name",
|
||||
SubAttributes: []schema.SimpleParams{
|
||||
schema.SimpleStringParams(
|
||||
schema.StringParams{
|
||||
Name: "formatted",
|
||||
},
|
||||
),
|
||||
schema.SimpleStringParams(
|
||||
schema.StringParams{
|
||||
Name: "familyName",
|
||||
},
|
||||
),
|
||||
schema.SimpleStringParams(
|
||||
schema.StringParams{
|
||||
Name: "givenName",
|
||||
},
|
||||
),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "formatted"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "familyName"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "givenName"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "middleName"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "honorificPrefix"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "honorificSuffix"}),
|
||||
},
|
||||
},
|
||||
),
|
||||
@@ -75,30 +66,108 @@ func UserSchema() schema.Schema {
|
||||
Name: "emails",
|
||||
MultiValued: true,
|
||||
SubAttributes: []schema.SimpleParams{
|
||||
schema.SimpleStringParams(
|
||||
schema.StringParams{
|
||||
Name: "value",
|
||||
},
|
||||
),
|
||||
schema.SimpleStringParams(
|
||||
schema.StringParams{
|
||||
Name: "type",
|
||||
},
|
||||
),
|
||||
schema.SimpleBooleanParams(
|
||||
schema.BooleanParams{
|
||||
Name: "primary",
|
||||
},
|
||||
),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "value"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "type"}),
|
||||
schema.SimpleBooleanParams(schema.BooleanParams{Name: "primary"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "display"}),
|
||||
},
|
||||
},
|
||||
),
|
||||
schema.ComplexCoreAttribute(
|
||||
schema.ComplexParams{
|
||||
Name: "phoneNumbers",
|
||||
MultiValued: true,
|
||||
SubAttributes: []schema.SimpleParams{
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "value"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "type"}),
|
||||
schema.SimpleBooleanParams(schema.BooleanParams{Name: "primary"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "display"}),
|
||||
},
|
||||
},
|
||||
),
|
||||
schema.ComplexCoreAttribute(
|
||||
schema.ComplexParams{
|
||||
Name: "addresses",
|
||||
MultiValued: true,
|
||||
SubAttributes: []schema.SimpleParams{
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "formatted"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "streetAddress"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "locality"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "region"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "postalCode"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "country"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "type"}),
|
||||
schema.SimpleBooleanParams(schema.BooleanParams{Name: "primary"}),
|
||||
},
|
||||
},
|
||||
),
|
||||
schema.ComplexCoreAttribute(
|
||||
schema.ComplexParams{
|
||||
Name: "roles",
|
||||
MultiValued: true,
|
||||
SubAttributes: []schema.SimpleParams{
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "value"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "display"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "type"}),
|
||||
schema.SimpleBooleanParams(schema.BooleanParams{Name: "primary"}),
|
||||
},
|
||||
},
|
||||
),
|
||||
schema.SimpleCoreAttribute(
|
||||
schema.SimpleStringParams(
|
||||
schema.StringParams{
|
||||
Name: "title",
|
||||
},
|
||||
),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "title"}),
|
||||
),
|
||||
schema.SimpleCoreAttribute(
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "userType"}),
|
||||
),
|
||||
schema.SimpleCoreAttribute(
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "nickName"}),
|
||||
),
|
||||
schema.SimpleCoreAttribute(
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "preferredLanguage"}),
|
||||
),
|
||||
schema.SimpleCoreAttribute(
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "locale"}),
|
||||
),
|
||||
schema.SimpleCoreAttribute(
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "timezone"}),
|
||||
),
|
||||
schema.SimpleCoreAttribute(
|
||||
schema.SimpleReferenceParams(schema.ReferenceParams{Name: "profileUrl"}),
|
||||
),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func EnterpriseUserSchema() schema.Schema {
|
||||
return schema.Schema{
|
||||
ID: "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User",
|
||||
Name: optional.NewString("EnterpriseUser"),
|
||||
Description: optional.NewString("Enterprise User Extension"),
|
||||
Attributes: []schema.CoreAttribute{
|
||||
schema.SimpleCoreAttribute(
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "employeeNumber"}),
|
||||
),
|
||||
schema.SimpleCoreAttribute(
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "costCenter"}),
|
||||
),
|
||||
schema.SimpleCoreAttribute(
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "organization"}),
|
||||
),
|
||||
schema.SimpleCoreAttribute(
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "division"}),
|
||||
),
|
||||
schema.SimpleCoreAttribute(
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "department"}),
|
||||
),
|
||||
schema.ComplexCoreAttribute(
|
||||
schema.ComplexParams{
|
||||
Name: "manager",
|
||||
SubAttributes: []schema.SimpleParams{
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "value"}),
|
||||
schema.SimpleReferenceParams(schema.ReferenceParams{Name: "$ref"}),
|
||||
schema.SimpleStringParams(schema.StringParams{Name: "displayName"}),
|
||||
},
|
||||
},
|
||||
),
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user