This commit is contained in:
2021-03-24 00:05:05 +00:00
parent 935bf5de1a
commit a6dd5fc090
3 changed files with 45 additions and 45 deletions

View File

@@ -29,7 +29,7 @@ todo: PLANNING WORKORDER considerations:
if any part fails it all fails
requires second copy of wo for diffing
UPDATE (PATCH): Send only changes in whole graph from client with an OP (for "operation") flag at each level indicating to change that part or not, a flag?
WO (OP flag=no change, no concurrency token, basically empty but for the fields that hold the descendents that are changed)
WO (OP flag=no change, no concurrency token, basically empty but for the fields that hold the descendants that are changed)
woitem 0 (OP flag="Delete" and concurrency token, no other data with it, just the id and flag and ctoken)
woitem 1 (OP flag ="update", all fields as in a "put" operation, nothing left out, assumed all are changed)
woitem2 (OP flag="no OP", just a placeholder for children with changes)
@@ -131,7 +131,7 @@ public class BuildingController : Controller {
ROUTES
In light of dependencies and concurrency it is ideal if the server can handle updates to any portion of the graph independently
But, do we really want CRUD routes for every descendent of the workorder graph? (maybe, just not sure)
But, do we really want CRUD routes for every descendant of the workorder graph? (maybe, just not sure)

View File

@@ -108,7 +108,7 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Get the top level ancestor of provided type and id
/// (e.g. find the WorkOrder principle for a WorkOrderItemPart object descendent)
/// (e.g. find the WorkOrder principle for a WorkOrderItemPart object descendant)
/// </summary>
/// <param name="ayaType"></param>
/// <param name="id"></param>

View File

@@ -52,7 +52,7 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Create WorkOrder
/// </summary>
/// <param name="newObject">WorkOrder - top level only, no descendents</param>
/// <param name="newObject">WorkOrder - top level only, no descendants</param>
/// <param name="apiVersion">From route path</param>
/// <returns>WorkOrder</returns>
[HttpPost]
@@ -121,9 +121,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) WorkOrder
/// (Descendent objects must be updated via their individual routes seperately)
/// (descendant objects must be updated via their individual routes seperately)
/// </summary>
/// <param name="updatedObject">WorkOrder - top level only, no descendents</param>
/// <param name="updatedObject">WorkOrder - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
[HttpPut]
public async Task<IActionResult> PutWorkOrder([FromBody] dtWorkOrder updatedObject)
@@ -206,7 +206,7 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Create WorkOrderItem
/// </summary>
/// <param name="newObject">WorkOrderItem - no descendents</param>
/// <param name="newObject">WorkOrderItem - no descendants</param>
/// <param name="apiVersion"></param>
/// <returns>WorkOrderItem object</returns>
[HttpPost("items")]
@@ -252,9 +252,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) WorkOrderItem
/// (Descendent objects must be updated via their individual routes seperately)
/// (descendant objects must be updated via their individual routes seperately)
/// </summary>
/// <param name="updatedObject">WorkOrderItem - top level only, no descendents</param>
/// <param name="updatedObject">WorkOrderItem - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
[HttpPut("items/")]
public async Task<IActionResult> PutWorkOrderItem([FromBody] dtWorkOrderItem updatedObject)
@@ -315,9 +315,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Create WorkOrderItemExpense
/// </summary>
/// <param name="newObject">WorkOrderItemExpense level only no descendents</param>
/// <param name="newObject">WorkOrderItemExpense level only no descendants</param>
/// <param name="apiVersion"></param>
/// <returns>WorkOrderItemExpense object (no descendents)</returns>
/// <returns>WorkOrderItemExpense object (no descendants)</returns>
[HttpPost("items/expenses")]
public async Task<IActionResult> PostWorkOrderItemExpense([FromBody] WorkOrderItemExpense newObject, ApiVersion apiVersion)
{
@@ -359,9 +359,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) WorkOrderItemExpense
/// (Descendent objects must be updated via their individual routes seperately)
/// (descendant objects must be updated via their individual routes seperately)
/// </summary>
/// <param name="updatedObject">WorkOrderItemExpense - top level only, no descendents</param>
/// <param name="updatedObject">WorkOrderItemExpense - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
[HttpPut("items/expenses")]
public async Task<IActionResult> PutWorkOrderItemExpense([FromBody] WorkOrderItemExpense updatedObject)
@@ -422,9 +422,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Create WorkOrderItemLabor
/// </summary>
/// <param name="newObject">WorkOrderItemLabor level only no descendents</param>
/// <param name="newObject">WorkOrderItemLabor level only no descendants</param>
/// <param name="apiVersion"></param>
/// <returns>WorkOrderItemLabor object (no descendents)</returns>
/// <returns>WorkOrderItemLabor object (no descendants)</returns>
[HttpPost("items/labors")]
public async Task<IActionResult> PostWorkOrderItemLabor([FromBody] WorkOrderItemLabor newObject, ApiVersion apiVersion)
{
@@ -467,9 +467,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) WorkOrderItemLabor
/// (Descendent objects must be updated via their individual routes seperately)
/// (descendant objects must be updated via their individual routes seperately)
/// </summary>
/// <param name="updatedObject">WorkOrderItemLabor - top level only, no descendents</param>
/// <param name="updatedObject">WorkOrderItemLabor - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
[HttpPut("items/labors")]
public async Task<IActionResult> PutWorkOrderItemLabor([FromBody] WorkOrderItemLabor updatedObject)
@@ -531,9 +531,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Create WorkOrderItemLoan
/// </summary>
/// <param name="newObject">WorkOrderItemLoan level only no descendents</param>
/// <param name="newObject">WorkOrderItemLoan level only no descendants</param>
/// <param name="apiVersion"></param>
/// <returns>WorkOrderItemLoan object (no descendents)</returns>
/// <returns>WorkOrderItemLoan object (no descendants)</returns>
[HttpPost("items/loans")]
public async Task<IActionResult> PostWorkOrderItemLoan([FromBody] WorkOrderItemLoan newObject, ApiVersion apiVersion)
{
@@ -575,9 +575,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) WorkOrderItemLoan
/// (Descendent objects must be updated via their individual routes seperately)
/// (descendant objects must be updated via their individual routes seperately)
/// </summary>
/// <param name="updatedObject">WorkOrderItemLoan - top level only, no descendents</param>
/// <param name="updatedObject">WorkOrderItemLoan - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
[HttpPut("items/loans")]
public async Task<IActionResult> PutWorkOrderItemLoan([FromBody] WorkOrderItemLoan updatedObject)
@@ -637,9 +637,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Create WorkOrderItemPart
/// </summary>
/// <param name="newObject">WorkOrderItemPart level only no descendents</param>
/// <param name="newObject">WorkOrderItemPart level only no descendants</param>
/// <param name="apiVersion"></param>
/// <returns>WorkOrderItemPart object (no descendents)</returns>
/// <returns>WorkOrderItemPart object (no descendants)</returns>
[HttpPost("items/parts")]
public async Task<IActionResult> PostWorkOrderItemPart([FromBody] WorkOrderItemPart newObject, ApiVersion apiVersion)
{
@@ -681,9 +681,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) WorkOrderItemPart
/// (Descendent objects must be updated via their individual routes seperately)
/// (descendant objects must be updated via their individual routes seperately)
/// </summary>
/// <param name="updatedObject">WorkOrderItemPart - top level only, no descendents</param>
/// <param name="updatedObject">WorkOrderItemPart - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
[HttpPut("items/parts")]
public async Task<IActionResult> PutWorkOrderItemPart([FromBody] WorkOrderItemPart updatedObject)
@@ -743,9 +743,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Create WorkOrderItemPartRequest
/// </summary>
/// <param name="newObject">WorkOrderItemPartRequest level only no descendents</param>
/// <param name="newObject">WorkOrderItemPartRequest level only no descendants</param>
/// <param name="apiVersion"></param>
/// <returns>WorkOrderItemPartRequest object (no descendents)</returns>
/// <returns>WorkOrderItemPartRequest object (no descendants)</returns>
[HttpPost("items/partrequests")]
public async Task<IActionResult> PostWorkOrderItemPartRequest([FromBody] WorkOrderItemPartRequest newObject, ApiVersion apiVersion)
{
@@ -787,9 +787,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) WorkOrderItemPartRequest
/// (Descendent objects must be updated via their individual routes seperately)
/// (descendant objects must be updated via their individual routes seperately)
/// </summary>
/// <param name="updatedObject">WorkOrderItemPartRequest - top level only, no descendents</param>
/// <param name="updatedObject">WorkOrderItemPartRequest - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
[HttpPut("items/partrequests")]
public async Task<IActionResult> PutWorkOrderItemPartRequest([FromBody] WorkOrderItemPartRequest updatedObject)
@@ -849,9 +849,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Create WorkOrderItemScheduledUser
/// </summary>
/// <param name="newObject">WorkOrderItemScheduledUser level only no descendents</param>
/// <param name="newObject">WorkOrderItemScheduledUser level only no descendants</param>
/// <param name="apiVersion"></param>
/// <returns>WorkOrderItemScheduledUser object (no descendents)</returns>
/// <returns>WorkOrderItemScheduledUser object (no descendants)</returns>
[HttpPost("items/scheduledusers")]
public async Task<IActionResult> PostWorkOrderItemScheduledUser([FromBody] WorkOrderItemScheduledUser newObject, ApiVersion apiVersion)
{
@@ -893,9 +893,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) WorkOrderItemScheduledUser
/// (Descendent objects must be updated via their individual routes seperately)
/// (descendant objects must be updated via their individual routes seperately)
/// </summary>
/// <param name="updatedObject">WorkOrderItemScheduledUser - top level only, no descendents</param>
/// <param name="updatedObject">WorkOrderItemScheduledUser - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
[HttpPut("items/scheduledusers")]
public async Task<IActionResult> PutWorkOrderItemScheduledUser([FromBody] WorkOrderItemScheduledUser updatedObject)
@@ -955,9 +955,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Create WorkOrderItemTask
/// </summary>
/// <param name="newObject">WorkOrderItemTask level only no descendents</param>
/// <param name="newObject">WorkOrderItemTask level only no descendants</param>
/// <param name="apiVersion"></param>
/// <returns>WorkOrderItemTask object (no descendents)</returns>
/// <returns>WorkOrderItemTask object (no descendants)</returns>
[HttpPost("items/tasks")]
public async Task<IActionResult> PostWorkOrderItemTask([FromBody] WorkOrderItemTask newObject, ApiVersion apiVersion)
{
@@ -999,9 +999,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) WorkOrderItemTask
/// (Descendent objects must be updated via their individual routes seperately)
/// (descendant objects must be updated via their individual routes seperately)
/// </summary>
/// <param name="updatedObject">WorkOrderItemTask - top level only, no descendents</param>
/// <param name="updatedObject">WorkOrderItemTask - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
[HttpPut("items/tasks")]
public async Task<IActionResult> PutWorkOrderItemTask([FromBody] WorkOrderItemTask updatedObject)
@@ -1061,9 +1061,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Create WorkOrderItemTravel
/// </summary>
/// <param name="newObject">WorkOrderItemTravel level only no descendents</param>
/// <param name="newObject">WorkOrderItemTravel level only no descendants</param>
/// <param name="apiVersion"></param>
/// <returns>WorkOrderItemTravel object (no descendents)</returns>
/// <returns>WorkOrderItemTravel object (no descendants)</returns>
[HttpPost("items/travels")]
public async Task<IActionResult> PostWorkOrderItemTravel([FromBody] WorkOrderItemTravel newObject, ApiVersion apiVersion)
{
@@ -1105,9 +1105,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) WorkOrderItemTravel
/// (Descendent objects must be updated via their individual routes seperately)
/// (descendant objects must be updated via their individual routes seperately)
/// </summary>
/// <param name="updatedObject">WorkOrderItemTravel - top level only, no descendents</param>
/// <param name="updatedObject">WorkOrderItemTravel - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
[HttpPut("items/travels")]
public async Task<IActionResult> PutWorkOrderItemTravel([FromBody] WorkOrderItemTravel updatedObject)
@@ -1167,9 +1167,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Create WorkOrderItemUnit
/// </summary>
/// <param name="newObject">WorkOrderItemUnit level only no descendents</param>
/// <param name="newObject">WorkOrderItemUnit level only no descendants</param>
/// <param name="apiVersion"></param>
/// <returns>WorkOrderItemUnit object (no descendents)</returns>
/// <returns>WorkOrderItemUnit object (no descendants)</returns>
[HttpPost("items/units")]
public async Task<IActionResult> PostWorkOrderItemUnit([FromBody] WorkOrderItemUnit newObject, ApiVersion apiVersion)
{
@@ -1211,9 +1211,9 @@ namespace AyaNova.Api.Controllers
/// <summary>
/// Put (update) WorkOrderItemUnit
/// (Descendent objects must be updated via their individual routes seperately)
/// (descendant objects must be updated via their individual routes seperately)
/// </summary>
/// <param name="updatedObject">WorkOrderItemUnit - top level only, no descendents</param>
/// <param name="updatedObject">WorkOrderItemUnit - top level only, no descendants</param>
/// <returns>New concurrency token</returns>
[HttpPut("items/units")]
public async Task<IActionResult> PutWorkOrderItemUnit([FromBody] WorkOrderItemUnit updatedObject)