Update Ikar server and Android client
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
param(
|
||||
[string]$BaseUrl = 'http://localhost:5099'
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
$stamp = Get-Date -Format 'yyyyMMddHHmmss'
|
||||
$phoneA = "+7999$stamp"
|
||||
$phoneB = "+7888$stamp"
|
||||
|
||||
function Invoke-JsonPost {
|
||||
param(
|
||||
[string]$Uri,
|
||||
[hashtable]$Body,
|
||||
[hashtable]$Headers = @{}
|
||||
)
|
||||
|
||||
return Invoke-RestMethod `
|
||||
-Uri $Uri `
|
||||
-Method Post `
|
||||
-Headers $Headers `
|
||||
-ContentType 'application/json' `
|
||||
-Body ($Body | ConvertTo-Json)
|
||||
}
|
||||
|
||||
$challengeA = Invoke-JsonPost `
|
||||
-Uri "$BaseUrl/api/auth/request-code" `
|
||||
-Body @{ phoneNumber = $phoneA }
|
||||
|
||||
$sessionA = Invoke-JsonPost `
|
||||
-Uri "$BaseUrl/api/auth/verify-code" `
|
||||
-Body @{
|
||||
challengeId = $challengeA.challengeId
|
||||
phoneNumber = $phoneA
|
||||
code = $challengeA.testCode
|
||||
displayName = 'Phone Smoke A'
|
||||
}
|
||||
|
||||
$challengeB = Invoke-JsonPost `
|
||||
-Uri "$BaseUrl/api/auth/request-code" `
|
||||
-Body @{ phoneNumber = $phoneB }
|
||||
|
||||
$sessionB = Invoke-JsonPost `
|
||||
-Uri "$BaseUrl/api/auth/verify-code" `
|
||||
-Body @{
|
||||
challengeId = $challengeB.challengeId
|
||||
phoneNumber = $phoneB
|
||||
code = $challengeB.testCode
|
||||
displayName = 'Phone Smoke B'
|
||||
}
|
||||
|
||||
$headersA = @{
|
||||
Authorization = "Bearer $($sessionA.accessToken)"
|
||||
}
|
||||
|
||||
$meA = Invoke-RestMethod `
|
||||
-Uri "$BaseUrl/api/users/me" `
|
||||
-Method Get `
|
||||
-Headers $headersA
|
||||
|
||||
$resolve = Invoke-JsonPost `
|
||||
-Uri "$BaseUrl/api/users/contacts/resolve" `
|
||||
-Headers $headersA `
|
||||
-Body @{
|
||||
phoneNumbers = @(
|
||||
$phoneB,
|
||||
'+7 (777) 000-00-00'
|
||||
)
|
||||
}
|
||||
|
||||
if ($null -eq $resolve) {
|
||||
$resolve = @()
|
||||
}
|
||||
else {
|
||||
$resolve = @($resolve)
|
||||
}
|
||||
|
||||
$repeatChallengeA = Invoke-JsonPost `
|
||||
-Uri "$BaseUrl/api/auth/request-code" `
|
||||
-Body @{ phoneNumber = $phoneA }
|
||||
|
||||
$repeatSessionA = Invoke-JsonPost `
|
||||
-Uri "$BaseUrl/api/auth/verify-code" `
|
||||
-Body @{
|
||||
challengeId = $repeatChallengeA.challengeId
|
||||
phoneNumber = $phoneA
|
||||
code = $repeatChallengeA.testCode
|
||||
displayName = $null
|
||||
}
|
||||
|
||||
$chat = Invoke-JsonPost `
|
||||
-Uri "$BaseUrl/api/chats/direct" `
|
||||
-Headers $headersA `
|
||||
-Body @{
|
||||
userId = $sessionB.user.id
|
||||
}
|
||||
|
||||
$chats = Invoke-RestMethod `
|
||||
-Uri "$BaseUrl/api/chats" `
|
||||
-Method Get `
|
||||
-Headers $headersA
|
||||
|
||||
if ($null -eq $chats) {
|
||||
$chats = @()
|
||||
}
|
||||
else {
|
||||
$chats = @($chats)
|
||||
}
|
||||
|
||||
[pscustomobject]@{
|
||||
PhoneARegistered = -not $challengeA.isRegistered
|
||||
PhoneBRegistered = -not $challengeB.isRegistered
|
||||
PhoneAMeDisplayName = $meA.displayName
|
||||
PhoneAMePhone = $meA.phoneNumber
|
||||
ResolvedCount = $resolve.Count
|
||||
ResolvedPhone = if ($resolve.Count -gt 0) { $resolve[0].phoneNumber } else { $null }
|
||||
ResolvedDisplayName = if ($resolve.Count -gt 0) { $resolve[0].user.displayName } else { $null }
|
||||
ReLoginRegistered = $repeatChallengeA.isRegistered
|
||||
ReLoginSameUser = $repeatSessionA.user.id -eq $sessionA.user.id
|
||||
DirectChatType = $chat.type
|
||||
DirectChatCreated = $chat.type -eq 1 -or $chat.type -eq 'Direct'
|
||||
ChatsCount = $chats.Count
|
||||
}
|
||||
Reference in New Issue
Block a user