|
@@ -64,20 +64,23 @@ namespace TEAMModelOS.Controllers
|
|
|
var id = jwt.Payload.Sub;
|
|
|
jwt.Payload.TryGetValue("name", out object name);
|
|
|
jwt.Payload.TryGetValue("picture", out object picture);
|
|
|
- List<object> schools = new List<object>();
|
|
|
+ List<object> schools = new List<object>();
|
|
|
// object schools = null;
|
|
|
string defaultschool = null;
|
|
|
//TODO 取得Teacher 個人相關數據(課程清單、虛擬教室清單、歷史紀錄清單等),學校數據另外API處理,多校切換時不同
|
|
|
var client = _azureCosmos.GetCosmosClient();
|
|
|
var response = await client.GetContainer("TEAMModelOS", "Teacher").ReadItemStreamAsync(id, new PartitionKey("Base"));
|
|
|
-
|
|
|
+ int size = 0;
|
|
|
//老師個人資料(含初始化)
|
|
|
if (response.Status == 200)
|
|
|
{
|
|
|
var json = await JsonDocument.ParseAsync(response.ContentStream);
|
|
|
if (json.RootElement.TryGetProperty("schools", out JsonElement value))
|
|
|
{
|
|
|
-
|
|
|
+ if (json.RootElement.TryGetProperty("size", out JsonElement _size) && _size.ValueKind.Equals(JsonValueKind.Number))
|
|
|
+ {
|
|
|
+ size = _size.GetInt32();
|
|
|
+ }
|
|
|
foreach (var obj in value.EnumerateArray())
|
|
|
{
|
|
|
string statusNow = obj.GetProperty("status").ToString();
|
|
@@ -92,12 +95,18 @@ namespace TEAMModelOS.Controllers
|
|
|
if (obj.TryGetProperty("time", out JsonElement time)) {
|
|
|
schoolExtobj.time = obj.GetProperty("time");
|
|
|
}
|
|
|
- schoolExtobj.size= obj.GetProperty("size");
|
|
|
+
|
|
|
schoolExtobj.picture = school.RootElement.GetProperty("picture");
|
|
|
schools.Add(schoolExtobj);
|
|
|
+ //如果有申请或者加入学校,但是未分配空间则都可以得到1G免费空间
|
|
|
+ if (size == 0) {
|
|
|
+ size = 1;
|
|
|
+ Teacher tech = await client.GetContainer("TEAMModelOS", "Teacher").ReadItemAsync<Teacher>(id, new PartitionKey("Base"));
|
|
|
+ tech.size = size;
|
|
|
+ await client.GetContainer("TEAMModelOS", "Teacher").ReplaceItemAsync<Teacher>(tech,id, new PartitionKey("Base"));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- //schools = value.ToObject<object>();
|
|
|
}
|
|
|
//預設學校ID
|
|
|
if (json.RootElement.TryGetProperty("defaultSchool", out JsonElement valueD) && !string.IsNullOrEmpty(valueD.ToString()))
|
|
@@ -117,7 +126,7 @@ namespace TEAMModelOS.Controllers
|
|
|
writer.WriteString("id", id);
|
|
|
writer.WriteString("name", name?.ToString());
|
|
|
writer.WriteString("picture", picture?.ToString());
|
|
|
- writer.WriteNumber("size", 1);
|
|
|
+ writer.WriteNumber("size", 0);
|
|
|
writer.WriteNull("defaultSchool");
|
|
|
writer.WriteStartArray("schools");
|
|
|
writer.WriteEndArray();
|