diff --git a/Makefile b/Makefile index 1f1348903fb3fcc287924ee8a1075547801c783e..51fcef1ec60ce38d1e38b73f91077fb68fe60a28 100644 --- a/Makefile +++ b/Makefile @@ -12,9 +12,12 @@ install-deps: release: install-deps +verify: + sudo nginx -t + build: mkdocs build - sudo cp -r ./site/* /usr/share/nginx/html + sudo cp -r ./site/* /usr/share/nginx/html/dbrepo-docs.ossdip.at/ -install: install-deps build - sudo certbot --nginx --preferred-challenges http -d dbrepo-docs.ossdip.at --agree-tos --keep-until-expiring +install: build + sudo certbot certonly --standalone --preferred-challenges http -d dbrepo-docs.ossdip.at --agree-tos --keep-until-expiring diff --git a/nginx/nginx.conf b/nginx/nginx.conf new file mode 100644 index 0000000000000000000000000000000000000000..e687f531c6d499cf134ded6b62a4e1002e906b4d --- /dev/null +++ b/nginx/nginx.conf @@ -0,0 +1,72 @@ +# For more information on configuration, see: +# * Official English Documentation: http://nginx.org/en/docs/ +# * Official Russian Documentation: http://nginx.org/ru/docs/ + +user nginx; +worker_processes auto; +error_log /var/log/nginx/error.log; +pid /run/nginx.pid; + +# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. +include /usr/share/nginx/modules/*.conf; + +events { + worker_connections 1024; +} + +http { + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + access_log /var/log/nginx/access.log main; + + sendfile on; + tcp_nopush on; + tcp_nodelay on; + keepalive_timeout 65; + types_hash_max_size 2048; + + include /etc/nginx/mime.types; + default_type application/octet-stream; + + # Load modular configuration files from the /etc/nginx/conf.d directory. + # See http://nginx.org/en/docs/ngx_core_module.html#include + # for more information. + include /etc/nginx/conf.d/*.conf; + + server { + listen 443 ssl http2; + listen [::]:443 ssl http2; + root /usr/share/nginx/html/dbrepo-docs.ossdip.at; + index index.html index.htm; + server_name dbrepo-docs.ossdip.at; + ssl_certificate /etc/letsencrypt/live/dbrepo-docs.ossdip.at/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/dbrepo-docs.ossdip.at/privkey.pem; + include /etc/letsencrypt/options-ssl-nginx.conf; + ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; + + location / { + try_files $uri $uri/ =404; + } + + } + +# server { +# listen 443 ssl http2; +# listen [::]:443 ssl http2; +# root /usr/share/nginx/html/ossdip.at; +# index index.html index.htm; +# server_name ossdip.at; +# ssl_certificate /etc/letsencrypt/live/ossdip.at/fullchain.pem; +# ssl_certificate_key /etc/letsencrypt/live/ossdip.at/privkey.pem; +# include /etc/letsencrypt/options-ssl-nginx.conf; +# ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; +# +# location / { +# try_files $uri $uri/ =404; +# } +# +# } + +} diff --git a/swagger/api-query/swagger_client/models/query_brief_dto.py b/swagger/api-query/swagger_client/models/query_brief_dto.py new file mode 100644 index 0000000000000000000000000000000000000000..4eb119fd8b0efcf31ba4edf6feed9207d0cf4a13 --- /dev/null +++ b/swagger/api-query/swagger_client/models/query_brief_dto.py @@ -0,0 +1,403 @@ +# coding: utf-8 + +""" + Database Repository Query Service API + + Service that manages the queries # noqa: E501 + + OpenAPI spec version: 1.1.0-alpha + Contact: andreas.rauber@tuwien.ac.at + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + +import pprint +import re # noqa: F401 + +import six + +class QueryBriefDto(object): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'id': 'int', + 'cid': 'int', + 'dbid': 'int', + 'creator': 'UserDto', + 'execution': 'datetime', + 'query': 'str', + 'created': 'datetime', + 'query_normalized': 'str', + 'query_hash': 'str', + 'result_hash': 'str', + 'result_number': 'int', + 'last_modified': 'datetime' + } + + attribute_map = { + 'id': 'id', + 'cid': 'cid', + 'dbid': 'dbid', + 'creator': 'creator', + 'execution': 'execution', + 'query': 'query', + 'created': 'created', + 'query_normalized': 'query_normalized', + 'query_hash': 'query_hash', + 'result_hash': 'result_hash', + 'result_number': 'result_number', + 'last_modified': 'last_modified' + } + + def __init__(self, id=None, cid=None, dbid=None, creator=None, execution=None, query=None, created=None, query_normalized=None, query_hash=None, result_hash=None, result_number=None, last_modified=None): # noqa: E501 + """QueryBriefDto - a model defined in Swagger""" # noqa: E501 + self._id = None + self._cid = None + self._dbid = None + self._creator = None + self._execution = None + self._query = None + self._created = None + self._query_normalized = None + self._query_hash = None + self._result_hash = None + self._result_number = None + self._last_modified = None + self.discriminator = None + self.id = id + self.cid = cid + self.dbid = dbid + self.creator = creator + if execution is not None: + self.execution = execution + self.query = query + self.created = created + if query_normalized is not None: + self.query_normalized = query_normalized + self.query_hash = query_hash + if result_hash is not None: + self.result_hash = result_hash + if result_number is not None: + self.result_number = result_number + if last_modified is not None: + self.last_modified = last_modified + + @property + def id(self): + """Gets the id of this QueryBriefDto. # noqa: E501 + + + :return: The id of this QueryBriefDto. # noqa: E501 + :rtype: int + """ + return self._id + + @id.setter + def id(self, id): + """Sets the id of this QueryBriefDto. + + + :param id: The id of this QueryBriefDto. # noqa: E501 + :type: int + """ + if id is None: + raise ValueError("Invalid value for `id`, must not be `None`") # noqa: E501 + + self._id = id + + @property + def cid(self): + """Gets the cid of this QueryBriefDto. # noqa: E501 + + + :return: The cid of this QueryBriefDto. # noqa: E501 + :rtype: int + """ + return self._cid + + @cid.setter + def cid(self, cid): + """Sets the cid of this QueryBriefDto. + + + :param cid: The cid of this QueryBriefDto. # noqa: E501 + :type: int + """ + if cid is None: + raise ValueError("Invalid value for `cid`, must not be `None`") # noqa: E501 + + self._cid = cid + + @property + def dbid(self): + """Gets the dbid of this QueryBriefDto. # noqa: E501 + + + :return: The dbid of this QueryBriefDto. # noqa: E501 + :rtype: int + """ + return self._dbid + + @dbid.setter + def dbid(self, dbid): + """Sets the dbid of this QueryBriefDto. + + + :param dbid: The dbid of this QueryBriefDto. # noqa: E501 + :type: int + """ + if dbid is None: + raise ValueError("Invalid value for `dbid`, must not be `None`") # noqa: E501 + + self._dbid = dbid + + @property + def creator(self): + """Gets the creator of this QueryBriefDto. # noqa: E501 + + + :return: The creator of this QueryBriefDto. # noqa: E501 + :rtype: UserDto + """ + return self._creator + + @creator.setter + def creator(self, creator): + """Sets the creator of this QueryBriefDto. + + + :param creator: The creator of this QueryBriefDto. # noqa: E501 + :type: UserDto + """ + if creator is None: + raise ValueError("Invalid value for `creator`, must not be `None`") # noqa: E501 + + self._creator = creator + + @property + def execution(self): + """Gets the execution of this QueryBriefDto. # noqa: E501 + + + :return: The execution of this QueryBriefDto. # noqa: E501 + :rtype: datetime + """ + return self._execution + + @execution.setter + def execution(self, execution): + """Sets the execution of this QueryBriefDto. + + + :param execution: The execution of this QueryBriefDto. # noqa: E501 + :type: datetime + """ + + self._execution = execution + + @property + def query(self): + """Gets the query of this QueryBriefDto. # noqa: E501 + + + :return: The query of this QueryBriefDto. # noqa: E501 + :rtype: str + """ + return self._query + + @query.setter + def query(self, query): + """Sets the query of this QueryBriefDto. + + + :param query: The query of this QueryBriefDto. # noqa: E501 + :type: str + """ + if query is None: + raise ValueError("Invalid value for `query`, must not be `None`") # noqa: E501 + + self._query = query + + @property + def created(self): + """Gets the created of this QueryBriefDto. # noqa: E501 + + + :return: The created of this QueryBriefDto. # noqa: E501 + :rtype: datetime + """ + return self._created + + @created.setter + def created(self, created): + """Sets the created of this QueryBriefDto. + + + :param created: The created of this QueryBriefDto. # noqa: E501 + :type: datetime + """ + if created is None: + raise ValueError("Invalid value for `created`, must not be `None`") # noqa: E501 + + self._created = created + + @property + def query_normalized(self): + """Gets the query_normalized of this QueryBriefDto. # noqa: E501 + + + :return: The query_normalized of this QueryBriefDto. # noqa: E501 + :rtype: str + """ + return self._query_normalized + + @query_normalized.setter + def query_normalized(self, query_normalized): + """Sets the query_normalized of this QueryBriefDto. + + + :param query_normalized: The query_normalized of this QueryBriefDto. # noqa: E501 + :type: str + """ + + self._query_normalized = query_normalized + + @property + def query_hash(self): + """Gets the query_hash of this QueryBriefDto. # noqa: E501 + + + :return: The query_hash of this QueryBriefDto. # noqa: E501 + :rtype: str + """ + return self._query_hash + + @query_hash.setter + def query_hash(self, query_hash): + """Sets the query_hash of this QueryBriefDto. + + + :param query_hash: The query_hash of this QueryBriefDto. # noqa: E501 + :type: str + """ + if query_hash is None: + raise ValueError("Invalid value for `query_hash`, must not be `None`") # noqa: E501 + + self._query_hash = query_hash + + @property + def result_hash(self): + """Gets the result_hash of this QueryBriefDto. # noqa: E501 + + + :return: The result_hash of this QueryBriefDto. # noqa: E501 + :rtype: str + """ + return self._result_hash + + @result_hash.setter + def result_hash(self, result_hash): + """Sets the result_hash of this QueryBriefDto. + + + :param result_hash: The result_hash of this QueryBriefDto. # noqa: E501 + :type: str + """ + + self._result_hash = result_hash + + @property + def result_number(self): + """Gets the result_number of this QueryBriefDto. # noqa: E501 + + + :return: The result_number of this QueryBriefDto. # noqa: E501 + :rtype: int + """ + return self._result_number + + @result_number.setter + def result_number(self, result_number): + """Sets the result_number of this QueryBriefDto. + + + :param result_number: The result_number of this QueryBriefDto. # noqa: E501 + :type: int + """ + + self._result_number = result_number + + @property + def last_modified(self): + """Gets the last_modified of this QueryBriefDto. # noqa: E501 + + + :return: The last_modified of this QueryBriefDto. # noqa: E501 + :rtype: datetime + """ + return self._last_modified + + @last_modified.setter + def last_modified(self, last_modified): + """Sets the last_modified of this QueryBriefDto. + + + :param last_modified: The last_modified of this QueryBriefDto. # noqa: E501 + :type: datetime + """ + + self._last_modified = last_modified + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(QueryBriefDto, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, QueryBriefDto): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/swagger/api-query/test/test_query_brief_dto.py b/swagger/api-query/test/test_query_brief_dto.py new file mode 100644 index 0000000000000000000000000000000000000000..ea4db9996d387248051eef6c1d31ef8373425087 --- /dev/null +++ b/swagger/api-query/test/test_query_brief_dto.py @@ -0,0 +1,39 @@ +# coding: utf-8 + +""" + Database Repository Query Service API + + Service that manages the queries # noqa: E501 + + OpenAPI spec version: 1.1.0-alpha + Contact: andreas.rauber@tuwien.ac.at + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + +from __future__ import absolute_import + +import unittest + +import swagger_client +from swagger_client.models.query_brief_dto import QueryBriefDto # noqa: E501 +from swagger_client.rest import ApiException + + +class TestQueryBriefDto(unittest.TestCase): + """QueryBriefDto unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testQueryBriefDto(self): + """Test QueryBriefDto""" + # FIXME: construct object with mandatory attributes with example values + # model = swagger_client.models.query_brief_dto.QueryBriefDto() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main()