many incidents

This commit is contained in:
jules 2023-10-10 18:19:17 -07:00
parent b093334dce
commit 6719c8f7e3
3 changed files with 26 additions and 4 deletions

View File

@ -135,7 +135,7 @@ func (c Users) IsLicenseReconciliationNeeded(ctx context.Context, identifier str
return resp, err return resp, err
} }
func (c Users) AssignedPlans(ctx context.Context, identifier string) (models.Userable, error) { func (c Users) AssignedPlansAndLicenses(ctx context.Context, identifier string) (models.Userable, error) {
var ( var (
resp models.Userable resp models.Userable
err error err error
@ -145,7 +145,7 @@ func (c Users) AssignedPlans(ctx context.Context, identifier string) (models.Use
QueryParameters: &users.UserItemRequestBuilderGetQueryParameters{}, QueryParameters: &users.UserItemRequestBuilderGetQueryParameters{},
} }
options.QueryParameters.Select = []string{"assignedPlans"} options.QueryParameters.Select = []string{"assignedPlans", "assignedLicenses"}
resp, err = c.Stable.Client().Users().ByUserId(identifier).Get(ctx, options) resp, err = c.Stable.Client().Users().ByUserId(identifier).Get(ctx, options)

View File

@ -133,7 +133,7 @@ func UserAssignedPlansCount(ctx context.Context, acct account.Account, userID st
return 0, clues.Stack(err).WithClues(ctx) return 0, clues.Stack(err).WithClues(ctx)
} }
us, err := ac.Users().AssignedPlans(ctx, userID) us, err := ac.Users().AssignedPlansAndLicenses(ctx, userID)
if err != nil { if err != nil {
return 0, err return 0, err
} }
@ -145,6 +145,24 @@ func UserAssignedPlansCount(ctx context.Context, acct account.Account, userID st
return 0, clues.New("user missing assigned plans") return 0, clues.New("user missing assigned plans")
} }
func UserAssignedLicenses(ctx context.Context, acct account.Account, userID string) (int, error) {
ac, err := makeAC(ctx, acct, path.UnknownService)
if err != nil {
return 0, clues.Stack(err).WithClues(ctx)
}
us, err := ac.Users().AssignedPlansAndLicenses(ctx, userID)
if err != nil {
return 0, err
}
if us.GetAssignedLicenses() != nil {
return len(us.GetAssignedLicenses()), nil
}
return 0, clues.New("user missing assigned licenses")
}
// parseUser extracts information from `models.Userable` we care about // parseUser extracts information from `models.Userable` we care about
func parseUser(item models.Userable) (*UserNoInfo, error) { func parseUser(item models.Userable) (*UserNoInfo, error) {
if item.GetUserPrincipalName() == nil { if item.GetUserPrincipalName() == nil {

View File

@ -222,8 +222,12 @@ func (suite *userIntegrationSuite) TestUser_GetByID() {
assert.NoError(t, err, clues.ToCore(err)) assert.NoError(t, err, clues.ToCore(err))
plans, err := UserAssignedPlansCount(ctx, acct, s.ID) plans, err := UserAssignedPlansCount(ctx, acct, s.ID)
assert.NoError(t, err, clues.ToCore(err)) assert.NoError(t, err, clues.ToCore(err))
lic, err := UserAssignedLicenses(ctx, acct, s.ID)
assert.NoError(t, err, clues.ToCore(err))
fmt.Printf("user: %v \n", reconciliationNeeded) fmt.Printf("user: %v \n", reconciliationNeeded)
fmt.Printf("user: %v \n", plans) fmt.Printf("plans: %v \n", plans)
fmt.Printf("lic: %v \n", lic)
}) })
} }
} }