초기커밋

This commit is contained in:
2025-05-01 07:20:41 +09:00
commit 98bb2e3c5c
2747 changed files with 646947 additions and 0 deletions

View File

@@ -0,0 +1,133 @@
import uuid
import json
import datetime
import argparse
import requests
import glob, os
import sys
import re
session = requests.Session()
def change_state(server_address, access_token, quest_content_id, state):
api_url = f"{server_address}/api/v1/QuestEditor/quest-state/{quest_content_id}?state={state}"
headers = {
"Authorization": f"Bearer {access_token}"
}
response = session.patch(api_url, headers=headers)
print(json.dumps(response.json(), ensure_ascii=False, indent=4))
return response
def delete_all_quest(server_address, access_token):
api_url = f"{server_address}/api/v1/QuestEditor/summaries"
headers = {
"Authorization": f"Bearer {access_token}"
}
response = session.get(api_url, headers=headers)
for quest in response.json()["summaries"]:
questContentId = quest["questContentId"]
api_url = f"{server_address}/api/v1/QuestEditor/quest/{questContentId}"
response = session.delete(api_url, headers=headers)
if __name__ == '__main__':
parser = argparse.ArgumentParser(prog='insert-quest', description='insert quest')
parser.add_argument('--env', required=True, type=str, help=f'')
parser.add_argument('--login_id', required=True, type=str, help=f'')
parser.add_argument('--folder', required=True, type=str, help=f'')
args = parser.parse_args()
print(args.env)
print(args.login_id)
print(args.folder)
server_address = ""
if args.env == "local":
server_address="http://localhost:11000/"
elif args.env == "aws":
server_address="https://dev-ugqapi.caliverse.io:11000"
print(f'server_address: {server_address}')
api_url = f"{server_address}/api/v1/Account/dev-login-v2"
body = {
"loginAccountId": args.login_id
}
response = session.post(api_url, json=body)
access_token = response.json()["accessToken"]
user_guid = response.json()["userGuid"]
print(access_token)
delete_all_quest(server_address, access_token)
questContentId = ""
with open(f'{args.folder}/QuestContent.json', encoding='utf-8') as json_file:
json_data = json.load(json_file)
api_url = f"{server_address}/api/v1/QuestEditor/quest"
headers = {
"Authorization": f"Bearer {access_token}",
"accept-language": "ko"
}
response = session.post(api_url, json=json_data, headers=headers)
print(json.dumps(response.json(), ensure_ascii=False, indent=4))
questContentId = response.json()["questContentId"]
for file in glob.glob(f"{args.folder}/QuestDialog*.json"):
with open(file, encoding='utf-8') as json_file:
json_data = json.load(json_file)
result = re.search('\\[(.*)\\]', file)
index = result.group(1)
print(f"{file} -> {index}")
api_url = f"{server_address}/api/v1/QuestEditor/quest-dialog/{questContentId}?taskIndex={index}"
response = session.post(api_url, json=json_data, headers=headers)
print(json.dumps(response.json(), ensure_ascii=False, indent=4))
api_url = f"{server_address}/api/v1/QuestEditor/quest-image/{questContentId}?titleImageId=1&bannerImageId=2"
response = session.post(api_url, headers=headers)
print(json.dumps(response.json(), ensure_ascii=False, indent=4))
api_url = f"{server_address}/api/v1/QuestEditor/quest-state/{questContentId}?state=Test"
response = session.patch(api_url, headers=headers)
print(json.dumps(response.json(), ensure_ascii=False, indent=4))
quest_id = response.json()["questId"]
revision = response.json()["revision"]
## ingame api
api_url = f"{server_address}/api/v1/InGame/set-test-completed/{user_guid}?questId={quest_id}&revision={revision}"
response = session.post(api_url)
## web api
api_url = f"{server_address}/api/v1/QuestEditor/quest-state/{questContentId}?state=Live"
response = session.patch(api_url, json=json_data, headers=headers)
print(json.dumps(response.json(), ensure_ascii=False, indent=4))
change_state(server_address, access_token, questContentId, "Standby")
change_state(server_address, access_token, questContentId, "Editable")
response = change_state(server_address, access_token, questContentId, "Test")
questContentId = response.json()["questContentId"]
quest_id = response.json()["questId"]
revision = response.json()["revision"]
api_url = f"{server_address}/api/v1/InGame/set-test-completed/{user_guid}?questId={quest_id}&revision={revision}"
response = session.post(api_url)
change_state(server_address, access_token, questContentId, "Live")