add apies

This commit is contained in:
Behzad Alizadeh
2026-01-06 19:55:48 +03:30
parent d31c2ab0c7
commit ccb3a24758
11 changed files with 482 additions and 150 deletions
@@ -0,0 +1,6 @@
namespace Caspian.WorkflowFramework.Models;
public class CancelWorkflowInstanceModel
{
public string WorkflowInstanceId { get; set; }
public long UserId { get; set; }
}
@@ -1,33 +1,26 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
using Elsa.Common.Models;
using JetBrains.Annotations;
namespace Caspian.WorkflowFramework.Models
namespace Caspian.WorkflowFramework.Models;
[PublicAPI]
public class CreateAndExecuteWorkflowModel
{
[PublicAPI]
public class CreateAndExecuteWorkflowModel
{
/// <summary>
/// Workflow name
/// </summary>
[Required]
public string? Name { get; set; }
/// <summary>
/// Workflow name
/// </summary>
[Required]
public string? Name { get; set; }
/// <summary>
/// Workflow version
/// </summary>
[Required]
public VersionOptions Version { get; set; }
/// <summary>
/// Workflow version
/// </summary>
[Required]
public VersionOptions Version { get; set; }
/// <summary>
/// Current user's id
/// </summary>
[Required]
public long? UserId { get; set; }
}
/// <summary>
/// Current user's id
/// </summary>
[Required]
public long? UserId { get; set; }
}
@@ -0,0 +1,5 @@
namespace Caspian.WorkflowFramework.Models;
public class GetActiveInstancesModel
{
public long UserId { get; set; }
}
@@ -0,0 +1,6 @@
namespace Caspian.WorkflowFramework.Models;
public class GetLatestActiveInstanceModel
{
public long UserId { get; set; }
public string WorkflowName { get; set; }
}
@@ -1,15 +1,8 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ComponentModel.DataAnnotations;
namespace Caspian.WorkflowFramework.Models
namespace Caspian.WorkflowFramework.Models;
public class InquiryStateModel
{
public class InquiryStateModel
{
[Required]
public string WorkflowInstanceId { get; set; }
}
[Required]
public string WorkflowInstanceId { get; set; }
}
@@ -1,19 +1,17 @@
using JetBrains.Annotations;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations;
using System.Text.Json;
using JetBrains.Annotations;
namespace Caspian.WorkflowFramework.Models
namespace Caspian.WorkflowFramework.Models;
[PublicAPI]
public class PublishEventModel
{
[PublicAPI]
public class PublishEventModel
{
[Required]
public string WorkflowInstanceId { get; set; }
[Required]
public string WorkflowInstanceId { get; set; }
[Required]
public string EventName { get; set; }
[Required]
public string EventName { get; set; }
[Required]
public JsonElement EventData { get; set; }
}
[Required]
public JsonElement EventData { get; set; }
}
@@ -1,57 +1,55 @@
using JetBrains.Annotations;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
using System.Text.Json;
using JetBrains.Annotations;
namespace Caspian.WorkflowFramework.Models
namespace Caspian.WorkflowFramework.Models;
[PublicAPI]
public class WorkflowModel
{
[PublicAPI]
public class WorkflowModel
{
/// <summary>
/// شناسه گردش کار
/// </summary>
public string? InstanceId { get; set; }
/// <summary>
/// شناسه گردش کار
/// </summary>
public string? InstanceId { get; set; }
/// <summary>
/// نام گردش کار
/// </summary>
public string? Name { get; set; }
/// <summary>
/// نام گردش کار
/// </summary>
public string? Name { get; set; }
/// <summary>
/// اتمام گردش کار؟
/// </summary>
public bool IsComplete { get; set; }
/// <summary>
/// اتمام گردش کار؟
/// </summary>
public bool IsComplete { get; set; }
/// <summary>
/// برای کدام کاربر؟
/// </summary>
public long? UserId { get; set; }
/// <summary>
/// برای کدام کاربر؟
/// </summary>
public long? UserId { get; set; }
/// <summary>
/// داده صفحه جاری
/// </summary>
public JsonElement? CurrentPageData { get; set; }
/// <summary>
/// داده صفحه جاری
/// </summary>
public JsonElement? CurrentPageData { get; set; }
/// <summary>
/// داده صفحه بعد
/// <remark>
/// فعلا استفاده ای نداریم
/// </remark>
/// </summary>
public JsonElement? NextPageData { get; set; }
/// <summary>
/// داده صفحه بعد
/// <remark>
/// فعلا استفاده ای نداریم
/// </remark>
/// </summary>
public JsonElement? NextPageData { get; set; }
/// <summary>
/// آدرس صفحه بعدی
/// </summary>
public string? NextPageUrl { get; set; }
/// <summary>
/// آدرس صفحه بعدی
/// </summary>
public string? NextPageUrl { get; set; }
/// <summary>
/// رویدادی که باید پس از سابمیت صفحه بعدی منتشر شود
/// </summary>
public string? NextPageEventName { get; set; }
}
/// <summary>
/// رویدادی که باید پس از سابمیت صفحه بعدی منتشر شود
/// </summary>
public string? NextPageEventName { get; set; }
/// <summary>
/// جای ذخیره‌ی موقت برای استفاده های بعدی
/// </summary>
public JsonElement? WorkflowStash { get; set; }
}
@@ -1,37 +1,30 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JetBrains.Annotations;
using JetBrains.Annotations;
namespace Caspian.WorkflowFramework.Models
namespace Caspian.WorkflowFramework.Models;
[PublicAPI]
public class WorkflowResponse<T> : WorkflowResponseBase where T : class, new()
{
[PublicAPI]
public class WorkflowResponse<T> : WorkflowResponseBase where T : class, new()
public WorkflowResponse()
{
public WorkflowResponse()
{
Data = new T();
}
/// <summary>
/// پاسخ
/// </summary>
public T? Data { get; set; }
Data = new T();
}
[PublicAPI]
public class WorkflowResponseBase
{
/// <summary>
/// وضعیت پاسخ
/// </summary>
public int? Status { get; set; }
/// <summary>
/// پیام پاسخ
/// </summary>
public string? Message { get; set; }
}
/// <summary>
/// پاسخ
/// </summary>
public T? Data { get; set; }
}
[PublicAPI]
public class WorkflowResponseBase
{
/// <summary>
/// وضعیت پاسخ
/// </summary>
public int? Status { get; set; }
/// <summary>
/// پیام پاسخ
/// </summary>
public string? Message { get; set; }
}