Explorar el Código

Merge branch 'develop3.0' of http://106.12.23.251:10080/TEAMMODEL/TEAMModelOS into develop3.0

jeff hace 4 años
padre
commit
d4649aa56f
Se han modificado 1 ficheros con 13 adiciones y 6 borrados
  1. 13 6
      TEAMModelOS/Controllers/Teacher/InitController.cs

+ 13 - 6
TEAMModelOS/Controllers/Teacher/InitController.cs

@@ -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}"));