[ADD] pms_api_rest: add rss_post service, datamodel and add feed_rss module in pms_api_rest depends

This commit is contained in:
Sara Lago
2023-10-17 11:14:33 +02:00
committed by Darío Lodeiros
parent e0a29a27d5
commit 4051e540de
5 changed files with 58 additions and 0 deletions

View File

@@ -15,6 +15,7 @@
"base_location",
"l10n_es_aeat",
"sql_export_excel",
"feed_rss",
],
"external_dependencies": {
"python": ["jwt", "simplejson", "marshmallow", "jose"],

View File

@@ -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

View 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)

View File

@@ -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

View 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