This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user