|
@@ -195,13 +195,20 @@ namespace TEAMModelOS.Controllers
|
|
if (response.Status == 200)
|
|
if (response.Status == 200)
|
|
{
|
|
{
|
|
using var json = await JsonDocument.ParseAsync(response.ContentStream);
|
|
using var json = await JsonDocument.ParseAsync(response.ContentStream);
|
|
- foreach (var obj in json.RootElement.GetProperty("roles").EnumerateArray())
|
|
|
|
|
|
+
|
|
|
|
+ if (json.RootElement.TryGetProperty("roles", out JsonElement _roles))
|
|
{
|
|
{
|
|
- roles.Add(obj.GetString());
|
|
|
|
|
|
+ foreach (var obj in _roles.EnumerateArray())
|
|
|
|
+ {
|
|
|
|
+ roles.Add(obj.GetString());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
- foreach (var obj in json.RootElement.GetProperty("permissions").EnumerateArray())
|
|
|
|
|
|
+ if (json.RootElement.TryGetProperty("permissions", out JsonElement _permissions))
|
|
{
|
|
{
|
|
- permissions.Add(obj.GetString());
|
|
|
|
|
|
+ foreach (var obj in _permissions.EnumerateArray())
|
|
|
|
+ {
|
|
|
|
+ permissions.Add(obj.GetString());
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (roles.Count == 0)
|
|
if (roles.Count == 0)
|
|
@@ -416,8 +423,8 @@ namespace TEAMModelOS.Controllers
|
|
id = id,
|
|
id = id,
|
|
name = name.ToString(),
|
|
name = name.ToString(),
|
|
picture = picture?.ToString(), //TODO JJ,原本的判断会出现报错,没检查null却又去ToString
|
|
picture = picture?.ToString(), //TODO JJ,原本的判断会出现报错,没检查null却又去ToString
|
|
- permissions = null,
|
|
|
|
- roles = new List<string>(new string[] { "teacher" }),
|
|
|
|
|
|
+ //permissions = null, 加入學校無須特別設置此字段
|
|
|
|
+ roles = new List<string>(){ "teacher" },
|
|
status = grant_type.GetString()
|
|
status = grant_type.GetString()
|
|
};
|
|
};
|
|
var response = await client.GetContainer("TEAMModelOS", "School").CreateItemAsync(st, new PartitionKey($"Teacher-{school_code}"));
|
|
var response = await client.GetContainer("TEAMModelOS", "School").CreateItemAsync(st, new PartitionKey($"Teacher-{school_code}"));
|