FINERACT-1694: Avro schemas project + code generation + some initial Avro Schemas

This commit is contained in:
Arnold Galovics
2022-08-30 14:39:12 +02:00
committed by Aleksandar Vidakovic
parent 4808bb3489
commit 264022be4d
24 changed files with 1227 additions and 3 deletions
+4 -1
View File
@@ -33,11 +33,13 @@ buildscript {
'fineract-client',
'core',
'service',
'starter'
'starter',
'fineract-avro-schemas'
].contains(it.name)
}
fineractPublishProjects = subprojects.findAll{
[
'fineract-avro-schemas',
'fineract-client'
].contains(it.name)
}
@@ -80,6 +82,7 @@ plugins {
id 'com.github.andygoossens.modernizer' version '1.6.2' apply false
id 'com.github.spotbugs' version '5.0.10' apply false
id 'se.thinkcode.cucumber-runner' version '0.0.11' apply false
id "com.github.davidmc24.gradle.plugin.avro-base" version "1.3.0" apply false
}
apply from: "${rootDir}/buildSrc/src/main/groovy/org.apache.fineract.release.gradle"
@@ -185,5 +185,7 @@ dependencyManagement {
dependency 'org.mapstruct:mapstruct:1.5.2.Final'
dependency 'org.mapstruct:mapstruct-processor:1.5.2.Final'
dependency "org.apache.avro:avro:1.11.0"
}
}
+59
View File
@@ -0,0 +1,59 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import com.github.davidmc24.gradle.plugin.avro.GenerateAvroJavaTask
description = 'Fineract Avro Schemas'
apply plugin: 'com.github.davidmc24.gradle.plugin.avro-base'
apply from: 'dependencies.gradle'
// TODO: @vidakovic we should publish this lib to Maven Central; do in separate PR
task buildJavaSdk(type: GenerateAvroJavaTask) {
source("$projectDir/src/main/avro")
outputDir = file("$buildDir/generated/java/src/main/java")
}
compileJava.dependsOn(buildJavaSdk, licenseFormatMain, spotlessMiscApply)
java {
// keep this at Java 8, not 17
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
tasks.withType(JavaCompile) {
options.compilerArgs -= ["-Werror"]
}
configurations {
generatedCompileClasspath.extendsFrom implementation
generatedRuntimeClasspath.extendsFrom runtimeClasspath
}
test {
useJUnitPlatform()
}
sourceSets.main.java.srcDir new File(buildDir, "generated/java/src/main/java")
licenseFormatMain.dependsOn buildJavaSdk
licenseMain.dependsOn buildJavaSdk
+21
View File
@@ -0,0 +1,21 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
dependencies {
implementation('org.apache.avro:avro')
}
@@ -0,0 +1,71 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
{
"name": "MessageV1",
"namespace": "org.apache.fineract.avro",
"type": "record",
"fields": [
{
"name": "id",
"type": "int",
"doc": "The ID of the message to be sent"
},
{
"name": "source",
"type": "string",
"doc": "A unique identifier of the source service"
},
{
"name": "type",
"type": "string",
"doc": "The type of event the payload refers to. For example LOAN_APPROVED"
},
{
"name": "version",
"type": "string",
"doc": "The version of the type of event. For example 1, 2, 3, etc"
},
{
"name": "category",
"type": "string",
"doc": "The category of event the payload refers to. For example LOAN"
},
{
"name": "createdAt",
"type": "string",
"doc": "The UTC time of when the event has been raised; in ISO_LOCAL_DATE_TIME format. For example 2011-12-03T10:15:30"
},
{
"name": "tenantId",
"type": "string",
"doc": "The tenantId that the event has been sent from. For example default"
},
{
"name": "idempotencyKey",
"type": "string",
"doc": "The idempotency key for this particular event for consumer de-duplication"
},
{
"name": "payload",
"type": "bytes",
"doc": "The payload serialized into Avro bytes"
}
]
}
@@ -0,0 +1,82 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
{
"name": "ClientEventV1",
"namespace": "org.apache.fineract.avro.client.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "accountNo",
"type": [
"null",
"string"
]
},
{
"name": "status",
"type": [
"null",
"org.apache.fineract.avro.client.v1.ClientEventV1Status"
]
},
{
"name": "active",
"type": [
"null",
"boolean"
]
},
{
"name": "fullName",
"type": [
"null",
"string"
]
},
{
"name": "displayName",
"type": [
"null",
"string"
]
},
{
"name": "officeId",
"type": [
"null",
"int"
]
},
{
"name": "officeName",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,47 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
{
"name": "ClientEventV1Status",
"namespace": "org.apache.fineract.avro.client.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,208 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
{
"name": "FixedDepositAccountEventV1",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "accountNo",
"type": [
"null",
"string"
]
},
{
"name": "clientId",
"type": [
"null",
"int"
]
},
{
"name": "clientName",
"type": [
"null",
"string"
]
},
{
"name": "savingsProductId",
"type": [
"null",
"int"
]
},
{
"name": "savingsProductName",
"type": [
"null",
"string"
]
},
{
"name": "fieldOfficerId",
"type": [
"null",
"int"
]
},
{
"name": "status",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Status"
]
},
{
"name": "timeline",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Timeline"
]
},
{
"name": "currency",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Currency"
]
},
{
"name": "interestCompoundingPeriodType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1InterestCompoundingPeriodType"
]
},
{
"name": "interestPostingPeriodType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1InterestPostingPeriodType"
]
},
{
"name": "interestCalculationType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1InterestCalculationType"
]
},
{
"name": "interestCalculationDaysInYearType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1InterestCalculationDaysInYearType"
]
},
{
"name": "summary",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Summary"
]
},
{
"name": "interestFreePeriodApplicable",
"type": [
"null",
"boolean"
]
},
{
"name": "preClosurePenalApplicable",
"type": [
"null",
"boolean"
]
},
{
"name": "minDepositTerm",
"type": [
"null",
"int"
]
},
{
"name": "maxDepositTerm",
"type": [
"null",
"int"
]
},
{
"name": "minDepositTermType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1MinDepositTermType"
]
},
{
"name": "maxDepositTermType",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1MaxDepositTermType"
]
},
{
"name": "depositAmount",
"type": [
"null",
"float"
]
},
{
"name": "maturityAmount",
"type": [
"null",
"float"
]
},
{
"name": "maturityDate",
"type": [
"null",
"string"
]
},
{
"name": "depositPeriod",
"type": [
"null",
"int"
]
},
{
"name": "depositPeriodFrequency",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1DepositPeriodFrequency"
]
}
]
}
@@ -0,0 +1,75 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
{
"name": "FixedDepositAccountEventV1Currency",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "name",
"type": [
"null",
"string"
]
},
{
"name": "decimalPlaces",
"type": [
"null",
"int"
]
},
{
"name": "inMultiplesOf",
"type": [
"null",
"int"
]
},
{
"name": "displaySymbol",
"type": [
"null",
"string"
]
},
{
"name": "nameCode",
"type": [
"null",
"string"
]
},
{
"name": "displayLabel",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,47 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
{
"name": "FixedDepositAccountEventV1DepositPeriodFrequency",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,41 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
{
"name": "FixedDepositAccountEventV1InterestCalculationDaysInYearType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "accountBalance",
"type": [
"null",
"float"
]
},
{
"name": "currency",
"type": [
"null",
"org.apache.fineract.avro.fixeddeposit.v1.FixedDepositAccountEventV1Currency"
]
}
]
}
}
@@ -0,0 +1,47 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
{
"name": "FixedDepositAccountEventV1InterestCalculationType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,47 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
{
"name": "FixedDepositAccountEventV1InterestCompoundingPeriodType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,47 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
{
"name": "FixedDepositAccountEventV1InterestPostingPeriodType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,47 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
{
"name": "FixedDepositAccountEventV1MaxDepositTermType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,47 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
{
"name": "FixedDepositAccountEventV1MinDepositTermType",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,110 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
{
"name": "FixedDepositAccountEventV1Status",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
},
{
"name": "submittedAndPendingApproval",
"type": [
"null",
"boolean"
]
},
{
"name": "approved",
"type": [
"null",
"boolean"
]
},
{
"name": "rejected",
"type": [
"null",
"boolean"
]
},
{
"name": "withdrawnByApplicant",
"type": [
"null",
"boolean"
]
},
{
"name": "active",
"type": [
"null",
"boolean"
]
},
{
"name": "closed",
"type": [
"null",
"boolean"
]
},
{
"name": "prematureClosed",
"type": [
"null",
"boolean"
]
},
{
"name": "transferInProgress",
"type": [
"null",
"boolean"
]
},
{
"name": "transferOnHold",
"type": [
"null",
"boolean"
]
}
]
}
@@ -0,0 +1,47 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
{
"name": "FixedDepositAccountEventV1Summary",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "id",
"type": [
"null",
"int"
]
},
{
"name": "code",
"type": [
"null",
"string"
]
},
{
"name": "description",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,54 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
{
"name": "FixedDepositAccountEventV1Timeline",
"namespace": "org.apache.fineract.avro.fixeddeposit.v1",
"type": "record",
"fields": [
{
"name": "submittedOnDate",
"type": [
"null",
"string"
]
},
{
"name": "submittedByUsername",
"type": [
"null",
"string"
]
},
{
"name": "submittedByFirstname",
"type": [
"null",
"string"
]
},
{
"name": "submittedByLastname",
"type": [
"null",
"string"
]
}
]
}
@@ -0,0 +1,117 @@
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
{
"name": "CommandProcessingResultEventV1",
"namespace": "org.apache.fineract.avro.generic.v1",
"type": "record",
"fields": [
{
"name": "commandId",
"type": [
"null",
"long"
]
},
{
"name": "officeId",
"type": [
"null",
"long"
]
},
{
"name": "groupId",
"type": [
"null",
"long"
]
},
{
"name": "clientId",
"type": [
"null",
"long"
]
},
{
"name": "loanId",
"type": [
"null",
"long"
]
},
{
"name": "savingsId",
"type": [
"null",
"long"
]
},
{
"name": "resourceId",
"type": [
"null",
"long"
]
},
{
"name": "subResourceId",
"type": [
"null",
"long"
]
},
{
"name": "transactionId",
"type": [
"null",
"long"
]
},
{
"name": "resourceIdentifier",
"type": [
"null",
"string"
]
},
{
"name": "productId",
"type": [
"null",
"long"
]
},
{
"name": "gsimId",
"type": [
"null",
"long"
]
},
{
"name": "glimId",
"type": [
"null",
"long"
]
}
]
}
+1 -1
View File
@@ -324,5 +324,5 @@ checkstyleMain.dependsOn resolve
checkstyleTest.dependsOn resolve
rat.dependsOn prepareInputYaml
spotbugsTest.dependsOn resolve
compileTestJava.dependsOn ':fineract-client:processResources'
compileTestJava.dependsOn ':fineract-client:processResources', ':fineract-avro-schemas:processResources'
bootJarMainClassName.dependsOn resolve
+4 -1
View File
@@ -63,6 +63,9 @@ distributions {
from ("$rootDir/fineract-client/build/libs/") {
include 'fineract-client-*.jar'
}
from ("$rootDir/fineract-avro-schemas/build/libs/") {
include 'fineract-avro-schemas-*.jar'
}
from ("$rootDir/fineract-provider/build/libs/") {
include 'fineract-provider-*.jar'
exclude 'fineract-provider-*-plain.jar'
@@ -101,4 +104,4 @@ distributions {
binaryDistZip.enabled false
srcDistZip.enabled false
// NOTE: Gradle suggested these dependencies
binaryDistTar.dependsOn(war, ':fineract-client:jar', ':fineract-provider:build', ':fineract-doc:doc')
binaryDistTar.dependsOn(war, ':fineract-client:jar', ':fineract-avro-schemas:jar', ':fineract-provider:build', ':fineract-doc:doc')
+1
View File
@@ -23,6 +23,7 @@ dependencies {
tomcat 'org.apache.tomcat:tomcat:9.0.65@zip'
testImplementation( files("$rootDir/fineract-provider/build/classes/java/main/"),
project(path: ':fineract-provider', configuration: 'runtimeElements'),
project(path: ':fineract-avro-schemas', configuration: 'runtimeElements'),
project(path: ':fineract-client', configuration: 'runtimeElements'),
'io.cucumber:cucumber-spring',
'com.intuit.karate:karate-junit5',
+1
View File
@@ -28,3 +28,4 @@ include ':twofactor-tests'
include ':oauth2-tests'
include ':fineract-client'
include ':fineract-doc'
include ':fineract-avro-schemas'