mirror of
https://github.com/OCA/pms.git
synced 2025-01-29 00:17:45 +02:00
[ADD] pms_api_rest: add rss_post service, datamodel and add feed_rss module in pms_api_rest depends
This commit is contained in:
committed by
Darío Lodeiros
parent
e0a29a27d5
commit
4051e540de
@@ -15,6 +15,7 @@
|
||||
"base_location",
|
||||
"l10n_es_aeat",
|
||||
"sql_export_excel",
|
||||
"feed_rss",
|
||||
],
|
||||
"external_dependencies": {
|
||||
"python": ["jwt", "simplejson", "marshmallow", "jose"],
|
||||
|
||||
@@ -61,3 +61,5 @@ from . import pms_notification
|
||||
from . import pms_reservation_message
|
||||
from . import pms_avail
|
||||
from . import pms_dashboard
|
||||
from . import feed_post
|
||||
|
||||
|
||||
15
pms_api_rest/datamodels/feed_post.py
Normal file
15
pms_api_rest/datamodels/feed_post.py
Normal file
@@ -0,0 +1,15 @@
|
||||
from marshmallow import fields
|
||||
|
||||
from odoo.addons.datamodel.core import Datamodel
|
||||
|
||||
|
||||
class FeedPost(Datamodel):
|
||||
_name ="feed.post.info"
|
||||
postId = fields.String(required=True, allow_none=False)
|
||||
title = fields.String(required=True, allow_none=False)
|
||||
link = fields.String(required=True, allow_none=False)
|
||||
description = fields.String(required=True, allow_none=False)
|
||||
publishDate = fields.String(required=True, allow_none=False)
|
||||
author = fields.String(required=True, allow_none=False)
|
||||
imageUrl = fields.String(required=True, allow_none=False)
|
||||
|
||||
@@ -43,3 +43,4 @@ from . import pms_notification_service
|
||||
from . import pms_avail_service
|
||||
from . import pms_user_service
|
||||
from . import pms_dashboard_service
|
||||
from . import feed_post_service
|
||||
|
||||
39
pms_api_rest/services/feed_post_service.py
Normal file
39
pms_api_rest/services/feed_post_service.py
Normal file
@@ -0,0 +1,39 @@
|
||||
from odoo.addons.base_rest import restapi
|
||||
from odoo.addons.base_rest_datamodel.restapi import Datamodel
|
||||
from odoo.addons.component.core import Component
|
||||
|
||||
|
||||
class PmsFeedRss(Component):
|
||||
_inherit = "base.rest.service"
|
||||
_name = "pms.feed.rss.service"
|
||||
_usage = "feed-posts"
|
||||
_collection = "pms.services"
|
||||
|
||||
@restapi.method(
|
||||
[
|
||||
(
|
||||
[
|
||||
"/",
|
||||
],
|
||||
"GET",
|
||||
)
|
||||
],
|
||||
output_param=Datamodel("feed.post.info", is_list=True),
|
||||
auth="jwt_api_pms",
|
||||
)
|
||||
def get_feed_posts(self):
|
||||
result_rss = []
|
||||
PmsFeedRss = self.env.datamodels["feed.post.info"]
|
||||
for rss in self.env["rss.post"].search([], limit=5, order='publish_date desc'):
|
||||
result_rss.append(
|
||||
PmsFeedRss(
|
||||
postId=rss.post_id,
|
||||
title=rss.title,
|
||||
link=rss.link,
|
||||
description=rss.description,
|
||||
publishDate=str(rss.publish_date),
|
||||
author=rss.author if rss.author else "",
|
||||
imageUrl=rss.image_url if rss.image_url else "",
|
||||
)
|
||||
)
|
||||
return result_rss
|
||||
Reference in New Issue
Block a user