|
@@ -39,10 +39,37 @@ namespace TEAMModelOS.FunctionV4.HttpTrigger
|
|
}
|
|
}
|
|
[Function("group-change")]
|
|
[Function("group-change")]
|
|
[ApiToken(Auth = "1302", Name = "课程详细信息", RWN = "N")]
|
|
[ApiToken(Auth = "1302", Name = "课程详细信息", RWN = "N")]
|
|
- public async Task<HttpResponseData> NoticeGroupChange([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "webhook/group-change")] HttpRequestData req) {
|
|
|
|
- var response = req.CreateResponse(HttpStatusCode.OK);
|
|
|
|
|
|
+ public async Task<HttpResponseData> NoticeGroupChange([HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "webhook/group-change")] HttpRequestData request) {
|
|
|
|
+ var response = request.CreateResponse(HttpStatusCode.OK);
|
|
|
|
+ (string school, GroupChange data) = await GetRequestData<GroupChange>(request);
|
|
|
|
+ if (string.IsNullOrWhiteSpace(school)) {
|
|
|
|
+
|
|
|
|
|
|
|
|
+ }
|
|
return response;
|
|
return response;
|
|
}
|
|
}
|
|
|
|
+ public async Task<(string school, T data)> GetRequestData<T>(HttpRequestData request)
|
|
|
|
+ {
|
|
|
|
+ var response = request.CreateResponse(HttpStatusCode.OK);
|
|
|
|
+ string data = await new StreamReader(request.Body).ReadToEndAsync();
|
|
|
|
+ var json = JsonDocument.Parse(data).RootElement;
|
|
|
|
+ string school = null;
|
|
|
|
+ if (json.TryGetProperty("school", out JsonElement _school))
|
|
|
|
+ {
|
|
|
|
+ school = _school.GetString();
|
|
|
|
+ }
|
|
|
|
+ if (json.TryGetProperty("data", out JsonElement _data))
|
|
|
|
+ {
|
|
|
|
+ return (school, _data.ToObject<T>());
|
|
|
|
+ }
|
|
|
|
+ else { return (school,default(T)); }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ public class WebhookSchoolData {
|
|
|
|
+ public string school { get; set; }
|
|
|
|
+ public string data { get; set; }
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|