from ...controller import Controller from ...register import register sql_init = """ -- Création de la table ServerModel CREATE TABLE ServerModel ( ServerModelId SERIAL PRIMARY KEY, ServerModelName VARCHAR(255) NOT NULL, ServerModelDescription VARCHAR(255) NOT NULL, ServerModelSourceId INTEGER NOT NULL, ServerModelParentId INTEGER, ServerModelSubReleaseId INTEGER NOT NULL, ServerModelSubReleaseName VARCHAR(255) NOT NULL, UNIQUE (ServerModelName, ServerModelSubReleaseId) ); """ class Risotto(Controller): @register('v1.servermodel.init', None, database=True) async def servermodel_init(self, risotto_context): result = await risotto_context.connection.execute(sql_init) return {'retcode': 0, 'return': result} @register('v1.servermodel.list', None, database=True) async def servermodel_list(self, risotto_context, sourceid): sql = ''' SELECT * FROM ServerModel ''' servermodels = await risotto_context.connection.fetch(sql) return [dict(r) for r in servermodels] @register('v1.servermodel.describe', None) async def servermodel_describe(self, inheritance, creolefuncs, servermodelid, schema, conffiles, resolvdepends, probes): schema = """ False /etc/mailname False mailname True basic normal oui non mandatory normal non normal normal normal """ return {'servermodelid': 1, 'servermodelname': 'name', 'servermodeldescription': 'description', 'subreleasename': 'name', 'sourceid': 1, 'schema': schema, 'creolefuncs': ''}