generate over all directories works

This commit is contained in:
2021-08-02 17:03:24 +02:00
parent 4f8b3ce8f3
commit 5568e473f9
6 changed files with 1346 additions and 0 deletions

364
api/methods.py Normal file
View File

@ -0,0 +1,364 @@
from db import dbGetMany, dbGetOne
def get_accounts(user, token_info):
return dbGetMany(user, token_info, {
"statement": """
SELECT
id
,description
FROM account_t
""",
"params": ()
}
)
def get_account(user, token_info, accountId=None):
return dbGetOne(user, token_info, {
"statement": """
SELECT
id
,description
FROM account_t
WHERE id = %s
""",
"params": (accountId, )
}
)
def get_tenants(user, token_info):
return dbGetMany(user, token_info, {
"statement": """
SELECT
id
,salutation
,firstname
,lastname
,address1
,address2
,address3
,zip
,city
,phone1
,phone2
,iban
,account
FROM tenant_t
""",
"params": ()
}
)
def get_tenant(user, token_info, tenantId=None):
return dbGetOne(user, token_info, {
"statement": """
SELECT
id
,salutation
,firstname
,lastname
,address1
,address2
,address3
,zip
,city
,phone1
,phone2
,iban
,account
FROM tenant_t
WHERE id = %s
""",
"params": (tenantId, )
}
)
def get_premises(user, token_info):
return dbGetMany(user, token_info, {
"statement": """
SELECT
id
,description
,street
,zip
,city
FROM premise_t
""",
"params": ()
}
)
def get_premise(user, token_info, premiseId=None):
return dbGetOne(user, token_info, {
"statement": """
SELECT
id
,description
,street
,zip
,city
FROM premise_t
WHERE id = %s
""",
"params": (premiseId, )
}
)
def get_flats(user, token_info):
return dbGetMany(user, token_info, {
"statement": """
SELECT
id
,description
,premise
,area
,flat_no
FROM flat_t
""",
"params": ()
}
)
def get_flat(user, token_info, flatId=None):
return dbGetOne(user, token_info, {
"statement": """
SELECT
id
,description
,premise
,area
,flat_no
FROM flat_t
WHERE id = %s
""",
"params": (flatId, )
}
)
def get_overhead_advances(user, token_info):
return dbGetMany(user, token_info, {
"statement": """
SELECT
id
,description
,amount
,startdate
,enddate
FROM overhead_advance_t
""",
"params": ()
}
)
def get_overhead_advance(user, token_info, overhead_advanceId=None):
return dbGetOne(user, token_info, {
"statement": """
SELECT
id
,description
,amount
,startdate
,enddate
FROM overhead_advance_t
WHERE id = %s
""",
"params": (overhead_advanceId, )
}
)
def get_overhead_advance_flat_mappings(user, token_info):
return dbGetMany(user, token_info, {
"statement": """
SELECT
id
,overhead_advance
,flat
FROM overhead_advance_flat_mapping_t
""",
"params": ()
}
)
def get_overhead_advance_flat_mapping(user, token_info, overhead_advance_flat_mappingId=None):
return dbGetOne(user, token_info, {
"statement": """
SELECT
id
,overhead_advance
,flat
FROM overhead_advance_flat_mapping_t
WHERE id = %s
""",
"params": (overhead_advance_flat_mappingId, )
}
)
def get_parkings(user, token_info):
return dbGetMany(user, token_info, {
"statement": """
SELECT
id
,description
,premise
FROM parking_t
""",
"params": ()
}
)
def get_parking(user, token_info, parkingId=None):
return dbGetOne(user, token_info, {
"statement": """
SELECT
id
,description
,premise
FROM parking_t
WHERE id = %s
""",
"params": (parkingId, )
}
)
def get_commercial_premises(user, token_info):
return dbGetMany(user, token_info, {
"statement": """
SELECT
id
,description
,premise
FROM commercial_premise_t
""",
"params": ()
}
)
def get_commercial_premise(user, token_info, commercial_premiseId=None):
return dbGetOne(user, token_info, {
"statement": """
SELECT
id
,description
,premise
FROM commercial_premise_t
WHERE id = %s
""",
"params": (commercial_premiseId, )
}
)
def get_tenancys(user, token_info):
return dbGetMany(user, token_info, {
"statement": """
SELECT
id
,description
,tenant
,flat
,parking
,commercial_premise
,startdate
,enddate
FROM tenancy_t
""",
"params": ()
}
)
def get_tenancy(user, token_info, tenancyId=None):
return dbGetOne(user, token_info, {
"statement": """
SELECT
id
,description
,tenant
,flat
,parking
,commercial_premise
,startdate
,enddate
FROM tenancy_t
WHERE id = %s
""",
"params": (tenancyId, )
}
)
def get_fees(user, token_info):
return dbGetMany(user, token_info, {
"statement": """
SELECT
id
,description
,amount
,fee_type
,startdate
,enddate
FROM fee_t
""",
"params": ()
}
)
def get_fee(user, token_info, feeId=None):
return dbGetOne(user, token_info, {
"statement": """
SELECT
id
,description
,amount
,fee_type
,startdate
,enddate
FROM fee_t
WHERE id = %s
""",
"params": (feeId, )
}
)
def get_tenancy_fee_mappings(user, token_info):
return dbGetMany(user, token_info, {
"statement": """
SELECT
id
,tenancy
,fee
FROM tenancy_fee_mapping_t
""",
"params": ()
}
)
def get_tenancy_fee_mapping(user, token_info, tenancy_fee_mappingId=None):
return dbGetOne(user, token_info, {
"statement": """
SELECT
id
,tenancy
,fee
FROM tenancy_fee_mapping_t
WHERE id = %s
""",
"params": (tenancy_fee_mappingId, )
}
)
def get_account_entrys(user, token_info):
return dbGetMany(user, token_info, {
"statement": """
SELECT
id
,description
,account
,created_at
,amount
FROM account_entry_t
""",
"params": ()
}
)
def get_account_entry(user, token_info, account_entryId=None):
return dbGetOne(user, token_info, {
"statement": """
SELECT
id
,description
,account
,created_at
,amount
FROM account_entry_t
WHERE id = %s
""",
"params": (account_entryId, )
}
)

