o
    h                     @   s   d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZmZ d dlmZ d dlmZ d	d
lmZ G dd deZG dd deZdS )    )ValidationError)get_object_or_404)fieldsstatus)Response)
Serializer)CreatePageAliasActionCreatePageAliasIntegrityError)BadRequestError)Page   )	APIActionc                   @   s2   e Zd ZejddZejdddZejddZ	dS )"CreatePageAliasAPIActionSerializerF)required)defaultr   N)
__name__
__module____qualname__r   IntegerFielddestination_page_idBooleanField	recursive	CharFieldupdate_slug r   r   f/var/www/html/ndineBlogger/venv/lib/python3.10/site-packages/wagtail/admin/api/actions/create_alias.pyr      s    r   c                   @   s    e Zd ZeZdd Zdd ZdS )CreatePageAliasAPIActionc                 C   sB   d | d}}|rtt|dj}t||d || d| jjdS )Nr   )idr   r   )pager   parentr   user)getr   r   specificr   requestr    )selfinstancedatar   r   r   r   r   _action_from_data   s   z*CreatePageAliasAPIAction._action_from_datac              
   C   s|   |  ||}z| }W n# ty } zt|jd }~w ty/ } zt|jd d }~ww | j	|}t
|jtjdS )Nr   )r   )r'   executeDjangoValidationErrorr   message_dictr	   r
   argsviewget_serializerr   r&   r   HTTP_201_CREATED)r$   r%   r&   actionnew_pagee
serializerr   r   r   r(   (   s   
z CreatePageAliasAPIAction.executeN)r   r   r   r   r2   r'   r(   r   r   r   r   r      s    r   N)django.core.exceptionsr   r)   django.shortcutsr   rest_frameworkr   r   rest_framework.exceptionsrest_framework.responser   rest_framework.serializersr   wagtail.actions.create_aliasr   r	   wagtail.api.v2.utilsr
   wagtail.modelsr   baser   r   r   r   r   r   r   <module>   s    