|
@@ -17,6 +17,7 @@ using TEAMModelOS.SDK.Models;
|
|
using TEAMModelOS.SDK.DI;
|
|
using TEAMModelOS.SDK.DI;
|
|
using TEAMModelOS.SDK.Extension;
|
|
using TEAMModelOS.SDK.Extension;
|
|
using TEAMModelOS.Filter;
|
|
using TEAMModelOS.Filter;
|
|
|
|
+using TEAMModelOS.SDK.Models.Cosmos;
|
|
|
|
|
|
namespace TEAMModelOS.Controllers
|
|
namespace TEAMModelOS.Controllers
|
|
{
|
|
{
|
|
@@ -234,7 +235,7 @@ namespace TEAMModelOS.Controllers
|
|
school_base = json.RootElement.ToObject<object>();
|
|
school_base = json.RootElement.ToObject<object>();
|
|
}
|
|
}
|
|
|
|
|
|
- //取得教室
|
|
|
|
|
|
+ //取得班级
|
|
List<object> school_classes = new List<object>();
|
|
List<object> school_classes = new List<object>();
|
|
await foreach (var item in client.GetContainer("TEAMModelOS", "School").GetItemQueryStreamIterator(queryText: $"SELECT c.id,c.x,c.y,c.name,c.teacher,c.periodId,c.gradeId,c.sn,c.no,c.style,c.status,c.openType,c.scope, ARRAY_LENGTH(c.students) AS studCount FROM c", requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Class-{school_code}") }))
|
|
await foreach (var item in client.GetContainer("TEAMModelOS", "School").GetItemQueryStreamIterator(queryText: $"SELECT c.id,c.x,c.y,c.name,c.teacher,c.periodId,c.gradeId,c.sn,c.no,c.style,c.status,c.openType,c.scope, ARRAY_LENGTH(c.students) AS studCount FROM c", requestOptions: new QueryRequestOptions() { PartitionKey = new PartitionKey($"Class-{school_code}") }))
|
|
{
|
|
{
|
|
@@ -244,6 +245,13 @@ namespace TEAMModelOS.Controllers
|
|
school_classes.Add(classeinfo.ToObject<object>());
|
|
school_classes.Add(classeinfo.ToObject<object>());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ //取得教室
|
|
|
|
+ List<Room> school_rooms = new List<Room>();
|
|
|
|
+ await foreach (var item in client.GetContainer("TEAMModelOS", "School").GetItemQueryIterator<Room>(queryText: $"select value(c) from c ",
|
|
|
|
+ requestOptions: new QueryRequestOptions() { PartitionKey = new Azure.Cosmos.PartitionKey($"Room-{school_code}") }))
|
|
|
|
+ {
|
|
|
|
+ school_rooms.Add(item);
|
|
|
|
+ }
|
|
//List<object> periods = new List<object>();
|
|
//List<object> periods = new List<object>();
|
|
//List<object> grades = new List<object>();
|
|
//List<object> grades = new List<object>();
|
|
//var responsesch = await client.GetContainer("TEAMModelOS", "School").ReadItemStreamAsync(school_code.ToString(), new PartitionKey($"Base"));
|
|
//var responsesch = await client.GetContainer("TEAMModelOS", "School").ReadItemStreamAsync(school_code.ToString(), new PartitionKey($"Base"));
|
|
@@ -347,7 +355,7 @@ namespace TEAMModelOS.Controllers
|
|
await container.CreateIfNotExistsAsync(PublicAccessType.None); //嘗試創建School容器,如存在則不做任何事,保障容器一定存在
|
|
await container.CreateIfNotExistsAsync(PublicAccessType.None); //嘗試創建School容器,如存在則不做任何事,保障容器一定存在
|
|
var (blob_uri, blob_sas) = (roles.Contains("admin") || permissions.Contains("schoolAc-upd")) ? _azureStorage.GetBlobContainerSAS(school_code_blob, BlobContainerSasPermissions.Write | BlobContainerSasPermissions.Read | BlobContainerSasPermissions.List) : _azureStorage.GetBlobContainerSAS(school_code_blob, BlobContainerSasPermissions.Read | BlobContainerSasPermissions.List);
|
|
var (blob_uri, blob_sas) = (roles.Contains("admin") || permissions.Contains("schoolAc-upd")) ? _azureStorage.GetBlobContainerSAS(school_code_blob, BlobContainerSasPermissions.Write | BlobContainerSasPermissions.Read | BlobContainerSasPermissions.List) : _azureStorage.GetBlobContainerSAS(school_code_blob, BlobContainerSasPermissions.Read | BlobContainerSasPermissions.List);
|
|
|
|
|
|
- return Ok(new { auth_token, blob_uri, blob_sas, school_base, school_courses, school_syllabus, school_classes });
|
|
|
|
|
|
+ return Ok(new { auth_token, blob_uri, blob_sas, school_base, school_courses, school_syllabus, school_classes , school_rooms });
|
|
}
|
|
}
|
|
|
|
|
|
[ProducesDefaultResponseType]
|
|
[ProducesDefaultResponseType]
|