Skip to content

Commit

Permalink
Merge pull request #15 from Aut-Labs/contributions
Browse files Browse the repository at this point in the history
Contributions
  • Loading branch information
AntGe authored Dec 4, 2024
2 parents fe8f1b0 + c3c8154 commit 23a7ecf
Show file tree
Hide file tree
Showing 59 changed files with 3,342 additions and 850 deletions.
37 changes: 26 additions & 11 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 5 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,12 @@
},
"dependencies": {
"@apollo/client": "^3.9.1",
"@aut-labs/abi-types": "^0.0.86-dev",
"@aut-labs/abi-types": "^0.0.87-dev",
"@aut-labs/connector": "^0.0.205",
"@aut-labs/d-aut": "^1.0.205-dev",
"@aut-labs/sdk": "^0.0.222-dev",
"@aut-labs/sdk": "^0.0.229-dev",
"@emoji-mart/data": "^1.2.1",
"@emoji-mart/react": "^1.1.1",
"@emotion/react": "^11.11.3",
"@emotion/styled": "^11.11.0",
"@leenguyen/react-flip-clock-countdown": "^1.4.0",
Expand All @@ -51,7 +53,7 @@
"date-fns": "3.2.0",
"dateformat": "^5.0.3",
"dayjs": "^1.11.8",
"emoji-mart": "^5.5.2",
"emoji-mart": "^5.6.0",
"ethers": "^6.10.0",
"flipdown": "^0.3.2",
"graphql": "^16.8.1",
Expand Down
8 changes: 7 additions & 1 deletion src/api/contribution-types/discord-gathering.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,15 @@ import {
export class DiscordGatheringContributionProperties extends TaskContributionProperties {
channelId: string;
duration: number;
guildId: string;
roles: string[];

constructor(data: DiscordGatheringContributionProperties) {
super(data);
this.channelId = data.channelId;
this.duration = data.duration;
this.guildId = data.guildId;
this.roles = data.roles;
}
}

Expand All @@ -27,7 +31,9 @@ export class DiscordGatheringContribution<
description: taskContribution.description,
properties: {
duration: taskContribution.properties.duration,
channelId: taskContribution.properties.channelId
channelId: taskContribution.properties.channelId,
guildId: taskContribution.properties.guildId,
roles: taskContribution.properties.roles
}
} as BaseNFTModel<any>;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,18 @@ import {
TaskContributionProperties
} from "@aut-labs/sdk";

export class JoinDiscordTaskContributionProperties extends TaskContributionProperties {
export class JoinDiscordContributionProperties extends TaskContributionProperties {
guildId: string;
inviteUrl: string;
constructor(data: JoinDiscordTaskContributionProperties) {
constructor(data: JoinDiscordContributionProperties) {
super(data);
this.guildId = data.guildId;
this.inviteUrl = data.inviteUrl;
}
}

export class JoinDiscordContribution<
T = JoinDiscordTaskContributionProperties
T = JoinDiscordContributionProperties
> extends TaskContributionNFT<T> {
static getContributionNFT(
contribution: JoinDiscordContribution
Expand All @@ -23,16 +25,18 @@ export class JoinDiscordContribution<
name: taskContribution.name,
description: taskContribution.description,
properties: {
inviteUrl: taskContribution.properties.inviteUrl,
guildId: taskContribution.properties.guildId,
inviteUrl: taskContribution.properties.inviteUrl
}
} as BaseNFTModel<any>;
}

constructor(
data: JoinDiscordContribution<T> = {} as JoinDiscordContribution<T>
) {
super(data);
this.properties = new JoinDiscordTaskContributionProperties(
data.properties as JoinDiscordTaskContributionProperties
this.properties = new JoinDiscordContributionProperties(
data.properties as JoinDiscordContributionProperties
) as T;
}

Expand Down
54 changes: 54 additions & 0 deletions src/api/contribution-types/discord-poll-model.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import {
BaseNFTModel,
TaskContributionNFT,
TaskContributionProperties
} from "@aut-labs/sdk";

export class DiscordPollContributionProperties extends TaskContributionProperties {
channelId: string;
duration: string;
guildId: string;
options: { option: string; emoji: string }[];
roles: string[];

constructor(data: DiscordPollContributionProperties) {
super(data);
this.channelId = data.channelId;
this.duration = data.duration;
this.guildId = data.guildId;
this.options = data.options || [];
this.roles = data.roles;
}
}

export class DiscordPollContribution<
T = DiscordPollContributionProperties
> extends TaskContributionNFT<T> {
static getContributionNFT(
contribution: DiscordPollContribution
): BaseNFTModel<any> {
const taskContribution = new DiscordPollContribution(contribution);
return {
name: taskContribution.name,
description: taskContribution.description,
properties: {
duration: taskContribution.properties.duration,
channelId: taskContribution.properties.channelId,
guildId: taskContribution.properties.guildId,
options: taskContribution.properties.options,
roles: taskContribution.properties.roles
}
} as BaseNFTModel<any>;
}

constructor(
data: DiscordPollContribution<T> = {} as DiscordPollContribution<T>
) {
super(data);
this.properties = new DiscordPollContributionProperties(
data.properties as DiscordPollContributionProperties
) as T;
}

contributionType? = "Discord Polls";
}
2 changes: 1 addition & 1 deletion src/api/contribution.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ import { TaskType } from "./models/task-type";
import { OpenTaskContribution } from "./contribution-types/open-task.model";
import { DiscordGatheringContribution } from "./contribution-types/discord-gathering.model";
import { RetweetContribution } from "./contribution-types/retweet.model";
import { JoinDiscordContribution } from "./contribution-types/join-discord.model";
import { QuizTaskContribution } from "./contribution-types/quiz.model.model";
import { CommitContribution } from "./contribution-types/github-commit.model";
import { PullRequestContribution } from "./contribution-types/github-pr.model";
import { JoinDiscordContribution } from "./contribution-types/discord-join.model";

export const ContributionFactory = (
metadata: BaseNFTModel<any>,
Expand Down
Loading

0 comments on commit 23a7ecf

Please sign in to comment.