649
api/openapi.yaml Normal file
View File

@ -0,0 +1,649 @@
openapi: 3.0.0
info:
title: hv2-api
version: "1"
description: "REST-API for the Nober Grundbesitz GbR Hausverwaltungs-Software"
termsOfService: "https://home.hottis.de/dokuwiki/doku.php?id=hv2pub:termsofuse"
contact:
name: "Wolfgang Hottgenroth"
email: "wolfgang.hottgenroth@icloud.com"
externalDocs:
description: "Find more details here"
url: "https://home.hottis.de/dokuwiki/doku.php?id=hv2pub:externaldocs"
paths:
/v1/accounts:
get:
tags: [ "account" ]
summary: Return all normalized accounts
operationId: methods.get_accounts
responses:
'200':
description: accounts response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/account'
security:
- jwt: ['secret']
/v1/accounts/{accountId}:
get:
tags: [ "account" ]
summary: Return the normalized account with given id
operationId: methods.get_account
parameters:
- name: accountId
in: path
required: true
schema:
type: integer
responses:
'200':
description: account response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/account'
security:
- jwt: ['secret']
/v1/tenants:
get:
tags: [ "tenant" ]
summary: Return all normalized tenants
operationId: methods.get_tenants
responses:
'200':
description: tenants response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/tenant'
security:
- jwt: ['secret']
/v1/tenants/{tenantId}:
get:
tags: [ "tenant" ]
summary: Return the normalized tenant with given id
operationId: methods.get_tenant
parameters:
- name: tenantId
in: path
required: true
schema:
type: integer
responses:
'200':
description: tenant response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/tenant'
security:
- jwt: ['secret']
/v1/premises:
get:
tags: [ "premise" ]
summary: Return all normalized premises
operationId: methods.get_premises
responses:
'200':
description: premises response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/premise'
security:
- jwt: ['secret']
/v1/premises/{premiseId}:
get:
tags: [ "premise" ]
summary: Return the normalized premise with given id
operationId: methods.get_premise
parameters:
- name: premiseId
in: path
required: true
schema:
type: integer
responses:
'200':
description: premise response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/premise'
security:
- jwt: ['secret']
/v1/flats:
get:
tags: [ "flat" ]
summary: Return all normalized flats
operationId: methods.get_flats
responses:
'200':
description: flats response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/flat'
security:
- jwt: ['secret']
/v1/flats/{flatId}:
get:
tags: [ "flat" ]
summary: Return the normalized flat with given id
operationId: methods.get_flat
parameters:
- name: flatId
in: path
required: true
schema:
type: integer
responses:
'200':
description: flat response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/flat'
security:
- jwt: ['secret']
/v1/overhead_advances:
get:
tags: [ "overhead_advance" ]
summary: Return all normalized overhead_advances
operationId: methods.get_overhead_advances
responses:
'200':
description: overhead_advances response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/overhead_advance'
security:
- jwt: ['secret']
/v1/overhead_advances/{overhead_advanceId}:
get:
tags: [ "overhead_advance" ]
summary: Return the normalized overhead_advance with given id
operationId: methods.get_overhead_advance
parameters:
- name: overhead_advanceId
in: path
required: true
schema:
type: integer
responses:
'200':
description: overhead_advance response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/overhead_advance'
security:
- jwt: ['secret']
/v1/overhead_advance_flat_mappings:
get:
tags: [ "overhead_advance_flat_mapping" ]
summary: Return all normalized overhead_advance_flat_mappings
operationId: methods.get_overhead_advance_flat_mappings
responses:
'200':
description: overhead_advance_flat_mappings response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/overhead_advance_flat_mapping'
security:
- jwt: ['secret']
/v1/overhead_advance_flat_mappings/{overhead_advance_flat_mappingId}:
get:
tags: [ "overhead_advance_flat_mapping" ]
summary: Return the normalized overhead_advance_flat_mapping with given id
operationId: methods.get_overhead_advance_flat_mapping
parameters:
- name: overhead_advance_flat_mappingId
in: path
required: true
schema:
type: integer
responses:
'200':
description: overhead_advance_flat_mapping response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/overhead_advance_flat_mapping'
security:
- jwt: ['secret']
/v1/parkings:
get:
tags: [ "parking" ]
summary: Return all normalized parkings
operationId: methods.get_parkings
responses:
'200':
description: parkings response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/parking'
security:
- jwt: ['secret']
/v1/parkings/{parkingId}:
get:
tags: [ "parking" ]
summary: Return the normalized parking with given id
operationId: methods.get_parking
parameters:
- name: parkingId
in: path
required: true
schema:
type: integer
responses:
'200':
description: parking response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/parking'
security:
- jwt: ['secret']
/v1/commercial_premises:
get:
tags: [ "commercial_premise" ]
summary: Return all normalized commercial_premises
operationId: methods.get_commercial_premises
responses:
'200':
description: commercial_premises response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/commercial_premise'
security:
- jwt: ['secret']
/v1/commercial_premises/{commercial_premiseId}:
get:
tags: [ "commercial_premise" ]
summary: Return the normalized commercial_premise with given id
operationId: methods.get_commercial_premise
parameters:
- name: commercial_premiseId
in: path
required: true
schema:
type: integer
responses:
'200':
description: commercial_premise response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/commercial_premise'
security:
- jwt: ['secret']
/v1/tenancys:
get:
tags: [ "tenancy" ]
summary: Return all normalized tenancys
operationId: methods.get_tenancys
responses:
'200':
description: tenancys response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/tenancy'
security:
- jwt: ['secret']
/v1/tenancys/{tenancyId}:
get:
tags: [ "tenancy" ]
summary: Return the normalized tenancy with given id
operationId: methods.get_tenancy
parameters:
- name: tenancyId
in: path
required: true
schema:
type: integer
responses:
'200':
description: tenancy response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/tenancy'
security:
- jwt: ['secret']
/v1/fees:
get:
tags: [ "fee" ]
summary: Return all normalized fees
operationId: methods.get_fees
responses:
'200':
description: fees response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/fee'
security:
- jwt: ['secret']
/v1/fees/{feeId}:
get:
tags: [ "fee" ]
summary: Return the normalized fee with given id
operationId: methods.get_fee
parameters:
- name: feeId
in: path
required: true
schema:
type: integer
responses:
'200':
description: fee response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/fee'
security:
- jwt: ['secret']
/v1/tenancy_fee_mappings:
get:
tags: [ "tenancy_fee_mapping" ]
summary: Return all normalized tenancy_fee_mappings
operationId: methods.get_tenancy_fee_mappings
responses:
'200':
description: tenancy_fee_mappings response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/tenancy_fee_mapping'
security:
- jwt: ['secret']
/v1/tenancy_fee_mappings/{tenancy_fee_mappingId}:
get:
tags: [ "tenancy_fee_mapping" ]
summary: Return the normalized tenancy_fee_mapping with given id
operationId: methods.get_tenancy_fee_mapping
parameters:
- name: tenancy_fee_mappingId
in: path
required: true
schema:
type: integer
responses:
'200':
description: tenancy_fee_mapping response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/tenancy_fee_mapping'
security:
- jwt: ['secret']
/v1/account_entrys:
get:
tags: [ "account_entry" ]
summary: Return all normalized account_entrys
operationId: methods.get_account_entrys
responses:
'200':
description: account_entrys response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/account_entry'
security:
- jwt: ['secret']
/v1/account_entrys/{account_entryId}:
get:
tags: [ "account_entry" ]
summary: Return the normalized account_entry with given id
operationId: methods.get_account_entry
parameters:
- name: account_entryId
in: path
required: true
schema:
type: integer
responses:
'200':
description: account_entry response
content:
'application/json':
schema:
type: array
items:
$ref: '#/components/schemas/account_entry'
security:
- jwt: ['secret']
components:
securitySchemes:
jwt:
type: http
scheme: bearer
bearerFormat: JWT
x-bearerInfoFunc: auth.decodeToken
schemas:
account:
description: account
type: object
properties:
id:
type: integer
description:
type: string
tenant:
description: tenant
type: object
properties:
id:
type: integer
salutation:
type: string
firstname:
type: string
lastname:
type: string
address1:
type: string
address2:
type: string
address3:
type: string
zip:
type: string
city:
type: string
phone1:
type: string
phone2:
type: string
iban:
type: string
account:
type: integer
premise:
description: premise
type: object
properties:
id:
type: integer
description:
type: string
street:
type: string
zip:
type: string
city:
type: string
flat:
description: flat
type: object
properties:
id:
type: integer
description:
type: string
premise:
type: integer
area:
type: number
flat_no:
type: integer
overhead_advance:
description: overhead_advance
type: object
properties:
id:
type: integer
description:
type: string
amount:
type: number
startdate:
type: string
enddate:
type: string
overhead_advance_flat_mapping:
description: overhead_advance_flat_mapping
type: object
properties:
id:
type: integer
overhead_advance:
type: integer
flat:
type: integer
parking:
description: parking
type: object
properties:
id:
type: integer
description:
type: string
premise:
type: integer
commercial_premise:
description: commercial_premise
type: object
properties:
id:
type: integer
description:
type: string
premise:
type: integer
tenancy:
description: tenancy
type: object
properties:
id:
type: integer
description:
type: string
tenant:
type: integer
flat:
type: integer
parking:
type: integer
commercial_premise:
type: integer
startdate:
type: string
enddate:
type: string
fee:
description: fee
type: object
properties:
id:
type: integer
description:
type: string
amount:
type: number
fee_type:
type: string
startdate:
type: string
enddate:
type: string
tenancy_fee_mapping:
description: tenancy_fee_mapping
type: object
properties:
id:
type: integer
tenancy:
type: integer
fee:
type: integer
account_entry:
description: account_entry
type: object
properties:
id:
type: integer
description:
type: string
account:
type: integer
created_at:
type: string
amount:
type: number