SWM-99-degree / jaribean-fastapi

0 stars 1 forks source link

#52 전송 보장 해결을 위한 로직 생성 #57

Closed psy-choi closed 12 months ago

psy-choi commented 12 months ago

52 전송 보장 해결을 위한 로직 생성

  1. Enum 타입으로 FCM status 생성
  2. changeFCMLoggingStatusReceive를 통해 fcm 콜백 함수 생성
  3. FCM 요청 시 로깅 데이터 만드는 함수 생성
class FCMStatus(Enum):
    FIRST = 1
    SECOND = 2
    FAIL = 3
    SUCCESS = 0

def changeFCMLoggingStatusReceive(loggingId):
    collection = mongodb.client["jariBean"]["fcmlogging"]

    changeStatus = {
        "$set" : {
            "status" : FCMStatus.SUCCESS.value
        }
    }

    collection.update_one({"_id" : ObjectId(loggingId)}, changeStatus)

def sendFCMLogging(message, userId, receiveId):
    collection = mongodb.client["jariBean"]["fcmlogging"]

    data = {
        "sendId" : userId,
        "receiveId" : receiveId,
        "fcmMessage" : str(message),
        "status" : FCMStatus.FIRST.value
    }

    result = collection.insert_one(data)

    return result.inserted_id