committed by
GitHub
146 changed files with 6536 additions and 337 deletions
@ -0,0 +1,99 @@ |
|||
<template> |
|||
<BasicModal |
|||
@register="registerModal" |
|||
:title="L('TextTemplates')" |
|||
:width="800" |
|||
:min-height="400" |
|||
@ok="handleSubmit" |
|||
> |
|||
<BasicForm @register="registerForm" /> |
|||
</BasicModal> |
|||
</template> |
|||
|
|||
<script lang="ts" setup> |
|||
import { reactive, nextTick } from 'vue'; |
|||
import { BasicForm, useForm } from '/@/components/Form'; |
|||
import { BasicModal, useModalInner } from '/@/components/Modal'; |
|||
import { useMessage } from '/@/hooks/web/useMessage'; |
|||
import { useLocalization } from '/@/hooks/abp/useLocalization'; |
|||
import { GetByNameAsyncByName, CreateAsyncByInput, UpdateAsyncByNameAndInput } from '/@/api/text-templating/definitions'; |
|||
import { getModalFormSchemas } from '../datas/ModalData'; |
|||
|
|||
const emits = defineEmits(['register', 'change']); |
|||
|
|||
const state = reactive({ |
|||
isEdit: false |
|||
}); |
|||
const { createMessage } = useMessage(); |
|||
const { L } = useLocalization(['AbpTextTemplating']); |
|||
const [registerForm, { resetFields, setFieldsValue, validate, updateSchema }] = useForm({ |
|||
labelWidth: 150, |
|||
showActionButtonGroup: false, |
|||
schemas: getModalFormSchemas(), |
|||
}); |
|||
const [registerModal, { changeLoading, changeOkLoading, closeModal }] = useModalInner((data) => { |
|||
nextTick(() => { |
|||
fetch(data?.name); |
|||
}); |
|||
}); |
|||
|
|||
function fetch(name?: string) { |
|||
state.isEdit = false; |
|||
resetFields(); |
|||
if (!name) { |
|||
updateSchema({ |
|||
field: 'name', |
|||
dynamicDisabled: state.isEdit, |
|||
}); |
|||
return; |
|||
} |
|||
changeLoading(true); |
|||
changeOkLoading(true); |
|||
GetByNameAsyncByName(name).then((res) => { |
|||
state.isEdit = true; |
|||
updateSchema({ |
|||
field: 'name', |
|||
dynamicDisabled: state.isEdit, |
|||
}); |
|||
setFieldsValue(res); |
|||
if (res.formatedDisplayName) { |
|||
// L:XXX,YYY |
|||
const splitChars = res.formatedDisplayName.split(','); |
|||
if (splitChars.length >= 2 && splitChars[0].startsWith('L:')) { |
|||
const resource = splitChars[0].substring(2); |
|||
setFieldsValue({ |
|||
resource: resource, |
|||
text: splitChars[1], |
|||
}); |
|||
} |
|||
} |
|||
}).finally(() => { |
|||
changeLoading(false); |
|||
changeOkLoading(false); |
|||
}); |
|||
} |
|||
|
|||
function handleSubmit() { |
|||
validate().then((input) => { |
|||
input.displayName = `L:${input.resource},${input.text}`; |
|||
changeLoading(true); |
|||
changeOkLoading(true); |
|||
const submitApi = state.isEdit |
|||
? UpdateAsyncByNameAndInput(input.name, input) |
|||
: CreateAsyncByInput(input); |
|||
submitApi.then((res) => { |
|||
setFieldsValue(res); |
|||
createMessage.success(L('Successful')); |
|||
emits('change', res); |
|||
closeModal(); |
|||
}).finally(() => { |
|||
changeLoading(false); |
|||
changeOkLoading(false); |
|||
}); |
|||
}); |
|||
} |
|||
</script> |
|||
|
|||
<style lang="less" scoped> |
|||
|
|||
</style> |
|||
File diff suppressed because it is too large
@ -0,0 +1,51 @@ |
|||
using Microsoft.EntityFrameworkCore.Migrations; |
|||
|
|||
#nullable disable |
|||
|
|||
namespace LY.MicroService.AuthServer.EntityFrameworkCore.Migrations |
|||
{ |
|||
/// <inheritdoc />
|
|||
public partial class UpgradeAbpFrameworkTo710 : Migration |
|||
{ |
|||
/// <inheritdoc />
|
|||
protected override void Up(MigrationBuilder migrationBuilder) |
|||
{ |
|||
migrationBuilder.AddColumn<int>( |
|||
name: "EntityVersion", |
|||
table: "AbpUsers", |
|||
type: "int", |
|||
nullable: false, |
|||
defaultValue: 0); |
|||
|
|||
migrationBuilder.AddColumn<int>( |
|||
name: "EntityVersion", |
|||
table: "AbpRoles", |
|||
type: "int", |
|||
nullable: false, |
|||
defaultValue: 0); |
|||
|
|||
migrationBuilder.AddColumn<int>( |
|||
name: "EntityVersion", |
|||
table: "AbpOrganizationUnits", |
|||
type: "int", |
|||
nullable: false, |
|||
defaultValue: 0); |
|||
} |
|||
|
|||
/// <inheritdoc />
|
|||
protected override void Down(MigrationBuilder migrationBuilder) |
|||
{ |
|||
migrationBuilder.DropColumn( |
|||
name: "EntityVersion", |
|||
table: "AbpUsers"); |
|||
|
|||
migrationBuilder.DropColumn( |
|||
name: "EntityVersion", |
|||
table: "AbpRoles"); |
|||
|
|||
migrationBuilder.DropColumn( |
|||
name: "EntityVersion", |
|||
table: "AbpOrganizationUnits"); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,587 @@ |
|||
// <auto-generated />
|
|||
using System; |
|||
using LY.MicroService.BackendAdmin.EntityFrameworkCore; |
|||
using Microsoft.EntityFrameworkCore; |
|||
using Microsoft.EntityFrameworkCore.Infrastructure; |
|||
using Microsoft.EntityFrameworkCore.Migrations; |
|||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; |
|||
using Volo.Abp.EntityFrameworkCore; |
|||
|
|||
#nullable disable |
|||
|
|||
namespace LY.MicroService.BackendAdmin.EntityFrameworkCore.Migrations |
|||
{ |
|||
[DbContext(typeof(BackendAdminMigrationsDbContext))] |
|||
[Migration("20230323070528_Upgrade-Abp-Framework-To-7.1.0")] |
|||
partial class UpgradeAbpFrameworkTo710 |
|||
{ |
|||
/// <inheritdoc />
|
|||
protected override void BuildTargetModel(ModelBuilder modelBuilder) |
|||
{ |
|||
#pragma warning disable 612, 618
|
|||
modelBuilder |
|||
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql) |
|||
.HasAnnotation("ProductVersion", "7.0.2") |
|||
.HasAnnotation("Relational:MaxIdentifierLength", 64); |
|||
|
|||
modelBuilder.Entity("LINGYUN.Abp.Saas.Editions.Edition", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("ConcurrencyStamp") |
|||
.IsConcurrencyToken() |
|||
.HasMaxLength(40) |
|||
.HasColumnType("varchar(40)") |
|||
.HasColumnName("ConcurrencyStamp"); |
|||
|
|||
b.Property<DateTime>("CreationTime") |
|||
.HasColumnType("datetime(6)") |
|||
.HasColumnName("CreationTime"); |
|||
|
|||
b.Property<Guid?>("CreatorId") |
|||
.HasColumnType("char(36)") |
|||
.HasColumnName("CreatorId"); |
|||
|
|||
b.Property<Guid?>("DeleterId") |
|||
.HasColumnType("char(36)") |
|||
.HasColumnName("DeleterId"); |
|||
|
|||
b.Property<DateTime?>("DeletionTime") |
|||
.HasColumnType("datetime(6)") |
|||
.HasColumnName("DeletionTime"); |
|||
|
|||
b.Property<string>("DisplayName") |
|||
.IsRequired() |
|||
.HasMaxLength(64) |
|||
.HasColumnType("varchar(64)"); |
|||
|
|||
b.Property<int>("EntityVersion") |
|||
.HasColumnType("int"); |
|||
|
|||
b.Property<string>("ExtraProperties") |
|||
.HasColumnType("longtext") |
|||
.HasColumnName("ExtraProperties"); |
|||
|
|||
b.Property<bool>("IsDeleted") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("tinyint(1)") |
|||
.HasDefaultValue(false) |
|||
.HasColumnName("IsDeleted"); |
|||
|
|||
b.Property<DateTime?>("LastModificationTime") |
|||
.HasColumnType("datetime(6)") |
|||
.HasColumnName("LastModificationTime"); |
|||
|
|||
b.Property<Guid?>("LastModifierId") |
|||
.HasColumnType("char(36)") |
|||
.HasColumnName("LastModifierId"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("DisplayName"); |
|||
|
|||
b.ToTable("AbpEditions", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("LINGYUN.Abp.Saas.Tenants.Tenant", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("ConcurrencyStamp") |
|||
.IsConcurrencyToken() |
|||
.HasMaxLength(40) |
|||
.HasColumnType("varchar(40)") |
|||
.HasColumnName("ConcurrencyStamp"); |
|||
|
|||
b.Property<DateTime>("CreationTime") |
|||
.HasColumnType("datetime(6)") |
|||
.HasColumnName("CreationTime"); |
|||
|
|||
b.Property<Guid?>("CreatorId") |
|||
.HasColumnType("char(36)") |
|||
.HasColumnName("CreatorId"); |
|||
|
|||
b.Property<Guid?>("DeleterId") |
|||
.HasColumnType("char(36)") |
|||
.HasColumnName("DeleterId"); |
|||
|
|||
b.Property<DateTime?>("DeletionTime") |
|||
.HasColumnType("datetime(6)") |
|||
.HasColumnName("DeletionTime"); |
|||
|
|||
b.Property<DateTime?>("DisableTime") |
|||
.HasColumnType("datetime(6)"); |
|||
|
|||
b.Property<Guid?>("EditionId") |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<DateTime?>("EnableTime") |
|||
.HasColumnType("datetime(6)"); |
|||
|
|||
b.Property<int>("EntityVersion") |
|||
.HasColumnType("int"); |
|||
|
|||
b.Property<string>("ExtraProperties") |
|||
.HasColumnType("longtext") |
|||
.HasColumnName("ExtraProperties"); |
|||
|
|||
b.Property<bool>("IsActive") |
|||
.HasColumnType("tinyint(1)"); |
|||
|
|||
b.Property<bool>("IsDeleted") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("tinyint(1)") |
|||
.HasDefaultValue(false) |
|||
.HasColumnName("IsDeleted"); |
|||
|
|||
b.Property<DateTime?>("LastModificationTime") |
|||
.HasColumnType("datetime(6)") |
|||
.HasColumnName("LastModificationTime"); |
|||
|
|||
b.Property<Guid?>("LastModifierId") |
|||
.HasColumnType("char(36)") |
|||
.HasColumnName("LastModifierId"); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(64) |
|||
.HasColumnType("varchar(64)"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("EditionId"); |
|||
|
|||
b.HasIndex("Name"); |
|||
|
|||
b.ToTable("AbpTenants", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("LINGYUN.Abp.Saas.Tenants.TenantConnectionString", b => |
|||
{ |
|||
b.Property<Guid>("TenantId") |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("Name") |
|||
.HasMaxLength(64) |
|||
.HasColumnType("varchar(64)"); |
|||
|
|||
b.Property<string>("Value") |
|||
.IsRequired() |
|||
.HasMaxLength(1024) |
|||
.HasColumnType("varchar(1024)"); |
|||
|
|||
b.HasKey("TenantId", "Name"); |
|||
|
|||
b.ToTable("AbpTenantConnectionStrings", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("LINGYUN.Abp.TextTemplating.TextTemplate", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("Content") |
|||
.HasMaxLength(1048576) |
|||
.HasColumnType("longtext") |
|||
.HasColumnName("Content"); |
|||
|
|||
b.Property<DateTime>("CreationTime") |
|||
.HasColumnType("datetime(6)") |
|||
.HasColumnName("CreationTime"); |
|||
|
|||
b.Property<Guid?>("CreatorId") |
|||
.HasColumnType("char(36)") |
|||
.HasColumnName("CreatorId"); |
|||
|
|||
b.Property<string>("Culture") |
|||
.HasMaxLength(30) |
|||
.HasColumnType("varchar(30)") |
|||
.HasColumnName("Culture"); |
|||
|
|||
b.Property<string>("DisplayName") |
|||
.IsRequired() |
|||
.HasMaxLength(100) |
|||
.HasColumnType("varchar(100)") |
|||
.HasColumnName("DisplayName"); |
|||
|
|||
b.Property<DateTime?>("LastModificationTime") |
|||
.HasColumnType("datetime(6)") |
|||
.HasColumnName("LastModificationTime"); |
|||
|
|||
b.Property<Guid?>("LastModifierId") |
|||
.HasColumnType("char(36)") |
|||
.HasColumnName("LastModifierId"); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(100) |
|||
.HasColumnType("varchar(100)") |
|||
.HasColumnName("Name"); |
|||
|
|||
b.Property<Guid?>("TenantId") |
|||
.HasColumnType("char(36)") |
|||
.HasColumnName("TenantId"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("TenantId", "Name") |
|||
.HasDatabaseName("IX_Tenant_Text_Template_Name"); |
|||
|
|||
b.ToTable("AbpTextTemplates", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("LINGYUN.Abp.TextTemplating.TextTemplateDefinition", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("ConcurrencyStamp") |
|||
.IsConcurrencyToken() |
|||
.HasMaxLength(40) |
|||
.HasColumnType("varchar(40)") |
|||
.HasColumnName("ConcurrencyStamp"); |
|||
|
|||
b.Property<string>("DefaultCultureName") |
|||
.HasMaxLength(30) |
|||
.HasColumnType("varchar(30)") |
|||
.HasColumnName("DefaultCultureName"); |
|||
|
|||
b.Property<string>("DisplayName") |
|||
.IsRequired() |
|||
.HasMaxLength(512) |
|||
.HasColumnType("varchar(512)") |
|||
.HasColumnName("DisplayName"); |
|||
|
|||
b.Property<string>("ExtraProperties") |
|||
.HasColumnType("longtext") |
|||
.HasColumnName("ExtraProperties"); |
|||
|
|||
b.Property<bool>("IsInlineLocalized") |
|||
.HasColumnType("tinyint(1)"); |
|||
|
|||
b.Property<bool>("IsLayout") |
|||
.HasColumnType("tinyint(1)"); |
|||
|
|||
b.Property<bool>("IsStatic") |
|||
.HasColumnType("tinyint(1)"); |
|||
|
|||
b.Property<string>("Layout") |
|||
.HasMaxLength(60) |
|||
.HasColumnType("varchar(60)") |
|||
.HasColumnName("Layout"); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)") |
|||
.HasColumnName("Name"); |
|||
|
|||
b.Property<string>("RenderEngine") |
|||
.HasMaxLength(30) |
|||
.HasColumnType("varchar(30)") |
|||
.HasColumnName("RenderEngine"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.ToTable("AbpTextTemplateDefinitions", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureDefinitionRecord", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("AllowedProviders") |
|||
.HasMaxLength(256) |
|||
.HasColumnType("varchar(256)"); |
|||
|
|||
b.Property<string>("DefaultValue") |
|||
.HasMaxLength(256) |
|||
.HasColumnType("varchar(256)"); |
|||
|
|||
b.Property<string>("Description") |
|||
.HasMaxLength(256) |
|||
.HasColumnType("varchar(256)"); |
|||
|
|||
b.Property<string>("DisplayName") |
|||
.IsRequired() |
|||
.HasMaxLength(256) |
|||
.HasColumnType("varchar(256)"); |
|||
|
|||
b.Property<string>("ExtraProperties") |
|||
.HasColumnType("longtext") |
|||
.HasColumnName("ExtraProperties"); |
|||
|
|||
b.Property<string>("GroupName") |
|||
.IsRequired() |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)"); |
|||
|
|||
b.Property<bool>("IsAvailableToHost") |
|||
.HasColumnType("tinyint(1)"); |
|||
|
|||
b.Property<bool>("IsVisibleToClients") |
|||
.HasColumnType("tinyint(1)"); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)"); |
|||
|
|||
b.Property<string>("ParentName") |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)"); |
|||
|
|||
b.Property<string>("ValueType") |
|||
.HasMaxLength(2048) |
|||
.HasColumnType("varchar(2048)"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("GroupName"); |
|||
|
|||
b.HasIndex("Name") |
|||
.IsUnique(); |
|||
|
|||
b.ToTable("AbpFeatures", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureGroupDefinitionRecord", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("DisplayName") |
|||
.IsRequired() |
|||
.HasMaxLength(256) |
|||
.HasColumnType("varchar(256)"); |
|||
|
|||
b.Property<string>("ExtraProperties") |
|||
.HasColumnType("longtext") |
|||
.HasColumnName("ExtraProperties"); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("Name") |
|||
.IsUnique(); |
|||
|
|||
b.ToTable("AbpFeatureGroups", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)"); |
|||
|
|||
b.Property<string>("ProviderKey") |
|||
.HasMaxLength(64) |
|||
.HasColumnType("varchar(64)"); |
|||
|
|||
b.Property<string>("ProviderName") |
|||
.HasMaxLength(64) |
|||
.HasColumnType("varchar(64)"); |
|||
|
|||
b.Property<string>("Value") |
|||
.IsRequired() |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("Name", "ProviderName", "ProviderKey") |
|||
.IsUnique(); |
|||
|
|||
b.ToTable("AbpFeatureValues", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionDefinitionRecord", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("DisplayName") |
|||
.IsRequired() |
|||
.HasMaxLength(256) |
|||
.HasColumnType("varchar(256)"); |
|||
|
|||
b.Property<string>("ExtraProperties") |
|||
.HasColumnType("longtext") |
|||
.HasColumnName("ExtraProperties"); |
|||
|
|||
b.Property<string>("GroupName") |
|||
.IsRequired() |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)"); |
|||
|
|||
b.Property<bool>("IsEnabled") |
|||
.HasColumnType("tinyint(1)"); |
|||
|
|||
b.Property<byte>("MultiTenancySide") |
|||
.HasColumnType("tinyint unsigned"); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)"); |
|||
|
|||
b.Property<string>("ParentName") |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)"); |
|||
|
|||
b.Property<string>("Providers") |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)"); |
|||
|
|||
b.Property<string>("StateCheckers") |
|||
.HasMaxLength(256) |
|||
.HasColumnType("varchar(256)"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("GroupName"); |
|||
|
|||
b.HasIndex("Name") |
|||
.IsUnique(); |
|||
|
|||
b.ToTable("AbpPermissions", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)"); |
|||
|
|||
b.Property<string>("ProviderKey") |
|||
.IsRequired() |
|||
.HasMaxLength(64) |
|||
.HasColumnType("varchar(64)"); |
|||
|
|||
b.Property<string>("ProviderName") |
|||
.IsRequired() |
|||
.HasMaxLength(64) |
|||
.HasColumnType("varchar(64)"); |
|||
|
|||
b.Property<Guid?>("TenantId") |
|||
.HasColumnType("char(36)") |
|||
.HasColumnName("TenantId"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("TenantId", "Name", "ProviderName", "ProviderKey") |
|||
.IsUnique(); |
|||
|
|||
b.ToTable("AbpPermissionGrants", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGroupDefinitionRecord", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("DisplayName") |
|||
.IsRequired() |
|||
.HasMaxLength(256) |
|||
.HasColumnType("varchar(256)"); |
|||
|
|||
b.Property<string>("ExtraProperties") |
|||
.HasColumnType("longtext") |
|||
.HasColumnName("ExtraProperties"); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("Name") |
|||
.IsUnique(); |
|||
|
|||
b.ToTable("AbpPermissionGroups", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)"); |
|||
|
|||
b.Property<string>("ProviderKey") |
|||
.HasMaxLength(64) |
|||
.HasColumnType("varchar(64)"); |
|||
|
|||
b.Property<string>("ProviderName") |
|||
.HasMaxLength(64) |
|||
.HasColumnType("varchar(64)"); |
|||
|
|||
b.Property<string>("Value") |
|||
.IsRequired() |
|||
.HasMaxLength(2048) |
|||
.HasColumnType("varchar(2048)"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("Name", "ProviderName", "ProviderKey") |
|||
.IsUnique(); |
|||
|
|||
b.ToTable("AbpSettings", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("LINGYUN.Abp.Saas.Tenants.Tenant", b => |
|||
{ |
|||
b.HasOne("LINGYUN.Abp.Saas.Editions.Edition", "Edition") |
|||
.WithMany() |
|||
.HasForeignKey("EditionId"); |
|||
|
|||
b.Navigation("Edition"); |
|||
}); |
|||
|
|||
modelBuilder.Entity("LINGYUN.Abp.Saas.Tenants.TenantConnectionString", b => |
|||
{ |
|||
b.HasOne("LINGYUN.Abp.Saas.Tenants.Tenant", null) |
|||
.WithMany("ConnectionStrings") |
|||
.HasForeignKey("TenantId") |
|||
.OnDelete(DeleteBehavior.Cascade) |
|||
.IsRequired(); |
|||
}); |
|||
|
|||
modelBuilder.Entity("LINGYUN.Abp.Saas.Tenants.Tenant", b => |
|||
{ |
|||
b.Navigation("ConnectionStrings"); |
|||
}); |
|||
#pragma warning restore 612, 618
|
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,40 @@ |
|||
using Microsoft.EntityFrameworkCore.Migrations; |
|||
|
|||
#nullable disable |
|||
|
|||
namespace LY.MicroService.BackendAdmin.EntityFrameworkCore.Migrations |
|||
{ |
|||
/// <inheritdoc />
|
|||
public partial class UpgradeAbpFrameworkTo710 : Migration |
|||
{ |
|||
/// <inheritdoc />
|
|||
protected override void Up(MigrationBuilder migrationBuilder) |
|||
{ |
|||
migrationBuilder.AddColumn<int>( |
|||
name: "EntityVersion", |
|||
table: "AbpTenants", |
|||
type: "int", |
|||
nullable: false, |
|||
defaultValue: 0); |
|||
|
|||
migrationBuilder.AddColumn<int>( |
|||
name: "EntityVersion", |
|||
table: "AbpEditions", |
|||
type: "int", |
|||
nullable: false, |
|||
defaultValue: 0); |
|||
} |
|||
|
|||
/// <inheritdoc />
|
|||
protected override void Down(MigrationBuilder migrationBuilder) |
|||
{ |
|||
migrationBuilder.DropColumn( |
|||
name: "EntityVersion", |
|||
table: "AbpTenants"); |
|||
|
|||
migrationBuilder.DropColumn( |
|||
name: "EntityVersion", |
|||
table: "AbpEditions"); |
|||
} |
|||
} |
|||
} |
|||
File diff suppressed because it is too large
@ -0,0 +1,51 @@ |
|||
using Microsoft.EntityFrameworkCore.Migrations; |
|||
|
|||
#nullable disable |
|||
|
|||
namespace LY.MicroService.IdentityServer.EntityFrameworkCore.Migrations |
|||
{ |
|||
/// <inheritdoc />
|
|||
public partial class UpgradeAbpFrameworkTo710 : Migration |
|||
{ |
|||
/// <inheritdoc />
|
|||
protected override void Up(MigrationBuilder migrationBuilder) |
|||
{ |
|||
migrationBuilder.AddColumn<int>( |
|||
name: "EntityVersion", |
|||
table: "AbpUsers", |
|||
type: "int", |
|||
nullable: false, |
|||
defaultValue: 0); |
|||
|
|||
migrationBuilder.AddColumn<int>( |
|||
name: "EntityVersion", |
|||
table: "AbpRoles", |
|||
type: "int", |
|||
nullable: false, |
|||
defaultValue: 0); |
|||
|
|||
migrationBuilder.AddColumn<int>( |
|||
name: "EntityVersion", |
|||
table: "AbpOrganizationUnits", |
|||
type: "int", |
|||
nullable: false, |
|||
defaultValue: 0); |
|||
} |
|||
|
|||
/// <inheritdoc />
|
|||
protected override void Down(MigrationBuilder migrationBuilder) |
|||
{ |
|||
migrationBuilder.DropColumn( |
|||
name: "EntityVersion", |
|||
table: "AbpUsers"); |
|||
|
|||
migrationBuilder.DropColumn( |
|||
name: "EntityVersion", |
|||
table: "AbpRoles"); |
|||
|
|||
migrationBuilder.DropColumn( |
|||
name: "EntityVersion", |
|||
table: "AbpOrganizationUnits"); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,261 @@ |
|||
// <auto-generated />
|
|||
using System; |
|||
using LY.MicroService.WebhooksManagement.EntityFrameworkCore; |
|||
using Microsoft.EntityFrameworkCore; |
|||
using Microsoft.EntityFrameworkCore.Infrastructure; |
|||
using Microsoft.EntityFrameworkCore.Migrations; |
|||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion; |
|||
using Volo.Abp.EntityFrameworkCore; |
|||
|
|||
#nullable disable |
|||
|
|||
namespace LY.MicroService.WebhooksManagement.EntityFrameworkCore.Migrations |
|||
{ |
|||
[DbContext(typeof(WebhooksManagementMigrationsDbContext))] |
|||
[Migration("20230324095512_Add-Description-To-Subscription")] |
|||
partial class AddDescriptionToSubscription |
|||
{ |
|||
/// <inheritdoc />
|
|||
protected override void BuildTargetModel(ModelBuilder modelBuilder) |
|||
{ |
|||
#pragma warning disable 612, 618
|
|||
modelBuilder |
|||
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.MySql) |
|||
.HasAnnotation("ProductVersion", "7.0.2") |
|||
.HasAnnotation("Relational:MaxIdentifierLength", 64); |
|||
|
|||
modelBuilder.Entity("LINGYUN.Abp.WebhooksManagement.WebhookDefinitionRecord", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("Description") |
|||
.HasMaxLength(256) |
|||
.HasColumnType("varchar(256)"); |
|||
|
|||
b.Property<string>("DisplayName") |
|||
.IsRequired() |
|||
.HasMaxLength(256) |
|||
.HasColumnType("varchar(256)"); |
|||
|
|||
b.Property<string>("ExtraProperties") |
|||
.HasColumnType("longtext") |
|||
.HasColumnName("ExtraProperties"); |
|||
|
|||
b.Property<string>("GroupName") |
|||
.IsRequired() |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)"); |
|||
|
|||
b.Property<bool>("IsEnabled") |
|||
.HasColumnType("tinyint(1)"); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)"); |
|||
|
|||
b.Property<string>("RequiredFeatures") |
|||
.HasMaxLength(256) |
|||
.HasColumnType("varchar(256)"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("GroupName"); |
|||
|
|||
b.HasIndex("Name") |
|||
.IsUnique(); |
|||
|
|||
b.ToTable("AbpWebhooksWebhooks", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("LINGYUN.Abp.WebhooksManagement.WebhookEventRecord", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<DateTime>("CreationTime") |
|||
.HasColumnType("datetime(6)") |
|||
.HasColumnName("CreationTime"); |
|||
|
|||
b.Property<string>("Data") |
|||
.HasMaxLength(2147483647) |
|||
.HasColumnType("longtext") |
|||
.HasColumnName("Data"); |
|||
|
|||
b.Property<DateTime?>("DeletionTime") |
|||
.HasColumnType("datetime(6)") |
|||
.HasColumnName("DeletionTime"); |
|||
|
|||
b.Property<bool>("IsDeleted") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("tinyint(1)") |
|||
.HasDefaultValue(false) |
|||
.HasColumnName("IsDeleted"); |
|||
|
|||
b.Property<Guid?>("TenantId") |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("WebhookName") |
|||
.IsRequired() |
|||
.HasMaxLength(100) |
|||
.HasColumnType("varchar(100)") |
|||
.HasColumnName("WebhookName"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.ToTable("AbpWebhooksEvents", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("LINGYUN.Abp.WebhooksManagement.WebhookGroupDefinitionRecord", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("DisplayName") |
|||
.IsRequired() |
|||
.HasMaxLength(256) |
|||
.HasColumnType("varchar(256)"); |
|||
|
|||
b.Property<string>("ExtraProperties") |
|||
.HasColumnType("longtext") |
|||
.HasColumnName("ExtraProperties"); |
|||
|
|||
b.Property<string>("Name") |
|||
.IsRequired() |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("Name") |
|||
.IsUnique(); |
|||
|
|||
b.ToTable("AbpWebhooksWebhookGroups", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("LINGYUN.Abp.WebhooksManagement.WebhookSendRecord", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<DateTime>("CreationTime") |
|||
.HasColumnType("datetime(6)") |
|||
.HasColumnName("CreationTime"); |
|||
|
|||
b.Property<DateTime?>("LastModificationTime") |
|||
.HasColumnType("datetime(6)") |
|||
.HasColumnName("LastModificationTime"); |
|||
|
|||
b.Property<string>("RequestHeaders") |
|||
.HasMaxLength(2147483647) |
|||
.HasColumnType("longtext") |
|||
.HasColumnName("RequestHeaders"); |
|||
|
|||
b.Property<string>("Response") |
|||
.HasMaxLength(2147483647) |
|||
.HasColumnType("longtext") |
|||
.HasColumnName("Response"); |
|||
|
|||
b.Property<string>("ResponseHeaders") |
|||
.HasMaxLength(2147483647) |
|||
.HasColumnType("longtext") |
|||
.HasColumnName("ResponseHeaders"); |
|||
|
|||
b.Property<int?>("ResponseStatusCode") |
|||
.HasColumnType("int"); |
|||
|
|||
b.Property<bool>("SendExactSameData") |
|||
.HasColumnType("tinyint(1)"); |
|||
|
|||
b.Property<Guid?>("TenantId") |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<Guid>("WebhookEventId") |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<Guid>("WebhookSubscriptionId") |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.HasIndex("WebhookEventId"); |
|||
|
|||
b.ToTable("AbpWebhooksSendAttempts", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("LINGYUN.Abp.WebhooksManagement.WebhookSubscription", b => |
|||
{ |
|||
b.Property<Guid>("Id") |
|||
.ValueGeneratedOnAdd() |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("ConcurrencyStamp") |
|||
.IsConcurrencyToken() |
|||
.HasMaxLength(40) |
|||
.HasColumnType("varchar(40)") |
|||
.HasColumnName("ConcurrencyStamp"); |
|||
|
|||
b.Property<DateTime>("CreationTime") |
|||
.HasColumnType("datetime(6)") |
|||
.HasColumnName("CreationTime"); |
|||
|
|||
b.Property<Guid?>("CreatorId") |
|||
.HasColumnType("char(36)") |
|||
.HasColumnName("CreatorId"); |
|||
|
|||
b.Property<string>("Description") |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)") |
|||
.HasColumnName("Description"); |
|||
|
|||
b.Property<string>("Headers") |
|||
.HasMaxLength(2147483647) |
|||
.HasColumnType("longtext") |
|||
.HasColumnName("Headers"); |
|||
|
|||
b.Property<bool>("IsActive") |
|||
.HasColumnType("tinyint(1)"); |
|||
|
|||
b.Property<string>("Secret") |
|||
.HasMaxLength(128) |
|||
.HasColumnType("varchar(128)") |
|||
.HasColumnName("Secret"); |
|||
|
|||
b.Property<Guid?>("TenantId") |
|||
.HasColumnType("char(36)"); |
|||
|
|||
b.Property<string>("WebhookUri") |
|||
.IsRequired() |
|||
.HasMaxLength(255) |
|||
.HasColumnType("varchar(255)") |
|||
.HasColumnName("WebhookUri"); |
|||
|
|||
b.Property<string>("Webhooks") |
|||
.HasMaxLength(2147483647) |
|||
.HasColumnType("longtext") |
|||
.HasColumnName("Webhooks"); |
|||
|
|||
b.HasKey("Id"); |
|||
|
|||
b.ToTable("AbpWebhooksSubscriptions", (string)null); |
|||
}); |
|||
|
|||
modelBuilder.Entity("LINGYUN.Abp.WebhooksManagement.WebhookSendRecord", b => |
|||
{ |
|||
b.HasOne("LINGYUN.Abp.WebhooksManagement.WebhookEventRecord", "WebhookEvent") |
|||
.WithOne() |
|||
.HasForeignKey("LINGYUN.Abp.WebhooksManagement.WebhookSendRecord", "WebhookEventId") |
|||
.OnDelete(DeleteBehavior.Cascade) |
|||
.IsRequired(); |
|||
|
|||
b.Navigation("WebhookEvent"); |
|||
}); |
|||
#pragma warning restore 612, 618
|
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,42 @@ |
|||
using Microsoft.EntityFrameworkCore.Migrations; |
|||
|
|||
#nullable disable |
|||
|
|||
namespace LY.MicroService.WebhooksManagement.EntityFrameworkCore.Migrations |
|||
{ |
|||
/// <inheritdoc />
|
|||
public partial class AddDescriptionToSubscription : Migration |
|||
{ |
|||
/// <inheritdoc />
|
|||
protected override void Up(MigrationBuilder migrationBuilder) |
|||
{ |
|||
migrationBuilder.AddColumn<string>( |
|||
name: "ConcurrencyStamp", |
|||
table: "AbpWebhooksSubscriptions", |
|||
type: "varchar(40)", |
|||
maxLength: 40, |
|||
nullable: true) |
|||
.Annotation("MySql:CharSet", "utf8mb4"); |
|||
|
|||
migrationBuilder.AddColumn<string>( |
|||
name: "Description", |
|||
table: "AbpWebhooksSubscriptions", |
|||
type: "varchar(128)", |
|||
maxLength: 128, |
|||
nullable: true) |
|||
.Annotation("MySql:CharSet", "utf8mb4"); |
|||
} |
|||
|
|||
/// <inheritdoc />
|
|||
protected override void Down(MigrationBuilder migrationBuilder) |
|||
{ |
|||
migrationBuilder.DropColumn( |
|||
name: "ConcurrencyStamp", |
|||
table: "AbpWebhooksSubscriptions"); |
|||
|
|||
migrationBuilder.DropColumn( |
|||
name: "Description", |
|||
table: "AbpWebhooksSubscriptions"); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,29 @@ |
|||
using AutoMapper; |
|||
using Elsa.Models; |
|||
using Elsa.Server.Api.Endpoints.WorkflowDefinitions; |
|||
using Elsa.Server.Api.Endpoints.WorkflowInstances; |
|||
using Elsa.Server.Api.Endpoints.WorkflowRegistry; |
|||
using Elsa.Server.Api.Mapping; |
|||
using Elsa.Services.Models; |
|||
using Volo.Abp.AutoMapper; |
|||
|
|||
namespace LINGYUN.Abp.Elsa; |
|||
public class AbpElsaAutoMapperProfile : Profile |
|||
{ |
|||
public AbpElsaAutoMapperProfile() |
|||
{ |
|||
CreateMap<IWorkflowBlueprint, WorkflowBlueprintModel>() |
|||
.ForMember(x => x.IsEnabled, y => y.MapFrom(map => !map.IsDisabled)) |
|||
.Ignore(x => x.InputProperties) |
|||
.Ignore(x => x.OutputProperties); |
|||
CreateMap<IWorkflowBlueprint, WorkflowBlueprintSummaryModel>(); |
|||
CreateMap<IActivityBlueprint, ActivityBlueprintModel>().ConvertUsing<ActivityBlueprintConverter>(); |
|||
CreateMap<ICompositeActivityBlueprint, CompositeActivityBlueprintModel>() |
|||
.Ignore(x => x.InputProperties) |
|||
.Ignore(x => x.OutputProperties); |
|||
CreateMap<IConnection, ConnectionModel>().ConvertUsing<ConnectionConverter>(); |
|||
CreateMap<WorkflowInstance, WorkflowInstanceSummaryModel>(); |
|||
CreateMap<WorkflowDefinition, WorkflowDefinitionSummaryModel>(); |
|||
CreateMap<WorkflowDefinition, WorkflowDefinitionVersionModel>(); |
|||
} |
|||
} |
|||
@ -0,0 +1,9 @@ |
|||
namespace LINGYUN.Abp.LocalizationManagement; |
|||
public class LanguageEto |
|||
{ |
|||
public bool Enable { get; set; } |
|||
public string CultureName { get; set; } |
|||
public string UiCultureName { get; set; } |
|||
public string DisplayName { get; set; } |
|||
public string FlagIcon { get; set; } |
|||
} |
|||
@ -0,0 +1,10 @@ |
|||
namespace LINGYUN.Abp.LocalizationManagement; |
|||
|
|||
public class ResourceEto |
|||
{ |
|||
public bool Enable { get; set; } |
|||
public string Name { get; set; } |
|||
public string DisplayName { get; set; } |
|||
public string Description { get; set; } |
|||
public string DefaultCultureName { get; set; } |
|||
} |
|||
@ -0,0 +1,124 @@ |
|||
using Microsoft.Extensions.Caching.Distributed; |
|||
using Microsoft.Extensions.Options; |
|||
using System; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Caching; |
|||
using Volo.Abp.DependencyInjection; |
|||
using Volo.Abp.Domain.Entities.Events; |
|||
using Volo.Abp.Domain.Entities.Events.Distributed; |
|||
using Volo.Abp.EventBus; |
|||
using Volo.Abp.EventBus.Distributed; |
|||
using Volo.Abp.Threading; |
|||
using Volo.Abp.Timing; |
|||
|
|||
namespace LINGYUN.Abp.LocalizationManagement; |
|||
|
|||
public class LocalizationCacheInvalidator : |
|||
ILocalEventHandler<EntityChangedEventData<Language>>, |
|||
ILocalEventHandler<EntityChangedEventData<Resource>>, |
|||
ILocalEventHandler<EntityChangedEventData<Text>>, |
|||
|
|||
IDistributedEventHandler<EntityCreatedEto<TextEto>>, |
|||
IDistributedEventHandler<EntityUpdatedEto<TextEto>>, |
|||
IDistributedEventHandler<EntityDeletedEto<TextEto>>, |
|||
|
|||
IDistributedEventHandler<EntityCreatedEto<ResourceEto>>, |
|||
IDistributedEventHandler<EntityUpdatedEto<ResourceEto>>, |
|||
IDistributedEventHandler<EntityDeletedEto<ResourceEto>>, |
|||
|
|||
IDistributedEventHandler<EntityCreatedEto<LanguageEto>>, |
|||
IDistributedEventHandler<EntityUpdatedEto<LanguageEto>>, |
|||
IDistributedEventHandler<EntityDeletedEto<LanguageEto>>, |
|||
|
|||
ITransientDependency |
|||
{ |
|||
private readonly IClock _clock; |
|||
private readonly IDistributedCache _distributedCache; |
|||
private readonly ILocalizationStoreCache _storeCache; |
|||
private readonly AbpDistributedCacheOptions _distributedCacheOptions; |
|||
|
|||
public LocalizationCacheInvalidator( |
|||
IClock clock, |
|||
ILocalizationStoreCache storeCache, |
|||
IDistributedCache distributedCache, |
|||
IOptions<AbpDistributedCacheOptions> options) |
|||
{ |
|||
_clock = clock; |
|||
_storeCache = storeCache; |
|||
_distributedCache = distributedCache; |
|||
_distributedCacheOptions = options.Value; |
|||
} |
|||
|
|||
public async virtual Task HandleEventAsync(EntityChangedEventData<Language> eventData) |
|||
{ |
|||
await RemoveStampInDistributedCacheAsync(); |
|||
} |
|||
|
|||
public async virtual Task HandleEventAsync(EntityChangedEventData<Resource> eventData) |
|||
{ |
|||
await RemoveStampInDistributedCacheAsync(); |
|||
} |
|||
|
|||
public async virtual Task HandleEventAsync(EntityChangedEventData<Text> eventData) |
|||
{ |
|||
await RemoveStampInDistributedCacheAsync(); |
|||
} |
|||
|
|||
public async virtual Task HandleEventAsync(EntityCreatedEto<TextEto> eventData) |
|||
{ |
|||
await RemoveStampInDistributedCacheAsync(); |
|||
} |
|||
|
|||
public async virtual Task HandleEventAsync(EntityUpdatedEto<TextEto> eventData) |
|||
{ |
|||
await RemoveStampInDistributedCacheAsync(); |
|||
} |
|||
|
|||
public async virtual Task HandleEventAsync(EntityDeletedEto<TextEto> eventData) |
|||
{ |
|||
await RemoveStampInDistributedCacheAsync(); |
|||
} |
|||
|
|||
public async virtual Task HandleEventAsync(EntityCreatedEto<ResourceEto> eventData) |
|||
{ |
|||
await RemoveStampInDistributedCacheAsync(); |
|||
} |
|||
|
|||
public async virtual Task HandleEventAsync(EntityDeletedEto<ResourceEto> eventData) |
|||
{ |
|||
await RemoveStampInDistributedCacheAsync(); |
|||
} |
|||
|
|||
public async virtual Task HandleEventAsync(EntityCreatedEto<LanguageEto> eventData) |
|||
{ |
|||
await RemoveStampInDistributedCacheAsync(); |
|||
} |
|||
|
|||
public async virtual Task HandleEventAsync(EntityUpdatedEto<LanguageEto> eventData) |
|||
{ |
|||
await RemoveStampInDistributedCacheAsync(); |
|||
} |
|||
|
|||
public async virtual Task HandleEventAsync(EntityDeletedEto<LanguageEto> eventData) |
|||
{ |
|||
await RemoveStampInDistributedCacheAsync(); |
|||
} |
|||
|
|||
public async virtual Task HandleEventAsync(EntityUpdatedEto<ResourceEto> eventData) |
|||
{ |
|||
await RemoveStampInDistributedCacheAsync(); |
|||
} |
|||
|
|||
protected async virtual Task RemoveStampInDistributedCacheAsync() |
|||
{ |
|||
using (await _storeCache.SyncSemaphore.LockAsync()) |
|||
{ |
|||
var cacheKey = $"{_distributedCacheOptions.KeyPrefix}_AbpInMemoryLocalizationCacheStamp"; |
|||
|
|||
await _distributedCache.RemoveAsync(cacheKey); |
|||
|
|||
_storeCache.CacheStamp = Guid.NewGuid().ToString(); |
|||
_storeCache.LastCheckTime = _clock.Now.AddMinutes(-5); |
|||
} |
|||
} |
|||
} |
|||
@ -1,33 +0,0 @@ |
|||
using LINGYUN.Abp.WeChat.MiniProgram; |
|||
using LINGYUN.Abp.WeChat.MiniProgram.Features; |
|||
using LINGYUN.Abp.WeChat.OpenId; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp; |
|||
using Volo.Abp.OpenIddict.ExtensionGrantTypes; |
|||
|
|||
namespace LINGYUN.Abp.OpenIddict.WeChat.Controllers; |
|||
|
|||
public class WeChatMiniProgramTokenController : WeChatTokenController |
|||
{ |
|||
public override string Name => WeChatTokenExtensionGrantConsts.MiniProgramGrantType; |
|||
|
|||
public override string LoginProvider => AbpWeChatMiniProgramConsts.ProviderName; |
|||
|
|||
public override string AuthenticationMethod => AbpWeChatMiniProgramConsts.AuthenticationMethod; |
|||
|
|||
protected async override Task CheckFeatureAsync(ExtensionGrantContext context) |
|||
{ |
|||
if (!await FeatureChecker.IsEnabledAsync(WeChatMiniProgramFeatures.EnableAuthorization)) |
|||
{ |
|||
throw new AbpException(L["MiniProgramAuthorizationDisabledMessage"]); |
|||
} |
|||
} |
|||
|
|||
protected async override Task<WeChatOpenId> FindOpenIdAsync(string code) |
|||
{ |
|||
var optionsFactory = LazyServiceProvider.LazyGetRequiredService<AbpWeChatMiniProgramOptionsFactory>(); |
|||
var options = await optionsFactory.CreateAsync(); |
|||
|
|||
return await WeChatOpenIdFinder.FindAsync(code, options.AppId, options.AppSecret); |
|||
} |
|||
} |
|||
@ -1,32 +0,0 @@ |
|||
using LINGYUN.Abp.WeChat.Official; |
|||
using LINGYUN.Abp.WeChat.Official.Features; |
|||
using LINGYUN.Abp.WeChat.OpenId; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp; |
|||
using Volo.Abp.OpenIddict.ExtensionGrantTypes; |
|||
|
|||
namespace LINGYUN.Abp.OpenIddict.WeChat.Controllers; |
|||
public class WeChatOfficialTokenController : WeChatTokenController |
|||
{ |
|||
public override string Name => WeChatTokenExtensionGrantConsts.OfficialGrantType; |
|||
|
|||
public override string LoginProvider => AbpWeChatOfficialConsts.ProviderName; |
|||
|
|||
public override string AuthenticationMethod => AbpWeChatOfficialConsts.AuthenticationMethod; |
|||
|
|||
protected async override Task CheckFeatureAsync(ExtensionGrantContext context) |
|||
{ |
|||
if (!await FeatureChecker.IsEnabledAsync(WeChatOfficialFeatures.EnableAuthorization)) |
|||
{ |
|||
throw new AbpException(L["OfficialAuthorizationDisabledMessage"]); |
|||
} |
|||
} |
|||
|
|||
protected async override Task<WeChatOpenId> FindOpenIdAsync(string code) |
|||
{ |
|||
var optionsFactory = LazyServiceProvider.LazyGetRequiredService<AbpWeChatOfficialOptionsFactory>(); |
|||
var options = await optionsFactory.CreateAsync(); |
|||
|
|||
return await WeChatOpenIdFinder.FindAsync(code, options.AppId, options.AppSecret); |
|||
} |
|||
} |
|||
@ -0,0 +1,41 @@ |
|||
using LINGYUN.Abp.WeChat.MiniProgram; |
|||
using LINGYUN.Abp.WeChat.MiniProgram.Features; |
|||
using LINGYUN.Abp.WeChat.OpenId; |
|||
using Microsoft.Extensions.Localization; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp; |
|||
using Volo.Abp.Features; |
|||
using Volo.Abp.OpenIddict.ExtensionGrantTypes; |
|||
using Volo.Abp.OpenIddict.Localization; |
|||
|
|||
namespace LINGYUN.Abp.OpenIddict.WeChat; |
|||
public class WeChatMiniProgramTokenExtensionGrant : WeChatTokenExtensionGrant |
|||
{ |
|||
public override string Name => WeChatTokenExtensionGrantConsts.MiniProgramGrantType; |
|||
|
|||
public override string LoginProvider => AbpWeChatMiniProgramConsts.ProviderName; |
|||
|
|||
public override string AuthenticationMethod => AbpWeChatMiniProgramConsts.AuthenticationMethod; |
|||
|
|||
protected async override Task CheckFeatureAsync(ExtensionGrantContext context) |
|||
{ |
|||
var featureChecker = GetRequiredService<IFeatureChecker>(context); |
|||
|
|||
if (!await featureChecker.IsEnabledAsync(WeChatMiniProgramFeatures.EnableAuthorization)) |
|||
{ |
|||
var localizer = GetRequiredService<IStringLocalizer<AbpOpenIddictResource>>(context); |
|||
|
|||
throw new AbpException(localizer["MiniProgramAuthorizationDisabledMessage"]); |
|||
} |
|||
} |
|||
|
|||
protected async override Task<WeChatOpenId> FindOpenIdAsync(ExtensionGrantContext context, string code) |
|||
{ |
|||
var weChatOpenIdFinder = GetRequiredService<IWeChatOpenIdFinder>(context); |
|||
var optionsFactory = GetRequiredService<AbpWeChatMiniProgramOptionsFactory>(context); |
|||
|
|||
var options = await optionsFactory.CreateAsync(); |
|||
|
|||
return await weChatOpenIdFinder.FindAsync(code, options.AppId, options.AppSecret); |
|||
} |
|||
} |
|||
@ -0,0 +1,41 @@ |
|||
using LINGYUN.Abp.WeChat.Official; |
|||
using LINGYUN.Abp.WeChat.Official.Features; |
|||
using LINGYUN.Abp.WeChat.OpenId; |
|||
using Microsoft.Extensions.Localization; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp; |
|||
using Volo.Abp.Features; |
|||
using Volo.Abp.OpenIddict.ExtensionGrantTypes; |
|||
using Volo.Abp.OpenIddict.Localization; |
|||
|
|||
namespace LINGYUN.Abp.OpenIddict.WeChat; |
|||
public class WeChatOffcialTokenExtensionGrant : WeChatTokenExtensionGrant |
|||
{ |
|||
public override string Name => WeChatTokenExtensionGrantConsts.OfficialGrantType; |
|||
|
|||
public override string LoginProvider => AbpWeChatOfficialConsts.ProviderName; |
|||
|
|||
public override string AuthenticationMethod => AbpWeChatOfficialConsts.AuthenticationMethod; |
|||
|
|||
protected async override Task CheckFeatureAsync(ExtensionGrantContext context) |
|||
{ |
|||
var featureChecker = GetRequiredService<IFeatureChecker>(context); |
|||
|
|||
if (!await featureChecker.IsEnabledAsync(WeChatOfficialFeatures.EnableAuthorization)) |
|||
{ |
|||
var localizer = GetRequiredService<IStringLocalizer<AbpOpenIddictResource>>(context); |
|||
|
|||
throw new AbpException(localizer["OfficialAuthorizationDisabledMessage"]); |
|||
} |
|||
} |
|||
|
|||
protected async override Task<WeChatOpenId> FindOpenIdAsync(ExtensionGrantContext context, string code) |
|||
{ |
|||
var weChatOpenIdFinder = GetRequiredService<IWeChatOpenIdFinder>(context); |
|||
var optionsFactory = GetRequiredService<AbpWeChatOfficialOptionsFactory>(context); |
|||
|
|||
var options = await optionsFactory.CreateAsync(); |
|||
|
|||
return await weChatOpenIdFinder.FindAsync(code, options.AppId, options.AppSecret); |
|||
} |
|||
} |
|||
@ -1,11 +1,14 @@ |
|||
using System; |
|||
using Volo.Abp.Auditing; |
|||
|
|||
namespace LINGYUN.Abp.Saas.Editions; |
|||
|
|||
[Serializable] |
|||
public class EditionEto |
|||
public class EditionEto : IHasEntityVersion |
|||
{ |
|||
public Guid Id { get; set; } |
|||
|
|||
public string DisplayName { get; set; } |
|||
|
|||
public int EntityVersion { get; set; } |
|||
} |
|||
|
|||
@ -1,11 +1,14 @@ |
|||
using System; |
|||
using Volo.Abp.Auditing; |
|||
|
|||
namespace LINGYUN.Abp.Saas.Tenants; |
|||
|
|||
[Serializable] |
|||
public class TenantEto |
|||
public class TenantEto : IHasEntityVersion |
|||
{ |
|||
public Guid Id { get; set; } |
|||
|
|||
public string Name { get; set; } |
|||
|
|||
public int EntityVersion { get; set; } |
|||
} |
|||
|
|||
@ -0,0 +1,16 @@ |
|||
using System; |
|||
|
|||
namespace LINGYUN.Abp.TextTemplating; |
|||
|
|||
public class TextTemplateDefinitionEto |
|||
{ |
|||
public Guid Id { get; set; } |
|||
public string Name { get; set; } |
|||
public string DisplayName { get; set; } |
|||
public bool IsLayout { get; set; } |
|||
public string Layout { get; set; } |
|||
public bool IsInlineLocalized { get; set; } |
|||
public string DefaultCultureName { get; set; } |
|||
public string RenderEngine { get; set; } |
|||
public bool IsStatic { get; set; } |
|||
} |
|||
@ -0,0 +1,13 @@ |
|||
using System; |
|||
using Volo.Abp.MultiTenancy; |
|||
|
|||
namespace LINGYUN.Abp.TextTemplating; |
|||
|
|||
public class TextTemplateEto : IMultiTenant |
|||
{ |
|||
public Guid? TenantId { get; set; } |
|||
public string Name { get; set; } |
|||
public string DisplayName { get; set; } |
|||
public string Content { get; set; } |
|||
public string Culture { get; set; } |
|||
} |
|||
@ -0,0 +1,78 @@ |
|||
using Microsoft.Extensions.Caching.Distributed; |
|||
using Microsoft.Extensions.Options; |
|||
using System; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Caching; |
|||
using Volo.Abp.DependencyInjection; |
|||
using Volo.Abp.Domain.Entities.Events; |
|||
using Volo.Abp.Domain.Entities.Events.Distributed; |
|||
using Volo.Abp.EventBus; |
|||
using Volo.Abp.EventBus.Distributed; |
|||
using Volo.Abp.Threading; |
|||
using Volo.Abp.Timing; |
|||
|
|||
namespace LINGYUN.Abp.TextTemplating; |
|||
|
|||
public class TemplateDefinitionStoreCacheInvalidator : |
|||
ILocalEventHandler<EntityChangedEventData<TextTemplateDefinition>>, |
|||
IDistributedEventHandler<EntityCreatedEto<TextTemplateDefinitionEto>>, |
|||
IDistributedEventHandler<EntityUpdatedEto<TextTemplateDefinitionEto>>, |
|||
IDistributedEventHandler<EntityDeletedEto<TextTemplateDefinitionEto>>, |
|||
ITransientDependency |
|||
{ |
|||
private readonly ITemplateDefinitionStoreCache _storeCache; |
|||
|
|||
private readonly IClock _clock; |
|||
private readonly IDistributedCache _distributedCache; |
|||
private readonly AbpDistributedCacheOptions _cacheOptions; |
|||
|
|||
public TemplateDefinitionStoreCacheInvalidator( |
|||
IClock clock, |
|||
IDistributedCache distributedCache, |
|||
ITemplateDefinitionStoreCache storeCache, |
|||
IOptions<AbpDistributedCacheOptions> cacheOptions) |
|||
{ |
|||
_storeCache = storeCache; |
|||
_clock = clock; |
|||
_distributedCache = distributedCache; |
|||
_cacheOptions = cacheOptions.Value; |
|||
} |
|||
|
|||
public async virtual Task HandleEventAsync(EntityChangedEventData<TextTemplateDefinition> eventData) |
|||
{ |
|||
await RemoveStampInDistributedCacheAsync(); |
|||
} |
|||
|
|||
public async virtual Task HandleEventAsync(EntityCreatedEto<TextTemplateDefinitionEto> eventData) |
|||
{ |
|||
await RemoveStampInDistributedCacheAsync(); |
|||
} |
|||
|
|||
public async virtual Task HandleEventAsync(EntityUpdatedEto<TextTemplateDefinitionEto> eventData) |
|||
{ |
|||
await RemoveStampInDistributedCacheAsync(); |
|||
} |
|||
|
|||
public async virtual Task HandleEventAsync(EntityDeletedEto<TextTemplateDefinitionEto> eventData) |
|||
{ |
|||
await RemoveStampInDistributedCacheAsync(); |
|||
} |
|||
|
|||
protected async virtual Task RemoveStampInDistributedCacheAsync() |
|||
{ |
|||
using (await _storeCache.SyncSemaphore.LockAsync()) |
|||
{ |
|||
var cacheKey = GetCommonStampCacheKey(); |
|||
|
|||
await _distributedCache.RemoveAsync(cacheKey); |
|||
|
|||
_storeCache.CacheStamp = Guid.NewGuid().ToString(); |
|||
_storeCache.LastCheckTime = _clock.Now.AddMinutes(-5); |
|||
} |
|||
} |
|||
|
|||
protected virtual string GetCommonStampCacheKey() |
|||
{ |
|||
return $"{_cacheOptions.KeyPrefix}_AbpInMemoryTemplateDefinitionCacheStamp"; |
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
using AutoMapper; |
|||
|
|||
namespace LINGYUN.Abp.TextTemplating; |
|||
public class TextTemplateMapperProfile : Profile |
|||
{ |
|||
public TextTemplateMapperProfile() |
|||
{ |
|||
CreateMap<TextTemplate, TextTemplateEto>(); |
|||
CreateMap<TextTemplateDefinition, TextTemplateDefinitionEto>(); |
|||
} |
|||
} |
|||
@ -0,0 +1,16 @@ |
|||
using LINGYUN.Abp.WebhooksManagement.Definitions.Dto; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Volo.Abp.Validation; |
|||
|
|||
namespace LINGYUN.Abp.WebhooksManagement.Definitions; |
|||
|
|||
public class WebhookDefinitionCreateDto : WebhookDefinitionCreateOrUpdateDto |
|||
{ |
|||
[Required] |
|||
[DynamicStringLength(typeof(WebhookDefinitionRecordConsts), nameof(WebhookGroupDefinitionRecordConsts.MaxNameLength))] |
|||
public string GroupName { get; set; } |
|||
|
|||
[Required] |
|||
[DynamicStringLength(typeof(WebhookDefinitionRecordConsts), nameof(WebhookDefinitionRecordConsts.MaxNameLength))] |
|||
public string Name { get; set; } |
|||
} |
|||
@ -0,0 +1,22 @@ |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Volo.Abp.Data; |
|||
using Volo.Abp.Validation; |
|||
|
|||
namespace LINGYUN.Abp.WebhooksManagement.Definitions.Dto; |
|||
|
|||
public abstract class WebhookDefinitionCreateOrUpdateDto : IHasExtraProperties |
|||
{ |
|||
[Required] |
|||
[DynamicStringLength(typeof(WebhookDefinitionRecordConsts), nameof(WebhookDefinitionRecordConsts.MaxDisplayNameLength))] |
|||
public string DisplayName { get; set; } |
|||
|
|||
[DynamicStringLength(typeof(WebhookDefinitionRecordConsts), nameof(WebhookDefinitionRecordConsts.MaxDescriptionLength))] |
|||
public string Description { get; set; } |
|||
|
|||
public bool IsEnabled { get; set; } |
|||
|
|||
[DynamicStringLength(typeof(WebhookDefinitionRecordConsts), nameof(WebhookDefinitionRecordConsts.MaxRequiredFeaturesLength))] |
|||
public string RequiredFeatures { get; set; } |
|||
|
|||
public ExtraPropertyDictionary ExtraProperties { get; set; } = new ExtraPropertyDictionary(); |
|||
} |
|||
@ -0,0 +1,26 @@ |
|||
using Volo.Abp.Data; |
|||
|
|||
namespace LINGYUN.Abp.WebhooksManagement.Definitions.Dto; |
|||
|
|||
public class WebhookDefinitionDto : IHasExtraProperties |
|||
{ |
|||
public string GroupName { get; set; } |
|||
|
|||
public string Name { get; set; } |
|||
|
|||
public string DisplayName { get; set; } |
|||
|
|||
public string FormatedDisplayName { get; set; } |
|||
|
|||
public string Description { get; set; } |
|||
|
|||
public string FormatedDescription { get; set; } |
|||
|
|||
public bool IsEnabled { get; set; } |
|||
|
|||
public bool IsStatic { get; set; } |
|||
|
|||
public string RequiredFeatures { get; set; } |
|||
|
|||
public ExtraPropertyDictionary ExtraProperties { get; set; } = new ExtraPropertyDictionary(); |
|||
} |
|||
@ -0,0 +1,8 @@ |
|||
using Volo.Abp.Application.Dtos; |
|||
|
|||
namespace LINGYUN.Abp.WebhooksManagement.Definitions; |
|||
|
|||
public class WebhookDefinitionGetListInput : PagedAndSortedResultRequestDto |
|||
{ |
|||
public string Filter { get; set; } |
|||
} |
|||
@ -0,0 +1,10 @@ |
|||
using LINGYUN.Abp.WebhooksManagement.Definitions.Dto; |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Volo.Abp.Domain.Entities; |
|||
|
|||
namespace LINGYUN.Abp.WebhooksManagement.Definitions; |
|||
public class WebhookDefinitionUpdateDto : WebhookDefinitionCreateOrUpdateDto, IHasConcurrencyStamp |
|||
{ |
|||
[StringLength(40)] |
|||
public string ConcurrencyStamp { get; set; } |
|||
} |
|||
@ -0,0 +1,10 @@ |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Volo.Abp.Validation; |
|||
|
|||
namespace LINGYUN.Abp.WebhooksManagement.Definitions; |
|||
public class WebhookGroupDefinitionCreateDto : WebhookGroupDefinitionCreateOrUpdateDto |
|||
{ |
|||
[Required] |
|||
[DynamicStringLength(typeof(WebhookGroupDefinitionRecordConsts), nameof(WebhookGroupDefinitionRecordConsts.MaxNameLength))] |
|||
public string Name { get; set; } |
|||
} |
|||
@ -0,0 +1,13 @@ |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Volo.Abp.Data; |
|||
using Volo.Abp.Validation; |
|||
|
|||
namespace LINGYUN.Abp.WebhooksManagement.Definitions; |
|||
public abstract class WebhookGroupDefinitionCreateOrUpdateDto : IHasExtraProperties |
|||
{ |
|||
[Required] |
|||
[DynamicStringLength(typeof(WebhookGroupDefinitionRecordConsts), nameof(WebhookGroupDefinitionRecordConsts.MaxDisplayNameLength))] |
|||
public string DisplayName { get; set; } |
|||
|
|||
public ExtraPropertyDictionary ExtraProperties { get; set; } = new ExtraPropertyDictionary(); |
|||
} |
|||
@ -0,0 +1,16 @@ |
|||
using Volo.Abp.Data; |
|||
|
|||
namespace LINGYUN.Abp.WebhooksManagement.Definitions; |
|||
|
|||
public class WebhookGroupDefinitionDto : IHasExtraProperties |
|||
{ |
|||
public string Name { get; set; } |
|||
|
|||
public string DisplayName { get; set; } |
|||
|
|||
public string FormatedDisplayName { get; set; } |
|||
|
|||
public bool IsStatic { get; set; } |
|||
|
|||
public ExtraPropertyDictionary ExtraProperties { get; set; } = new ExtraPropertyDictionary(); |
|||
} |
|||
@ -0,0 +1,8 @@ |
|||
using Volo.Abp.Application.Dtos; |
|||
|
|||
namespace LINGYUN.Abp.WebhooksManagement.Definitions; |
|||
|
|||
public class WebhookGroupDefinitionGetListInput : PagedAndSortedResultRequestDto |
|||
{ |
|||
public string Filter { get; set; } |
|||
} |
|||
@ -0,0 +1,10 @@ |
|||
using System.ComponentModel.DataAnnotations; |
|||
using Volo.Abp.Domain.Entities; |
|||
|
|||
namespace LINGYUN.Abp.WebhooksManagement.Definitions; |
|||
|
|||
public class WebhookGroupDefinitionUpdateDto : WebhookGroupDefinitionCreateOrUpdateDto, IHasConcurrencyStamp |
|||
{ |
|||
[StringLength(40)] |
|||
public string ConcurrencyStamp { get; set; } |
|||
} |
|||
@ -0,0 +1,19 @@ |
|||
using LINGYUN.Abp.WebhooksManagement.Definitions.Dto; |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Application.Dtos; |
|||
using Volo.Abp.Application.Services; |
|||
|
|||
namespace LINGYUN.Abp.WebhooksManagement.Definitions; |
|||
|
|||
public interface IWebhookDefinitionAppService : IApplicationService |
|||
{ |
|||
Task<WebhookDefinitionDto> GetAsync(string name); |
|||
|
|||
Task DeleteAsync(string name); |
|||
|
|||
Task<WebhookDefinitionDto> CreateAsync(WebhookDefinitionCreateDto input); |
|||
|
|||
Task<WebhookDefinitionDto> UpdateAsync(string name, WebhookDefinitionUpdateDto input); |
|||
|
|||
Task<PagedResultDto<WebhookDefinitionDto>> GetListAsync(WebhookDefinitionGetListInput input); |
|||
} |
|||
@ -0,0 +1,18 @@ |
|||
using System.Threading.Tasks; |
|||
using Volo.Abp.Application.Dtos; |
|||
using Volo.Abp.Application.Services; |
|||
|
|||
namespace LINGYUN.Abp.WebhooksManagement.Definitions; |
|||
|
|||
public interface IWebhookGroupDefinitionAppService : IApplicationService |
|||
{ |
|||
Task<WebhookGroupDefinitionDto> GetAsync(string name); |
|||
|
|||
Task DeleteAysnc(string name); |
|||
|
|||
Task<WebhookGroupDefinitionDto> CreateAsync(WebhookGroupDefinitionCreateDto input); |
|||
|
|||
Task<WebhookGroupDefinitionDto> UpdateAsync(string name, WebhookGroupDefinitionUpdateDto input); |
|||
|
|||
Task<PagedResultDto<WebhookGroupDefinitionDto>> GetListAsync(WebhookGroupDefinitionGetListInput input); |
|||
} |
|||
@ -0,0 +1,8 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
|
|||
namespace LINGYUN.Abp.WebhooksManagement; |
|||
public class WebhookSendRecordDeleteManyInput |
|||
{ |
|||
public List<Guid> RecordIds { get; set; } = new List<Guid>(); |
|||
} |
|||
@ -0,0 +1,8 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
|
|||
namespace LINGYUN.Abp.WebhooksManagement; |
|||
public class WebhookSendRecordResendManyInput |
|||
{ |
|||
public List<Guid> RecordIds { get; set; } = new List<Guid>(); |
|||
} |
|||
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue